Massif - the love child of Matlab Simulink and Eclipse Ákos Horváth , István Ráth and Rodrigo Rizzi Starr (ahorvath@mit.bme.hu) Budapest University of Technology and Economics Embraer S.A. IncQuery Labs Ltd. Eclipsecon 2015 Department of Measurement and Information Systems
Outline of the talk Main Contributors Motivation and background o Ábel Hegedüs Integration with Matlab Simulink o Rodrigo Rizzi Starr Massif o Márton Búr • Overview o Lincoln • Architecture Nascimento Feature set o Róbert Dóczi • Import/export o Samoel Mirachi • OSLC interface o István Ráth o Ákos Horváth Conclusion • Current status • Future work Eclipsecon 2015 2
Background: Matlab Simulink Matlab : multi-paradigm numerical computation o matrix operations, algorithm development, data visualization etc. Simulink : dataflow modeling environment o Modeling and simulating dynamic systems o Block diagram based Large user base > 1M o Automotive o Avionics o Railway o Etc. Eclipsecon 2015 3
Motivation: yet another tool integration Started in 2011 (as a second iteration) o Provide HW-SW allocation for early simulation of avionics systems o Input: Low-level Simulink libraries o Output: Integrated HW-SW Simulink model Allocation defined on high abstraction level Eclipse o Hierarchical graph based visualizations yFiles + EMF-IncQuery Viewers o On-the-fly model validation EMF-IncQuery o Generic bridge between Matlab Simulink and Eclipse Massif Eclipsecon 2015 4
Massif Integrating Eclipse and Matlab Simulink Eclipsecon 2015
Massif – Eclipse-Matlab Simulink bridge Generic Bridge between Matlab Simulink and Eclipse o Import/Export Matlab Simulink systems and libraries o Traceability for incremental processing o Multiple import options for different usage scenarios • e.g., analysis or allocation User-friendly EMF representation o Manipulating systems/libraries directly on EMF level o Support for easier navigability Works with Matlab license server o Can connect to a running Matlab instance Pure Java realization, EPL license o Project specific constraint! Eclipsecon 2015 6
Massif- architecture overview Communicating with Matlab Matlab Simulink Commads/ results o Java RMI based Matlab communication Matlab Command System o Server initialized within Evaluator Server Matlab • Java Matlab Interface Commads/ results traceability o Works with license server Generic EMF metamodel Matlab Comand Metamodel Processor o EMF level operations [Ecore] translated into instance High level Matlab commands operations Matlab o Same library mechanism as System in Matlab Simulink [EMF] Eclipse o FQN based traceability Eclipsecon 2015 7
Feature set What Massif can do Eclipsecon 2015
Import/export models DEMO Tool configuration and initialization Import and export of Matlab Simulink systems o Import strategies Adding/deleting an element to/from the EMF model o Incremental refreshing Eclipsecon 2015 9
Shallow import option Only blocks within non-referred systems are imported hierarchically System A Library A System A Block Block 1 Block 1 Lib1 Model Model Block Block Reference Reference 2 2 block block Block Block 4 3 System B Matlab Simulink – system Eclipse - EMF Eclipsecon 2015 10
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 System A Library A System A Block Block 1 Block 1 Lib1 Model Model Block Block Reference Reference 2 2 block block System B Block Block Block Block 4 3 4 3 System B Matlab Simulink – system Eclipse - EMF Eclipsecon 2015 12
Flattening import option Each model reference block is imported as though it was a subsystem System A Library A System A Block Block 1 Block 1 Lib1 Model Model Block Block Reference Reference 2 2 block block System B Block Block Block Block 4 3 4 3 System B Matlab Simulink – system Eclipse - EMF Eclipsecon 2015 13
Flattening import option Each model reference block is imported as though it was a subsystem System A Library A System A Block Block 1 Block 1 Lib1 Model Block Block Reference 2 2 block Block Block Block Block 4 3 4 3 System B Matlab Simulink – system Eclipse - EMF Eclipsecon 2015 14
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) System A Library A System A Library A Block Block 1 Block 1 Block Lib1 Lib1 Model Model Block Block Reference Reference 2 2 block block System B Block Block Block Block 4 3 4 3 System B Matlab Simulink – system Eclipse - EMF Eclipsecon 2015 15
Additional Features Import Filters o For leaving out unwanted elements/details from imported models Bus creator and selector configuration o Configured via string (fqn like) in Matlab Simulink o Use EMF EReferences to define and Massif automatically calculates configuration Easier Block-to-Block navigability o Derived EReferences defined by EMF-IncQuery Eclipsecon 2015 16
OSLC API DEMO Open Services for Matlab Simulink Queries /results Lifecycle Collaboration Matlab (OSLC) Matlab Command System o API for tool integration Evaluator Server Queries/ Live OSLC API for Matlab results Simulink Comand o Dynamically executes Eclipse Lyo Evaluator queries directly on the Matlab side Queries/ results o Uses the same Command Matlab Evaluator Server System o Based on Eclipse Lyo resource Apache Tomcat Eclipsecon 2015 17
Conclusions What we have done and where to move forward Eclipsecon 2015
Conclusions Initial version is out o Basic import/export features supported o EMF level handling of Simulink models Experience o Avionics • Largest model took ~2 hours o Automotive • 5k elements within minutes o Typical application scenarios • Offline processing of EMF representations • Library import instance model generation on EMF side Eclipsecon 2015 19
Final points The examples and more details are available form o https://github.com/FTSRG/massif Version 0.4 is available o http://incquery.net/update/massif/release/site/ o 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! o To what direction should we enhance Massif? Eclipsecon 2015 20
Evaluate the sessions Sign in: www.eclipsecon.org +1 0 -1 Eclipsecon 2015
Recommend
More recommend