EOQ: An Open Source Interface for a More DAMMMMN Domain-specific Model Utilization
Bjoern Annighoefer, Matthias Brünner, Bastian Luettig, Julian Schoepf
Abstract
Determinism, automation, multi-element, multi-model, multi-computer, multi-user support and neutrality (DAMMMMN) are in our opinion important qualities of domain-specific modeling, and are enablers for highly automated workflows and collaborative modeling. An improvement in any of these qualities eases the development of software using domain-specific models, and enables the design of more sophisticated Model-based Engineering Environments (MBEE). In the context of current programmatic interfaces for domain-specific models, we see room for improvement, and propose Essential Object Query (EOQ) as a generic interface between domain-specific (meta-)models and their users. This interface integrates ACID transactions, complex commands, model queries, reflection abstractions, mass data manipulation, object serialization, automation, notifications, change tracking, and a model database, such that a programmatic decoupling between models and their usage is achieved. Our interface is agnostic with respect to the programming language(s) and domain-specific modeling framework(s). A prototype is implemented with Python on top of EMF’s meta-model ECORE. An example of a signal routing application in an architecture model of a cyber-physical system is used to demonstrate our interface and to evaluate its impact on the individual DAMMMMN qualities.