Structuring the State and Behavior of ASMs: Introducing a Trait-Based Construct for Abstract State Machine Languages
Abstract State Machine (ASM) theory is a well-known state-based formal method to analyze, verify, and specify software and hardware systems. Nowadays, as in other state-based formal methods, the proposed specification languages for ASMs still lack easy-to-comprehend language constructs for type abstractions to describe reusable and maintainable specifications. Almost all built-in behaviors are implicitly defined inside a concrete ASM language implementation and thus, the behavior is hidden from the language user. In this paper, we present a new ASM syntax extension based on traits, which allows the specifier (language user) to define new type abstractions in the form of structure and behavior definitions to reuse, maintain, structure, and extend the functionality in ASM specifications. We describe the proposed language construct by defining its syntax and semantics. The decision to use a trait-based syntax extension over other object-oriented language constructs like interfaces or mixins was motivated and driven by the results of previously conducted empirical studies. Moreover, we outline details about the implementation of the trait-based syntax extension in our Corinthian Abstract State Machine (CASM) language implementation.
Top- Paulweber, Philipp
- Pescosta, Emmanuel
- Zdun, Uwe
Category |
Paper in Conference Proceedings or in Workshop Proceedings (Paper) |
Event Title |
7th International Conference on Rigorous State-Based Methods (ABZ'20) |
Divisions |
Software Architecture |
Subjects |
Software Engineering Programmiersprachen Theoretische Informatik |
Event Location |
Ulm, Germany |
Event Type |
Conference |
Event Dates |
27-29 May 2020 |
Series Name |
Lecture Notes in Computer Science 12071 |
ISSN/ISBN |
978-3-030-48076-9 |
Page Range |
pp. 237-243 |
Date |
22 May 2020 |
Export |