Section: New Software and Platforms

EMF Views (Model Views)

URL: https://github.com/atlanmod/emfviews

The Eclipse Modeling Framework (EMF) is widely used in the Eclipse community: defining domain models and generating corresponding source code, modeling software architectures, specifying DSL concepts or simply representing software/user data in different contexts. This implies that any software project involves a large number of heterogeneous but interrelated EMF models. To make matters worse, not all participants in the project should have the same kind of access/views on the models. Some users only need to see some parts of one model, others have to get the full model extended with data from another model, or simply access to a combination of information coming from different interconnected models. Up to now, creating such perspectives transparently in EMF was almost impossible. Based on the unquestionable success/usefulness of database views to solve similar problems in databases, EMF Views aims to bring the same concept to the modeling world. Thanks to the three main constructs (inspired from SQL) offered by the tool, designers can create new model views: SELECTing a subset of elements from a model, PROJECTing only some of the properties of those elements and/or JOINing them with elements from other models. A model view is a special type of model whose instances are directly computed at runtime based on the model view definition and concerned actual model(s). EMF Views has been initially developed in the context of the TEAP industrial project http://www.teap-project.org/ that ended in November 2014, by showing different possible applications of model views including:

  • Software architect/developer views relating UML design models and Java code models (cf. Eclipse MoDisco).

  • Enterprise architect views linking (BPMN) business process models, (ReqIF) requirements models and (TOGAF) architecture models.

  • View transformation using dedicated technologies (e.g. Eclipse ATL).

  • Report generation from views, etc.

The EMF Views prototype is currently being re-used and further developed, in a (meta)model extension context this time, within the ongoing MoNoGe industrial project. The objective of this present work is to propose a simple base generic (meta)model extension mechanism, relying on EMF Views capabilities, that could be deployed in different scenarios where (meta)model extension is required (e.g. metamodel evolution, model integration, etc.)

A presentation of EMF Views tooks place at EclipseCon 2014 (https://www.eclipsecon.org/na2014/session/modeling-symposium ), held in San Francisco, California, U.S.A