Demo avatar
Abstract

Brief project description

Modelling and meta-modelling assistance with Extremo

New
Evaluation

Tool Performance

We evaluate the tool performance measuring the execution time for different tasks

Boy
Evaluation

User Study

We evaluate the usefulness of Extremo perceived by engineers to construct or modify a model

Boy
Examples

Case Studies

We evaluate the usefulness of the project by presenting a set of demonstration cases.

Sites avatar
Wiki

Instructions, screenshots and video demos

Examples of how to import resources, quering, constraint interpretation and integration with a modelling tool

Eclipse avatar
Tool support

Extending the tool

... with a new assistant, a new constraint interpreter, a new search or integrate the tool with an editor

Eclipse avatar
Status

Github and published contributions

Get an installable version of the project

Logo

Extremo

Automated modelling assistance by integrating heterogeneous information sources

Ángel Mora Segura(1) | Juan de Lara(1)

Patrick Neubauer(2) | Manuel Wimmer(3)

1 | {Angel.MoraS, Juan.deLara}@uam.es | Universidad Autónoma de Madrid (Spain)
2 | patrick.neubauer@york.ac.uk | University of York (UK)
3 | wimmer@big.tuwien.ac.at | TU Wien (Austria)

A project made by MISO group in collaboration with BIG group and supported by the Ministry of Education of Spain (FPU grant FPU13/02698), the Spanish MINECO (TIN2014-52129-R), The RandD programme of the Madrid Region (S2013/ICE-3006), the Austrian agency for international mobility and cooperation in education, science and research (OeAD), by funds from the Austrian Federal Ministry of Science, Research and Economy - BMWFW (ICM-2016- 04969).

Abstract

Model-Driven Engineering (MDE) uses models as its main assets in the software development process. The structure of a model is described through a meta-model. Even though modelling and meta-modelling are recurrent activities in MDE and a vast amount of MDE tools exist nowadays, they are tasks typically performed in an unassisted way. Usually, these tools cannot extract useful knowledge available in heterogeneous information sources like XML, RDF, CSV or other models and meta-models.

We propose an approach to provide modelling and meta-modelling assistance. The approach gathers heterogeneous information sources in various technological spaces, and represents them uniformly in a common data model. This enables their uniform querying, by means of an extensible mechanism, which can make use of services, e.g., for synonym search and word sense analysis. The query results can then be easily incorporated into the (meta-)model being built. The approach has been realized in the Extremo tool, developed as an Eclipse plugin.

Extremo has been validated in the context of two domains -- production systems and process modelling -- taking into account a large and complex industrial standard for classification and product description. Further validation results indicate that the integration of Extremo in various modelling environments can be achieved with low effort, and that the tool is able to handle information from most existing technological spaces.

Integration

Handling heterogeneous sources

The tool supports models represented in Ecore/XMI, XSD/XML and ontologies. But new model representations can be supported with the definition of an extension point. To extend the tool follow the next instructions:

Eclipse > New > Other > Plugin project > ... > Finish

In the MANIFEST insert a Dependency to uam.extremo.core.extensions and to uam.extremo.core. Both dependencies give access to the core classes of Extremo.

Add an extension to extremo.core.extensions.assistant and then a new Assistant. Give the assistant a name, a class implementation, and list the file extensions the assistant will be applied to.

A new all-methods-empty class should be created implementing the IFormatAssistant class. This class needs to parse your format to our class structure (shown in the metamodel above).

Adding the dependencies
Selecting the extension
Assistant definition
Class implementation

Query Extensibility

The tool supports predicate based searches and custom searches in order to query the common data model. New model queries can be supported with the definition of an extension point. To extend the tool follow the next instructions:

Eclipse > New > Other > Plugin project > ... > Finish

In the MANIFEST insert a Dependency to uam.extremo.core.extensions and to uam.extremo.core. Both dependencies give access to the core classes of Extremo.

Add an extension to extremo.core.extensions.search and then a new Predicate Based Search / Custom Search. Give the query a name, a class implementation, and a type from the data model to indicate in which level the query will be applied to.

A new all-methods-empty class should be created implementing the ExtensiblePredicateBasedSearch/ExtensibleCustomSearch class. In the predicate based search case, this class needs to return a boolean if the parametrized element matches with a condition. The Custom Search is open to interpretation.

Integration with an Eclipse modelling tool

actions

drag and drop

extremo.ui.extensions.actions

Illustrated with the UML2 Tree Editor, Extremo has an extension point to add an action contribution to the views (1). The extension point needs to implement the method execute(IEditorPart editorPart, ISelection selection) and create new elements into the model under construction (2). Then, the Editor Part will receive the selected elements, conceptually working as a model to model transformation (3).

extremo.ui.extensions.drop

Illustrated with an example of integration between Extremo and DSL-tao (1). Extremo has an extension point to add a drop support into a Graphical Editor based on GEF (2). The extension point needs to implement a handledrop(...) method that receives the list of semantic elements dragged to the editor (3).

Status

Move to top

Get the tool

Research prototype and examples are available on Github

You can find installation details in the Wiki

Contributions

This project has already (1) contribution and (1) journal publication:

leader avatar

Automated modelling assistance by integrating heterogeneous information sources, Ángel Mora Segura, Juan de Lara, Patrick Neubauer, Manuel Wimmer. Computer Languages, Systems and Structures. JCR: 1.615 (Q2)

download
leader avatar

An Extensible Meta-modelling Assistant, Ángel Mora Segura, Ana Pescador, Juan de Lara, Manuel Wimmer. In IEEE 20th EDOC, 2016. Viena, Austria.

download slides