Massif – the love child of Matlab Simulink and Eclipse

With Massif, Eclipse tool builders can access systems and libraries as EMF models.

Matlab Simulink is one of the most widely used modeling frameworks for embedded and safety-critical system development. However, using Matlab Simulink and Java-based tools together has always been a challenging task, due to Matlab’s proprietary file formats (e.g., MDL and SLX) that may change between versions, and the lack of a high-level Java API for processing and querying systems and libraries from third party tools.

To overcome these limitations, we present the open source Massif framework, a live bridge for importing/exporting a Matlab Simulink system models into/from Eclipse. Live means that Massif can directly connect to a running Matlab instance using the command line interface. With Massif, Eclipse tool builders can access systems and libraries as EMF models.

An important unique feature of Massif is that it respects the library linking and model referencing mechanism of Matlab Simulink, thus it supports both partial and complete imports. Moreover, Massif can also be integrated into a standards-compliant tool chain via an OSLC interface, built using Eclipse Lyo.

The highlights of the talk are:

Flexibility. We show how Massif can support different model import scenarios, such as deep model hierarchy import, multiple copies of used library subsystems, etc.

Incremental imports and exports. We demonstrate the incremental import feature, which can reuse already imported Simulink systems to avoid the regeneration of already converted EMF models. We also show how these can be re-exported back to Simulink with the click of a button.

A user-friendly EMF model for Simulink. We highlight how complex Simulink modeling constructs (such as bus creators/selectors and bus objects) can be much more easily defined directly using the EMF model, rather than in Simulink. Furthermore, Massif supports some built-in query-based derived features (supported by EMF-IncQuery) to make understanding and working with complex Simulink models even more easier.

Massif uses the MATLAB command-line API recommended by MathWorks for accessing Simulink model information. Massif was developed in collaboration between the Fault Tolerant Systems Research Group of the Budapest University of Technology and Economics, Embraer S.A. and IncQuery Labs Ltd, and partially funded by the CONCERTO EU Artemis project.