Integrating Semantically Configurable State-machine Models in a C Programming Environment
MetadataShow full item record
Model-driven engineering is a popular software-development methodology, which requires suitable domain-specific modelling languages (DSLs) to create models. A DSL requires flexible semantics depending on the domain knowledge. Among DSLs, Big-Step Modelling Languages (BSML) is a family of state-machine modelling languages that vary semantically. In BSML, a model can respond to an environmental input with a big-step which comprises a sequence of small-steps, each of which represents the execution of a set of transitions. The semantics of BSMLs are decomposed into mostly orthogonal semantic aspects with a wide range of semantic options. With configurable semantics, the modeller is able to choose the proper option for each semantic aspect, thus to fulfil their per domain/model semantic requirements. In this thesis we present BSML-mbeddr, a state-machine modelling language with hierarchical states, concurrent regions and configurable semantics, which has implemented a large subset of BSML within the mbeddr C programming language environment. mbeddr is a DSL workbench which provides a tool suite that supports the incremental construction of modular DSLs on top of C, together with a set of predefined DSLs. By implementing on mbeddr, BSML-mbeddr is integrated into mbeddr-C that supports programs made with heterogeneous languages, including a combination of programming language and modelling language.