Massif - the love child of Matlab Simulink and Eclipse kos Horvth , - - PowerPoint PPT Presentation

massif the love child of
SMART_READER_LITE
LIVE PREVIEW

Massif - the love child of Matlab Simulink and Eclipse kos Horvth , - - PowerPoint PPT Presentation

Massif - the love child of Matlab Simulink and Eclipse kos Horvth , Istvn Rth and Rodrigo Rizzi Starr (ahorvath@mit.bme.hu) Budapest University of Technology and Economics Embraer S.A. IncQuery Labs Ltd. Eclipsecon 2015 Department of


slide-1
SLIDE 1 Eclipsecon 2015 Budapest University of Technology and Economics Department of Measurement and Information Systems Embraer S.A. IncQuery Labs Ltd.

Massif - the love child of Matlab Simulink and Eclipse

Ákos Horváth, István Ráth and Rodrigo Rizzi Starr (ahorvath@mit.bme.hu)

slide-2
SLIDE 2 Eclipsecon 2015

Outline of the talk

2

Motivation and background

Integration with Matlab Simulink

Massif

  • Overview
  • Architecture

Feature set

  • Import/export
  • OSLC interface

Conclusion

  • Current status
  • Future work
  • Main Contributors
  • Ábel Hegedüs
  • Rodrigo Rizzi

Starr

  • Márton Búr
  • Lincoln

Nascimento

  • Róbert Dóczi
  • Samoel Mirachi
  • István Ráth
  • Ákos Horváth
slide-3
SLIDE 3 Eclipsecon 2015

Background: Matlab Simulink

  • Matlab: multi-paradigm numerical computation
  • matrix operations, algorithm development, data

visualization etc.

  • Simulink: dataflow modeling environment
  • Modeling and simulating

dynamic systems

  • Block diagram based
  • Large user base > 1M
  • Automotive
  • Avionics
  • Railway
  • Etc.
3
slide-4
SLIDE 4 Eclipsecon 2015

Motivation: yet another tool integration

  • Started in 2011 (as a second iteration)
  • Provide HW-SW allocation for early simulation of avionics

systems

  • Input: Low-level Simulink libraries
  • Output: Integrated HW-SW Simulink model
  • Allocation defined on high abstraction level

 Eclipse

  • Hierarchical graph based visualizations

 yFiles + EMF-IncQuery Viewers

  • On-the-fly model validation

 EMF-IncQuery

  • Generic bridge between Matlab Simulink and Eclipse

 Massif

4
slide-5
SLIDE 5 Eclipsecon 2015

Massif

Integrating Eclipse and Matlab Simulink

slide-6
SLIDE 6 Eclipsecon 2015

Massif – Eclipse-Matlab Simulink bridge

  • Generic Bridge between Matlab Simulink and Eclipse
  • Import/Export Matlab Simulink systems and libraries
  • Traceability for incremental processing
  • Multiple import options for different usage scenarios
  • e.g., analysis or allocation
  • User-friendly EMF representation
  • Manipulating systems/libraries directly on EMF level
  • Support for easier navigability
  • Works with Matlab license server
  • Can connect to a running Matlab instance
  • Pure Java realization, EPL license
  • Project specific constraint!
6
slide-7
SLIDE 7 Eclipsecon 2015

Massif- architecture overview

7

Eclipse Matlab Simulink

Matlab Metamodel [Ecore] Matlab Command Evaluator Server Comand Processor Matlab System [EMF]

instance High level
  • perations
Commads/ results

Matlab System

Commads/ results traceability

  • Communicating with Matlab
  • Java RMI based

communication

  • Server initialized within

Matlab

  • Java Matlab Interface
  • Works with license server
  • Generic EMF metamodel
  • EMF level operations

translated into Matlab commands

  • Same library mechanism as

in Matlab Simulink

  • FQN based traceability
slide-8
SLIDE 8 Eclipsecon 2015

Feature set

What Massif can do

slide-9
SLIDE 9 Eclipsecon 2015

DEMO

  • Tool configuration and initialization
  • Import and export of Matlab Simulink systems
  • Import strategies
  • Adding/deleting an element to/from the EMF

model

  • Incremental refreshing

Import/export models

