Structuring the State and Behavior of ASMs: Introducing a Trait-Based Construct for Abstract State Machine Languages

Publication
7th International Conference on Rigorous State-Based Methods (ABZ’20)

Abstract

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.

Document

Reference

% BibTex
@inproceedings{paulweber2020abz,
  title        = {{Structuring the State and Behavior of ASMs: Introducing a Trait-Based Construct for Abstract State Machine Languages}},
  author       = {Paulweber, Philipp and Pescosta, Emmanuel and Zdun, Uwe},
  booktitle    = {7th International Conference on Rigorous State-Based Methods (ABZ'20)},
  series       = {Lecture Notes in Computer Science (LNCS) 12071},
  pages        = {237--243},
  year         = {2020},
  organization = {Springer}
}

Related