Prototyping Formal System Models with Active Objects

Electronic Proceedings in Theoretical Computer Science. 2018;279(Proc. ICE 2018):52-67 DOI 10.4204/EPTCS.279.7

 

Journal Homepage

Journal Title: Electronic Proceedings in Theoretical Computer Science

ISSN: 2075-2180 (Online)

Publisher: Open Publishing Association

LCC Subject Category: Science: Mathematics: Instruments and machines: Electronic computers. Computer science

Country of publisher: Australia

Language of fulltext: English

Full-text formats available: PDF

 

AUTHORS


Eduard Kamburjan ( Technische Universität Darmstadt, Germany )

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

EDITORIAL INFORMATION

Peer review

Editorial Board

Instructions for authors

Time From Submission to Publication: 21 weeks

 

Abstract | Full Text

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.