9
slide-10
SLIDE 10 Eclipsecon 2015

Matlab Simulink – system

System A

Block 1 Block 2 Model Reference block

Shallow import option

  • Only blocks within non-referred systems are

imported hierarchically

10

Eclipse - EMF

System B

Block 4 Block 3

Library A

Block Lib1

System A

Block 1 Block 2 Model Reference block

slide-11
SLIDE 11 Eclipsecon 2015

Matlab Simulink – system

System B

Block 4 Block 3

System A

Block 1 Block 2 Model Reference block

Deep import option

  • Each block inside each subsystem is imported. Each

referenced model is imported as an individual model with direct model referencing in the parent model

12

Eclipse - EMF

Library A

Block Lib1

System A

Block 1 Block 2 Model Reference block

System B

Block 4 Block 3

slide-12
SLIDE 12 Eclipsecon 2015

Matlab Simulink – system

Flattening import option

  • Each model reference block is imported as though

it was a subsystem

13

Eclipse - EMF

System A

Block 1 Block 2 Model Reference block

System B

Block 4 Block 3

Library A

Block Lib1

System A

Block 1 Block 2 Model Reference block

System B

Block 4 Block 3

slide-13
SLIDE 13 Eclipsecon 2015

Matlab Simulink – system

System A

Flattening import option

  • Each model reference block is imported as though

it was a subsystem

14

Eclipse - EMF Block 1 Block 2 Model Reference block

System B

Block 4 Block 3

Library A

Block Lib1

System A Block

1 Block 2 Block 4 Block 3

slide-14
SLIDE 14 Eclipsecon 2015

Matlab Simulink – system

Referencing import option

  • For blocks with active library links, each source library

is imported once as an individual model (but may be referenced multiple times)

15

Eclipse - EMF

System A

Block 1 Block 2 Model Reference block

System B

Block 4 Block 3

Library A

Block Lib1

System A

Block 1 Block 2 Model Reference block

System B

Block 4 Block 3

Library A

Block Lib1

slide-15
SLIDE 15 Eclipsecon 2015

Additional Features

  • Import Filters
  • For leaving out unwanted elements/details

from imported models

  • Bus creator and selector configuration
  • Configured via string (fqn like) in

Matlab Simulink

  • Use EMF EReferences to define and

Massif automatically calculates configuration

  • Easier Block-to-Block navigability
  • Derived EReferences defined by EMF-IncQuery
16
slide-16
SLIDE 16 Eclipsecon 2015

DEMO

  • Open Services for

Lifecycle Collaboration (OSLC)

  • API for tool integration
  • Live OSLC API for Matlab

Simulink

  • Dynamically executes

queries directly on the Matlab side

  • Uses the same Command

Evaluator Server

  • Based on Eclipse Lyo

OSLC API

17

Apache Tomcat Matlab Simulink

Comand Evaluator Matlab System resource

Queries/ results

Matlab System

Queries /results Queries/ results

Matlab Command Evaluator Server Eclipse Lyo

slide-17
SLIDE 17 Eclipsecon 2015

Conclusions

What we have done and where to move forward

slide-18
SLIDE 18 Eclipsecon 2015

Conclusions

  • Initial version is out
  • Basic import/export features supported
  • EMF level handling of Simulink models
  • Experience
  • Avionics
  • Largest model took ~2 hours 
  • Automotive
  • 5k elements within minutes 
  • Typical application scenarios
  • Offline processing of EMF representations
  • Library import  instance model generation on EMF side
19
slide-19
SLIDE 19 Eclipsecon 2015

Final points

  • The examples and more details are available form
  • https://github.com/FTSRG/massif
  • Version 0.4 is available
  • http://incquery.net/update/massif/release/site/
  • Contributors:
  • Main: BME-FTSRG, Embraer S.A.
  • Auxilliary: IncQuery Labs Ltd.
  • Supporting projects: Trans-IMA, Concerto (EU-Artemis)
  • Your contributions (feedback, forum posts, ideas,

bugzillas, patches) are very welcome!

  • To what direction should we enhance Massif?
20
slide-20
SLIDE 20 Eclipsecon 2015

+1 0 -1

Sign in: www.eclipsecon.org

Evaluate the sessions