Integrating research grade model indexing technologies to commercial modelling tools: feedback and...

30
Integrating research grade model indexing technologies to commercial modelling tools: feedback and benchmarks Marcos Almeida , Antonin Abhervé, Alessandra Bagnato SOFTEAM – France Antonio García-Domínguez, Konstantinos Barmpis UoY– UK May 2016 – Paris - ICSSEA 1 Integrating research grade model indexing technologies to commercial modelling tools: feedback and benchmarks

Transcript of Integrating research grade model indexing technologies to commercial modelling tools: feedback and...

Page 1: Integrating research grade model indexing technologies to commercial modelling tools: feedback and benchmarks

1Integrating research grade model indexing technologies to commercial modelling tools: feedback and benchmarks

Integrating research grade model indexing technologies to commercial

modelling tools: feedback and benchmarks

Marcos Almeida, Antonin Abhervé, Alessandra Bagnato SOFTEAM – France

Antonio García-Domínguez, Konstantinos Barmpis UoY– UK

May 2016 – Paris - ICSSEA

Page 2: Integrating research grade model indexing technologies to commercial modelling tools: feedback and benchmarks

Modelio for Software and System Engineering

• UML editor with 20 years’ history• SysML• MARTE• UTP• Code generation• Documentation• Teamwork

• Available under open source at Modelio.org!

May 2016 – Paris - ICSSEA 2Integrating research grade model indexing technologies to commercial modelling tools: feedback and benchmarks

Page 3: Integrating research grade model indexing technologies to commercial modelling tools: feedback and benchmarks

The MONDO Project MONDO is a STREP FP7 EU project Start: 11/2013 End: 4/2016 Total cost: 3.7M€

Challenges: Model management languages struggle with models

containing more than a few 100Ks model elements XMI is great for interoperability but its performance

is poor There is little guidance on designing large DSLs /

DSLs for large models

May 2016 – Paris - ICSSEA 3Integrating research grade model indexing technologies to commercial modelling tools: feedback and benchmarks

Page 4: Integrating research grade model indexing technologies to commercial modelling tools: feedback and benchmarks

Partner rolesUse Cases, requirements validation

Ikerlan (ES) Softeam (FR) Soft-Maint (FR) UNINOVA (PT)

Dissemination and industry standards

Open Group (UK)

Technology providers Softeam (FR) UNINOVA (PT)

Research/development ARMINES (FR) Auton. Univ of Madrid (ES) Budapest University of Technology and

Economics (HU) Univ of York (UK)

May 2016 – Paris - ICSSEA 4Integrating research grade model indexing technologies to commercial modelling tools: feedback and benchmarks

Page 5: Integrating research grade model indexing technologies to commercial modelling tools: feedback and benchmarks

May 2016 – Paris - ICSSEA 5Integrating research grade model indexing technologies to commercial modelling tools: feedback and benchmarks

From a single model to a constellation of models

Enterprise level project management

Project catalog Fragments organization Inter-projects links Versions and variants

Communication– Reports generation– Project dashboard– News and activity feeds

Shared model repository

– SVN Model Fragment repository

– RAMC Model Fragment repository

– HTTP Model Fragment repository

Constellation main features

Page 6: Integrating research grade model indexing technologies to commercial modelling tools: feedback and benchmarks

Videos on Modelio & Constellation

May 2016 – Paris - ICSSEA 6Integrating research grade model indexing technologies to commercial modelling tools: feedback and benchmarks

Page 7: Integrating research grade model indexing technologies to commercial modelling tools: feedback and benchmarks

Goals Before Mondo

Constellation knows model fragments by their names.

We did not have efficient tools dedicated to querying Models.

After Mondo We looked for a way to

know the content and organization of all elements in model fragments.

We looked for a way to query all of our models.

May 2016 – Paris - ICSSEA 7Integrating research grade model indexing technologies to commercial modelling tools: feedback and benchmarks

Page 8: Integrating research grade model indexing technologies to commercial modelling tools: feedback and benchmarks

Objectives Evaluate MONDO technologies within

Modelio Supporting large and complex model

repositories (sets of models) Supporting large collaborating teams

Should: Implement a demonstrator Document experiences gained

May 2016 – Paris - ICSSEA 8Integrating research grade model indexing technologies to commercial modelling tools: feedback and benchmarks

Page 9: Integrating research grade model indexing technologies to commercial modelling tools: feedback and benchmarks

