αRby—An Embedding of Alloy in Ruby
Name
Jackson_aRby.pdf
Size
287.14 KB
Format
Adobe PDF
Checksum (MD5)
48c61f3a90fc3b67e04d9f93bcb0c767
Author(s) • •
Milicevic, Aleksandar
Efrati, Ido
Jackson, Daniel
Date Issued
2014
Journal
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
Abstract
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.
MIT Department
Massachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratory
Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science
Terms of Use
Creative Commons Attribution-Noncommercial-Share Alike
Persistent DSpace Link
DOI of Published Version
https://doi.org/10.1007/978-3-662-43652-3_5