2014
DOI: 10.1007/978-3-662-43652-3_5
|View full text |Cite
|
Sign up to set email alerts
|

αRby—An Embedding of Alloy in Ruby

Abstract: Abstract. We present αRby-an embedding of the Alloy language in Rubyand 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… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
5
0

Year Published

2015
2015
2024
2024

Publication Types

Select...
4
2
2

Relationship

1
7

Authors

Journals

citations
Cited by 11 publications
(5 citation statements)
references
References 12 publications
0
5
0
Order By: Relevance
“…In future work, we plan to investigate the use of Z3 to further analyse rule conditions when a policy is constructed. Another approach would be to explore αRby [5], a deep embedding of Alloy in Ruby.…”
Section: Discussionmentioning
confidence: 99%
“…In future work, we plan to investigate the use of Z3 to further analyse rule conditions when a policy is constructed. Another approach would be to explore αRby [5], a deep embedding of Alloy in Ruby.…”
Section: Discussionmentioning
confidence: 99%
“…Our original goal for this benchmarks was to be able to solve graphs with 10-15 nodes, and claim that Alloy* can be effectively used for teaching, specification animation, and small scope checking, all within the Alloy Analyzer GUI (which is one of the most common uses of the Alloy technology). These results, however, indicate that executing higher-order specifications can be feasible even for declarative programming (where a constraint solver is integrated with a programming language, e.g., [25,26]), which is very encouraging. Figure 11 shows the average number of candidate solutions Alloy* explored before producing a final output.…”
Section: Micro Benchmarksmentioning
confidence: 93%
“…Limited by the underlying constraint solvers, none of these tools can execute a higher-order constraint. In contrast, we used αRby [26] (our most recent take on this idea where we embed the entire Alloy language directly into Ruby), equipped with Alloy* as its engine, to run all our graph experiments (where αRby automatically translated input partial instances from concrete graphs, as well as solutions returned from Alloy back to Ruby objects), demonstrating how a higher-order constraint solver can be practical in this area.…”
Section: Related Workmentioning
confidence: 99%
“…But it can also indicate unintentional underspecification. According Milicevic's group [16], who present Rby, an embedding of the Alloy language in Ruby. The benefits of having a declarative specification and modeling language (backed by an automated solver) embedded in a traditional object-oriented imperative programming language.…”
Section: Related Workmentioning
confidence: 99%