Measures to evaluate Capability of MONDO to provide a user

friendly interface for managing ModelToModel transformations ModelToText transformations.

Capability of MONDO to provide scalable execution of transformation information.

Capability of MONDO to provide scalable execution of queries.

Capability of MONDO to provide an improved collaborative environment.

May 2016 – Paris - ICSSEA 9Integrating research grade model indexing technologies to commercial modelling tools: feedback and benchmarks

Page 10: Integrating research grade model indexing technologies to commercial modelling tools: feedback and benchmarks

Hawk A heterogeneous model indexing

framework.

May 2016 – Paris - ICSSEA 10Integrating research grade model indexing technologies to commercial modelling tools: feedback and benchmarks

Page 11: Integrating research grade model indexing technologies to commercial modelling tools: feedback and benchmarks

Hawk - Constellation Integration Integrated architecture

May 2016 – Paris - ICSSEA 11Integrating research grade model indexing technologies to commercial modelling tools: feedback and benchmarks

Page 12: Integrating research grade model indexing technologies to commercial modelling tools: feedback and benchmarks

Hawk - Constellation : Results Integration of Hawk query engine to

constellation. Capability to execute

queries on all of our models Provide an holistic view of

the composition of our repositories

May 2016 – Paris - ICSSEA 12Integrating research grade model indexing technologies to commercial modelling tools: feedback and benchmarks

Page 13: Integrating research grade model indexing technologies to commercial modelling tools: feedback and benchmarks

Hawk - Constellation : Results Introducing Statistics based on all our

models of repositories. Implemented using specific Hawk

queries

May 2016 – Paris - ICSSEA 13Integrating research grade model indexing technologies to commercial modelling tools: feedback and benchmarks

Page 14: Integrating research grade model indexing technologies to commercial modelling tools: feedback and benchmarks

Hawk - Constellation : Results Capability to provide an improved

collaborative environment. Ex : Help customer to compose a project in

constellation using Hawk query to filter available fragments,…

May 2016 – Paris - ICSSEA 14Integrating research grade model indexing technologies to commercial modelling tools: feedback and benchmarks

Page 15: Integrating research grade model indexing technologies to commercial modelling tools: feedback and benchmarks

Video on Constellation integration

May 2016 – Paris - ICSSEA 15Integrating research grade model indexing technologies to commercial modelling tools: feedback and benchmarks

Page 16: Integrating research grade model indexing technologies to commercial modelling tools: feedback and benchmarks

Benchmarks Hawk space use & indexing time Model to Text transformations

May 2016 – Paris - ICSSEA 16Integrating research grade model indexing technologies to commercial modelling tools: feedback and benchmarks

Page 17: Integrating research grade model indexing technologies to commercial modelling tools: feedback and benchmarks

Benchmark architecture

ModelioEclipse

ModelGenerator

HawkHawk local resource

Index

Model Repository

Model

EGL Transformation

Output File

DocumentGenerator

May 2016 – Paris - ICSSEA 17Integrating research grade model indexing technologies to commercial modelling tools: feedback and benchmarks

Page 18: Integrating research grade model indexing technologies to commercial modelling tools: feedback and benchmarks

Benchmarks: Hawk space use & indexing time – 1/2

Model repository 3.44 GB / 1,239,829 model elements 1M model elements of many different types Modelio

cannot load it Generated models

From 1K elements to 1M elements (most typical types: Class, Packages, Operations etc.)

Environment Machine: Dual core 2.7 GHz / 8GB RAM Dell Notebook

• This is more about trends than absolute numbers! Modelio 3.4.1b Hawk 1.0.0.201602181354

May 2016 – Paris - ICSSEA 18Integrating research grade model indexing technologies to commercial modelling tools: feedback and benchmarks

Page 19: Integrating research grade model indexing technologies to commercial modelling tools: feedback and benchmarks

Benchmarks: Hawk space use & indexing time – 2/2

Questions Is storage space and indexing time linear?

• How does it compare to Modelio storage space linearity?

How long does it take to index huge models?

May 2016 – Paris - ICSSEA 19Integrating research grade model indexing technologies to commercial modelling tools: feedback and benchmarks

Page 20: Integrating research grade model indexing technologies to commercial modelling tools: feedback and benchmarks

Results – Generated models - Trends Disk space grows linearly (good sign!) Growth is less steep than Modelio’s

