Prototyping Formal System Models with Active Objects

Eduard Kamburjan
(Technische Universität Darmstadt, Germany)
Reiner Hähnle
(Technische Universität Darmstadt, Germany)

We propose active object languages as a development tool for formal system models of distributed systems. Additionally to a formalization based on a term rewriting system, we use established Software Engineering concepts, including software product lines and object orientation that come with extensive tool support. We illustrate our modeling approach by prototyping a weak memory model. The resulting executable model is modular and has clear interfaces between communicating participants through object-oriented modeling. Relaxations of the basic memory model are expressed as self-contained variants of a software product line. As a modeling language we use the formal active object language ABS which comes with an extensive tool set. This permits rapid formalization of core ideas, early validity checks in terms of formal invariant proofs, and debugging support by executing test runs. Hence, our approach supports the prototyping of formal system models with early feedback.

In Massimo Bartoletti and Sophia Knight: Proceedings 11th Interaction and Concurrency Experience (ICE 2018), Madrid, Spain, June 20-21, 2018, Electronic Proceedings in Theoretical Computer Science 279, pp. 52–67.
Published: 4th October 2018.

ArXived at: https://dx.doi.org/10.4204/EPTCS.279.7 bibtex PDF
References in reconstructed bibtex, XML and HTML format (approximated).
Comments and questions to: eptcs@eptcs.org
For website issues: webmaster@eptcs.org