Megamodelling with NGA multimodels
Vadim Zaytsev · 2017
One of the contemporary methods of tackling complexity and obscurity of information systems is megamodelling: creating explicit models that express relations between software artefacts, languages and transformations. Such megamodels are capable of encapsulating architectural knowledge of a system while retaining the ability to ``zoom in'' and provide implementation details whenever needed, up to and including providing links to concrete assets like files and tools. There are many approaches to megamodelling yet none as widely accepted as UML in software modelling or as (E)BNF in the grammarware technological space. In this paper, we propose a methodology to model the zooming feature of megamodels explicitly, without fixing the depth up front, and explain why a behavioural aspect is required in many circumstances. The three aspects we propose are Nodes, Graphs and Automata (NGA for short), representing the abstract view on an architectural entity, a more structurally detailed view and a dynamically behaving executable model, respectively. There were none prior (mega)modelling approaches to cover all three such aspects. The NGA approach to megamodelling allows to add behavioural properties to the specifications of information systems while keeping all the functionality of a usual megamodelling methodology (abstraction, navigation, traceability and resolution). We provide a range of case studies to justify bearing with the added complexity.