Urml: A textual toolkit for teaching model-driven development for reactive systems
education , model-driven development
Modelling is widely used in traditional engineering. Models also serve as the founda- tion of theoretical computer science—from computational models to formal languages. However, even though software designers use formal systems of software, a dominant modelling methodology—model-driven development (MDD)—has not yet penetrated into the industry. This can be attributed to the practitioners’ flawed understanding of the benefits of MDD, the practitioners’ programming-centric mindset, and current complex and expensive tools. Thus, this project aims at providing education and simple tools for the public to appreciate MDD. The product of this project is Urml, which is an educational toolkit for utilizing MDD to develop models for reactive sys- tems. There are four steps in using this toolkit: first, one specifies the metamodel that serves as the language to build models; secondly, one builds a model for reactive systems using the language that one has built; thirdly, one analyzes the model for cor- rectness and consistency; and fourthly, one executes the model for testing through a custom-made interpreter. These four steps—(1) language design, (2) model building, (3) model analysis, and (4) model execution—serve as the pillar of MDD and thus provide students a comprehensive overview of what MDD entails. This toolkit is com- plemented with identifications of extensions and customizations suitable as student projects in a graduate course in MDD.