Hawk tends to require less space for very big models.

May 2016 – Paris - ICSSEA 20Integrating research grade model indexing technologies to commercial modelling tools: feedback and benchmarks

Page 21: Integrating research grade model indexing technologies to commercial modelling tools: feedback and benchmarks

Results – Generated models - Trends Indexing time grows linearly (good sign!) Even if indexing may take a lot of time,

re-indexing is quite fast. On a later version, indexing is 25x faster!

May 2016 – Paris - ICSSEA 21Integrating research grade model indexing technologies to commercial modelling tools: feedback and benchmarks

Page 22: Integrating research grade model indexing technologies to commercial modelling tools: feedback and benchmarks

Results – Model repository Indexing time

4 days and 2 hours• Remember: Modelio can’t handle all these

models at the same time!! Update time

26 min• Still good for back-end tasks, like computing

stats, generating docs, etc.

May 2016 – Paris - ICSSEA 22Integrating research grade model indexing technologies to commercial modelling tools: feedback and benchmarks

Page 23: Integrating research grade model indexing technologies to commercial modelling tools: feedback and benchmarks

Results – Model repository – on a later version

Indexing time 5 hours 14 minutes (yes, 18x faster!)

• Helped optimizing Hawk for models composed of lots of small files.

Update time 50 s

• Quite good for collaborative scenarios!

May 2016 – Paris - ICSSEA 23Integrating research grade model indexing technologies to commercial modelling tools: feedback and benchmarks

Page 24: Integrating research grade model indexing technologies to commercial modelling tools: feedback and benchmarks

Model to Text transformations Document generation task (Markdown) Implemented in

MONDO: EGL (Epislon Generation Language)

Modelio: Jython

May 2016 – Paris - ICSSEA 24Integrating research grade model indexing technologies to commercial modelling tools: feedback and benchmarks

Page 25: Integrating research grade model indexing technologies to commercial modelling tools: feedback and benchmarks

Results – M2T Here’s where the use of MONDO

technologies pays the most Hawk + EGL 175 to 602 times faster than

Modelio~3.3h

~19s

May 2016 – Paris - ICSSEA 25Integrating research grade model indexing technologies to commercial modelling tools: feedback and benchmarks

Page 26: Integrating research grade model indexing technologies to commercial modelling tools: feedback and benchmarks

Video on Hawk indexing and Model to text

transformations

May 2016 – Paris - ICSSEA 26Integrating research grade model indexing technologies to commercial modelling tools: feedback and benchmarks

Page 27: Integrating research grade model indexing technologies to commercial modelling tools: feedback and benchmarks

Specific measures – Full complianceMeasure ConclusionsTime improvement for change propagation and notification among concurrent users

Re-indexing time under 5ms

Time improvement percentage on query execution

Queries on document generation from 6 to 700 times faster than

Modelio DesktopTime improvement percentage on the execution of transformations for text generation

Document generation from 6 to 700 times faster than Modelio

DesktopTime improvement percentage on the execution of transformations for model generation

● Generation 2-17 times faster than Desktop Modelio on a well configured server and moderately large models

● Provides functionality that was not available in Constellation before

May 2016 – Paris - ICSSEA 27Integrating research grade model indexing technologies to commercial modelling tools: feedback and benchmarks

Page 28: Integrating research grade model indexing technologies to commercial modelling tools: feedback and benchmarks

Conclusion Hawk provides us a way to index all

our model fragment whatever their hosting technology.

Hawk provides a powerful query engine which allow us to know the content of our model fragment on Constellation side.

Packaged as JAR, the integration of Hawk to our commercial tool was easy.

May 2016 – Paris - ICSSEA 28Integrating research grade model indexing technologies to commercial modelling tools: feedback and benchmarks

Page 29: Integrating research grade model indexing technologies to commercial modelling tools: feedback and benchmarks

Further enhancements Improvements

MONDO collaboration tools should support other modelling technologies besides EMF.

Future plans MEASURE collaboration CloudATL (model to model transformations

tool) integration to Constellation

May 2016 – Paris - ICSSEA 29Integrating research grade model indexing technologies to commercial modelling tools: feedback and benchmarks

Page 30: Integrating research grade model indexing technologies to commercial modelling tools: feedback and benchmarks

Questions ?

May 2016 – Paris - ICSSEA 30Integrating research grade model indexing technologies to commercial modelling tools: feedback and benchmarks