Modeling complex systems involves dealing with several heterogeneous and interrelated models defined using a variety of languages (UML, ER, BPMN, DSLs, etc.). These models must be frequently combined in different cross-domain perspectives to provide stakeholders the view of the system they need to best perform their tasks. Several model composition approaches have already been proposed addressing this problem. Nevertheless, they present some important limitations concerning efficiency, interoperability and synchronization between the base models and the composed ones.
As an alternative we introduce EMF Views, an approach coming with a dedicated language and (Eclipse-based) tooling for defining views on potentially heterogeneous models. Similarly to views in databases, model views are not materialized but instead redirect all model access and manipulation requests to the base models from which they are obtained. Thus a model view consist of a set of proxy elements plus some newly added cross-model relationships between them. Importantly, such views behave as any other models from an user perspective. The expressivity of our view definition language is comparable to select-project-join queries in relational algebra.
This approach will be presented at the ER 2015 conference as part of the paper: “EMF Views: A View Mechanism for Integrating Heterogeneous Models” by Hugo Bruneliere, Jokin Garcia, Manuel Wimmer and Jordi Cabot .
As can be seen on the overview schema below, EMF Views provides a two-step approach that explicitly separates the specification of viewpoints from the realization and handling of corresponding views. To do so, it relies on a model virtualization approach that is deployed similarly at both metamodel- and model-levels. Thus, such views are actually virtual models that act transparently as regular models via proxies to these interrelated models, but do not duplicate any of the already available data. Each view conforms to a particular viewpoint, which has been previously specified from one or several corresponding metamodels (interconnected together) as a virtual metamodel.
At design time, designers may specify a new viewpoint by choosing the concerned metamodel(s), listing the relations she/he wants to represent between them, and identifying the concepts and properties to be selected. This required information can be defined in our SQL-like DSL. The following listing shows a simple example of such a viewpoint specification. Basically, it selects and aggregates some elements (select part) from the TOGAF, BPMN & ReqIF metamodels and establishes new relations between them (from and where parts).
At runtime, once the viewpoint is specified, the user can work on querying and handling views that conform to it. To obtain such a view, she/he can choose the set of input models to be used as input data for the view. With those models and the given viewpoint, EMF Views can build the corresponding view. In order to create the view, new links have to be established between the underlying models. These links are computed from the rules expressing the combination of the corresponding metamodels at the viewpoint-level.
Please go and check out the current implementation of EMF Views as available (with some screencasts) in open source from https://github.com/atlanmod/emfviews
For more details on EMFViews, you can also read our paper (authors’ version from https://hal.inria.fr/hal-01159205/document)