αRby—An Embedding of Alloy in Ruby
Author(s)
Milicevic, Aleksandar; Efrati, Ido; Jackson, Daniel
DownloadJackson_aRby.pdf (287.1Kb)
OPEN_ACCESS_POLICY
Open Access Policy
Creative Commons Attribution-Noncommercial-Share Alike
Terms of use
Metadata
Show full item recordAbstract
We present αRby—an embedding of the Alloy language in Ruby—and demonstrate the benefits of having a declarative modeling language (backed by an automated solver) embedded in a traditional object-oriented imperative programming language. This approach aims to bring these two distinct paradigms (imperative and declarative) together in a novel way. We argue that having the other paradigm available within the same language is beneficial to both the modeling community of Alloy users and the object-oriented community of Ruby programmers. In this paper, we primarily focus on the benefits for the Alloy community, namely, how αRby provides elegant solutions to several well-known, outstanding problems: (1) mixed execution, (2) specifying partial instances, (3) staged model finding.
Date issued
2014Department
Massachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratory; Massachusetts Institute of Technology. Department of Electrical Engineering and Computer ScienceJournal
Abstract State Machines, Alloy, B, TLA, VDM, and Z
Publisher
Springer-Verlag
Citation
Milicevic, Aleksandar, Ido Efrati, and Daniel Jackson. “αRby—An Embedding of Alloy in Ruby.” Abstract State Machines, Alloy, B, TLA, VDM, and Z (2014): 56–71.
Version: Author's final manuscript
ISBN
978-3-662-43651-6
978-3-662-43652-3
ISSN
0302-9743
1611-3349