Modular modeling with a computational twist in MetaMod
Model-driven engineering (MDE) is a software development methodology that promises to alleviate the complex task of writing software. To achieve its goals, MDE makes use of models. Although models are concise representations of the knowledge in a domain, they can become large and complex. In dealing with complexity, modularity has proven to be a good ally for engineers in general software development. Inspired by this, we set to explore modularity for models. To this end, we incorporated two mechanisms: grouping and fragment abstractions. The second ingredient, in particular, gives rise to an interesting combination between modeling elements and computational elements. To test our ideas, we have implemented a prototype metamodeling language called MetaMod. To highlight MetaMod's essential features we have included a small example for train tracks.