SlideShare a Scribd company logo
1 of 36
Download to read offline
Intro Integration Evaluation Conclusions
Integration of a Graph-Based Model Indexer in
Commercial Modelling Tools
Antonio García-Domínguez, Konstantinos Barmpis,
Dimitrios S. Kolovos, Marcos Aurelio Almeida da Silva, Antonin
Abherve and Alessandra Bagnato
Aston University, University of York, SOFTEAM Cadextan
MoDELS’16
October 7th, 2016
A García-Domínguez et al. Integration of a Graph-Based Model Indexer in Commercial Modelling Tools 1 / 27
Intro Integration Evaluation Conclusions
Outline
1 Intro
2 Integration
3 Evaluation
4 Conclusions
A García-Domínguez et al. Integration of a Graph-Based Model Indexer in Commercial Modelling Tools 2 / 27
Intro Integration Evaluation Conclusions
Motivation for this work
MONDO EU project: produced Hawk indexer
Goal: tackle scalability of MDE in its various facets
One product was Hawk, a scalable model indexer:
https://github.com/mondo-project/mondo-hawk
Hawk mirrors fragmented models into NoSQL graphs
SOFTEAM: Constellation collab server needed search
SOFTEAM has 20+ years experience on UML tooling
Modelio is their open-source modelling tool
Joined MONDO due to scalability challenges
Created Constellation: Modelio collab server
Constellation had no search box – need indexing!
A García-Domínguez et al. Integration of a Graph-Based Model Indexer in Commercial Modelling Tools 3 / 27
Intro Integration Evaluation Conclusions
Motivation for this work
MONDO EU project: produced Hawk indexer
Goal: tackle scalability of MDE in its various facets
One product was Hawk, a scalable model indexer:
https://github.com/mondo-project/mondo-hawk
Hawk mirrors fragmented models into NoSQL graphs
SOFTEAM: Constellation collab server needed search
SOFTEAM has 20+ years experience on UML tooling
Modelio is their open-source modelling tool
Joined MONDO due to scalability challenges
Created Constellation: Modelio collab server
Constellation had no search box – need indexing!
A García-Domínguez et al. Integration of a Graph-Based Model Indexer in Commercial Modelling Tools 3 / 27
Modelio: SOFTEAM’s modelling tool
Open source, scriptable, UML/BPMN/SysML...
Structure: workspace → projects → fragments (.exml)
Projects can import .ramc libraries (zipped fragments)
Intro Integration Evaluation Conclusions
Constellation: SOFTEAM’s collab server
Admin server coordinates
agents and provides web UI
Agent nodes (HTTP/SVN)
access/host fragments
No querying facilities
A García-Domínguez et al. Integration of a Graph-Based Model Indexer in Commercial Modelling Tools 5 / 27
Intro Integration Evaluation Conclusions
Hawk: NoSQL model indexer
We go from these model files...
A García-Domínguez et al. Integration of a Graph-Based Model Indexer in Commercial Modelling Tools 6 / 27
Intro Integration Evaluation Conclusions
Hawk: NoSQL model indexer
... to these NoSQL graphs.
A García-Domínguez et al. Integration of a Graph-Based Model Indexer in Commercial Modelling Tools 6 / 27
Intro Integration Evaluation Conclusions
Hawk: NoSQL model indexer
EPackages → metamodel nodes
EClasses → type nodes
A García-Domínguez et al. Integration of a Graph-Based Model Indexer in Commercial Modelling Tools 6 / 27
Intro Integration Evaluation Conclusions
Hawk: NoSQL model indexer
.xmi → file nodes
EObjects → element nodes
A García-Domínguez et al. Integration of a Graph-Based Model Indexer in Commercial Modelling Tools 6 / 27
Intro Integration Evaluation Conclusions
Hawk: NoSQL model indexer
MM index: EPackage URI → metamodel node
File index: repo + file path → file node
Users can define custom indices by attribute/expression
A García-Domínguez et al. Integration of a Graph-Based Model Indexer in Commercial Modelling Tools 6 / 27
Intro Integration Evaluation Conclusions
Outline
1 Intro
2 Integration
3 Evaluation
4 Conclusions
A García-Domínguez et al. Integration of a Graph-Based Model Indexer in Commercial Modelling Tools 7 / 27
Intro Integration Evaluation Conclusions
Integration approach
Key detail in Hawk: plugin-based architecture
Hawk has abstraction layers for:
Database backends (Neo4j, OrientDB)
Model persistence formats (XMI, UML, Modelio...)
Query languages (Epsilon Object Language)
Steps taken
1 Expose Modelio metamodels to Hawk
2 Write .exml/.ramc parser
3 Extend Hawk with Modelio specifics
4 Embed into Constellation
A García-Domínguez et al. Integration of a Graph-Based Model Indexer in Commercial Modelling Tools 8 / 27
Intro Integration Evaluation Conclusions
Initial legal issues
Problem
Hawk is EPL, Modelio is GPLv3: incompatible licenses
Cannot reuse neither metamodel code nor parsing code
Solutions
SOFTEAM wrote M2T transformation to expose metamodels
as Apache-licensed library (ModelioMetamodelLib)
http://github.com/aabherve/modelio-metamodel-lib
Hawk includes transformation to Ecore
Hawk devs collaborated with SOFTEAM to write new parsers
Clean-room approach: no looking at Modelio code!
A García-Domínguez et al. Integration of a Graph-Based Model Indexer in Commercial Modelling Tools 9 / 27
Intro Integration Evaluation Conclusions
Initial legal issues
Problem
Hawk is EPL, Modelio is GPLv3: incompatible licenses
Cannot reuse neither metamodel code nor parsing code
Solutions
SOFTEAM wrote M2T transformation to expose metamodels
as Apache-licensed library (ModelioMetamodelLib)
http://github.com/aabherve/modelio-metamodel-lib
Hawk includes transformation to Ecore
Hawk devs collaborated with SOFTEAM to write new parsers
Clean-room approach: no looking at Modelio code!
A García-Domínguez et al. Integration of a Graph-Based Model Indexer in Commercial Modelling Tools 9 / 27
.exml format
<EXT object="Component" version="3">
<DEPS>
<ID name="Component" mc="Class" uid="2d7b..."/>
<EXTID name="Element" mc="Class" uid="4ed7..."/>
</DEPS>
<OBJECT>
<ID name="Component" mc="Class" uid="2d7b..."/>
<PID name="Architecture" mc="Package" uid="ea87..."/>
<ATTRIBUTES>
<ATT name="Name">Component</ATT>...
</ATTRIBUTES>
<DEPENDENCIES>
<COMP relation="OwnedOperation">...</COMP>
<COMP relation="Parent">...</COMP>
</DEPENDENCIES>
</OBJECT>
</EXT>
.exml format: version, dependencies
<EXT object="Component" version="3">
<DEPS>
<ID name="Component" mc="Class" uid="2d7b..."/>
<EXTID name="Element" mc="Class" uid="4ed7..."/>
</DEPS>
<OBJECT>
<ID name="Component" mc="Class" uid="2d7b..."/>
<PID name="Architecture" mc="Package" uid="ea87..."/>
<ATTRIBUTES>
<ATT name="Name">Component</ATT>...
</ATTRIBUTES>
<DEPENDENCIES>
<COMP relation="OwnedOperation">...</COMP>
<COMP relation="Parent">...</COMP>
</DEPENDENCIES>
</OBJECT>
</EXT>
Format version
Dependencies
.exml format: version, dependencies
<EXT object="Component" version="3">
<DEPS>
<ID name="Component" mc="Class" uid="2d7b..."/>
<EXTID name="Element" mc="Class" uid="4ed7..."/>
</DEPS>
<OBJECT>
<ID name="Component" mc="Class" uid="2d7b..."/>
<PID name="Architecture" mc="Package" uid="ea87..."/>
<ATTRIBUTES>
<ATT name="Name">Component</ATT>...
</ATTRIBUTES>
<DEPENDENCIES>
<COMP relation="OwnedOperation">...</COMP>
<COMP relation="Parent">...</COMP>
</DEPENDENCIES>
</OBJECT>
</EXT>
Format version
Dependencies
.exml format: root object
<EXT object="Component" version="3">
<DEPS>
<ID name="Component" mc="Class" uid="2d7b..."/>
<EXTID name="Element" mc="Class" uid="4ed7..."/>
</DEPS>
<OBJECT>
<ID name="Component" mc="Class" uid="2d7b..."/>
<PID name="Architecture" mc="Package" uid="ea87..."/>
<ATTRIBUTES>
<ATT name="Name">Component</ATT>...
</ATTRIBUTES>
<DEPENDENCIES>
<COMP relation="OwnedOperation">...</COMP>
<COMP relation="Parent">...</COMP>
</DEPENDENCIES>
</OBJECT>
</EXT>
Object name, metaclass, UID
Same UID = same object
Happens when importing libraries
Container UID
EMF compatibility would require
deriving containments
.exml format: root object
<EXT object="Component" version="3">
<DEPS>
<ID name="Component" mc="Class" uid="2d7b..."/>
<EXTID name="Element" mc="Class" uid="4ed7..."/>
</DEPS>
<OBJECT>
<ID name="Component" mc="Class" uid="2d7b..."/>
<PID name="Architecture" mc="Package" uid="ea87..."/>
<ATTRIBUTES>
<ATT name="Name">Component</ATT>...
</ATTRIBUTES>
<DEPENDENCIES>
<COMP relation="OwnedOperation">...</COMP>
<COMP relation="Parent">...</COMP>
</DEPENDENCIES>
</OBJECT>
</EXT>
Object name, metaclass, UID
Same UID = same object
Happens when importing libraries
Container UID
EMF compatibility would require
deriving containments
.exml format: attributes and dependencies
<EXT object="Component" version="3">
<DEPS>
<ID name="Component" mc="Class" uid="2d7b..."/>
<EXTID name="Element" mc="Class" uid="4ed7..."/>
</DEPS>
<OBJECT>
<ID name="Component" mc="Class" uid="2d7b..."/>
<PID name="Architecture" mc="Package" uid="ea87..."/>
<ATTRIBUTES>
<ATT name="Name">Component</ATT>...
</ATTRIBUTES>
<DEPENDENCIES>
<COMP relation="OwnedOperation">...</COMP>
<COMP relation="Parent">...</COMP>
</DEPENDENCIES>
</OBJECT>
</EXT>
Attributes: name-value pairs
Dependencies: references
COMPositions (containment?)
LINKs (non-containment)
.exml format: attributes and dependencies
<EXT object="Component" version="3">
<DEPS>
<ID name="Component" mc="Class" uid="2d7b..."/>
<EXTID name="Element" mc="Class" uid="4ed7..."/>
</DEPS>
<OBJECT>
<ID name="Component" mc="Class" uid="2d7b..."/>
<PID name="Architecture" mc="Package" uid="ea87..."/>
<ATTRIBUTES>
<ATT name="Name">Component</ATT>...
</ATTRIBUTES>
<DEPENDENCIES>
<COMP relation="OwnedOperation">...</COMP>
<COMP relation="Parent">...</COMP>
</DEPENDENCIES>
</OBJECT>
</EXT>
Attributes: name-value pairs
Dependencies: references
COMPositions (containment?)
LINKs (non-containment)
.exml format: nested objects
<EXT object="Component" version="3">
<DEPS>
<ID name="Component" mc="Class" uid="2d7b..."/>
<EXTID name="Element" mc="Class" uid="4ed7..."/>
</DEPS>
<OBJECT>
<ID name="Component" mc="Class" uid="2d7b..."/>
<PID name="Architecture" mc="Package" uid="ea87..."/>
<ATTRIBUTES>
<ATT name="Name">Component</ATT>...
</ATTRIBUTES>
<DEPENDENCIES>
<COMP relation="OwnedOperation">...</COMP>
<COMP relation="Parent">...</COMP>
</DEPENDENCIES>
</OBJECT>
</EXT>
<OBJECT>
<ID name="..." mc="Generalization" uid="58e6..."/>
<PID name="Component" mc="Class" uid="2d7b..."/>
<ATTRIBUTES>...</ATTRIBUTES>
<DEPENDENCIES>
<LINK relation="SuperType">
<ID name="Element" mc="Class" uid="4ed7..."/>
</LINK>
</DEPENDENCIES>
</OBJECT>
PID here is XML container’s
UID: not always the case!
LINK to object in another .exml
Intro Integration Evaluation Conclusions
Hawk: tweaks needed for Modelio
References are UID-based
Parsed objects/refs can declare they are UID-based
If so, Hawk will maintain/use UID → object index
Same UID = same object
Parsed resources can declare they provide “singletons”
If so, Hawk will merge objects with same UID into 1 node
A single element node can belong then to multiple files
Container-first rather than containment-first
Optional automated derivation of EMF-style containments
Only needed for compatibility with EMF-based tools
Not needed for Epsilon compatibility
A García-Domínguez et al. Integration of a Graph-Based Model Indexer in Commercial Modelling Tools 15 / 27
Intro Integration Evaluation Conclusions
Outline
1 Intro
2 Integration
3 Evaluation
4 Conclusions
A García-Domínguez et al. Integration of a Graph-Based Model Indexer in Commercial Modelling Tools 16 / 27
Intro Integration Evaluation Conclusions
Indexing costs on real projects (Neo4j)
File type .exml .ramc
Minimum 229B 23kB
Median 1.51kB 8.45MB
Maximum 2.77MB 30.98MB
Count 201 526 23
Stages 2GB 4GB 8GB
Frag ins. 2554s 2502s 2371s
Frag conn. 728s 541s 443s
Cont deriv. 1851s 1234s 1123s
Total 5171s 4287s 3958s
Inputs
SOFTEAM provided 15
in-house projects
2GB between .exml and
.ramc, 1.23M elems
Memory consumption
W/containment: 2GB+
Without: 1GB (3146s)
Diminishing returns
A García-Domínguez et al. Integration of a Graph-Based Model Indexer in Commercial Modelling Tools 17 / 27
Embedding into Constellation: advanced queries
Required new OrientDB backend (Neo4j is GPLv3-licensed)
SOFTEAM embedded Hawk into web UI in 3 months
First result: EOL query console
Embedding into Constellation: dashboards
SOFTEAM used Hawk queries to feed project dashboards
Regular users do not need to know any queries
Intro Integration Evaluation Conclusions
M2T with Hawk: motivation
Business case
M2T in Modelio was done through Jython scripting
SOFTEAM wanted M2T agents in Constellation
Code generation as a service
Which is more efficient?
Modelio + Jython?
Hawk + Epsilon Generation Language?
Need to take into account indexing times as well!
A García-Domínguez et al. Integration of a Graph-Based Model Indexer in Commercial Modelling Tools 20 / 27
Intro Integration Evaluation Conclusions
M2T with Hawk: inputs
Script size param m = 1 m = 2 m = 4 m = 8 m = 16
Project size 80MB 150MB 279MB 814MB 1.8GB
.exml size 58MB 104MB 179MB 422MB 752MB
.exml count 1 255 2 087 3 430 7 849 13 790
Element count 47 981 88 451 154 281 367 840 657 228
SOFTEAM wrote simple UML model generator in Jython
Size parameter controls number of UML classes and number of
attributes/references per class
A García-Domínguez et al. Integration of a Graph-Based Model Indexer in Commercial Modelling Tools 21 / 27
Intro Integration Evaluation Conclusions
M2T with Hawk: indexing times
1 2 3 4 5 6
·105
200
400
600
800
1,000
1,200
Project size (model elements)
Indexingtime(s)
500
1,000
1,500
2,000
2,500
OrientDBdiskspaceusage(MB)
Time
Disk space
A García-Domínguez et al. Integration of a Graph-Based Model Indexer in Commercial Modelling Tools 22 / 27
Intro Integration Evaluation Conclusions
M2T with Hawk: generation times
1 2 3 4 5 6
·105
100
101
102
103
Project size (model elements)
Generationtime(s)
MT (run 1) MT (runs 2–5)
HT (run 1) HT (runs 2–5)
MT: Modelio M2T
HT: Hawk M2T
Cold runs: 10-100x
faster on Hawk
Warm runs: Hawk
scales better
A García-Domínguez et al. Integration of a Graph-Based Model Indexer in Commercial Modelling Tools 23 / 27
Intro Integration Evaluation Conclusions
M2T with Hawk: tradeoff
1 2 3 4 5 6
·105
0
5
10
15
20
1
Project size (model elements)
MT/(HTrun1+indexing)
How many cold Modelio runs before Hawk makes more sense?
For the largest project, the answer is 1!
A García-Domínguez et al. Integration of a Graph-Based Model Indexer in Commercial Modelling Tools 24 / 27
Intro Integration Evaluation Conclusions
Outline
1 Intro
2 Integration
3 Evaluation
4 Conclusions
A García-Domínguez et al. Integration of a Graph-Based Model Indexer in Commercial Modelling Tools 25 / 27
Intro Integration Evaluation Conclusions
Conclusions and future work
Obtained results
SOFTEAM wanted querying for their model collab server
Hawk is now powering it:
Licensing issues guided many design decisions
Available as dashboards and advanced manual querying
Hawk+EGL faster than Modelio+Jython for M2T-as-service
Future work
SOFTEAM: integrate Hawk in more places and provide
querying capabilities for less technical users
Further performance improvements in Hawk:
Horizontal scalability (more RAM had diminishing returns)
On-demand derived features to reduce indexing time
Optimize OrientDB backend (much work done for v1.1!)
A García-Domínguez et al. Integration of a Graph-Based Model Indexer in Commercial Modelling Tools 26 / 27
End of the presentation
Questions?
@antoniogado
A García-Domínguez et al. Integration of a Graph-Based Model Indexer in Commercial Modelling Tools 27 / 27

More Related Content

What's hot

IRJET- Design Automation of Cam Lobe Modeling in Creo using C#
IRJET- Design Automation of Cam Lobe Modeling in Creo using C#IRJET- Design Automation of Cam Lobe Modeling in Creo using C#
IRJET- Design Automation of Cam Lobe Modeling in Creo using C#IRJET Journal
 
SimulationX Meets Office
SimulationX Meets OfficeSimulationX Meets Office
SimulationX Meets OfficeSimulationX
 
Introduction to Business Modeling
Introduction to Business ModelingIntroduction to Business Modeling
Introduction to Business ModelingLaurence White
 
Builder Design Pattern (Generic Construction -Different Representation)
Builder Design Pattern (Generic Construction -Different Representation)Builder Design Pattern (Generic Construction -Different Representation)
Builder Design Pattern (Generic Construction -Different Representation)Sameer Rathoud
 
Migration from IBM DOORS 9 to DOORS Next Generation
Migration from IBM DOORS 9 to DOORS Next GenerationMigration from IBM DOORS 9 to DOORS Next Generation
Migration from IBM DOORS 9 to DOORS Next GenerationMatt Mendell
 
Navigating the Requirements Management application: Web client
Navigating the Requirements Management application: Web clientNavigating the Requirements Management application: Web client
Navigating the Requirements Management application: Web clientIBM Rational software
 
Importing with ease july 2012
Importing with ease july 2012Importing with ease july 2012
Importing with ease july 2012IBM Rational
 
Extracting archimate views from custom ontological ea models
Extracting archimate views from custom ontological ea modelsExtracting archimate views from custom ontological ea models
Extracting archimate views from custom ontological ea modelsMatteo Busanelli
 
Modular Enterprise Systems - An Introduction
Modular Enterprise Systems - An IntroductionModular Enterprise Systems - An Introduction
Modular Enterprise Systems - An IntroductionAndreas Weidinger
 
Software Architecture: views and viewpoints
Software Architecture: views and viewpointsSoftware Architecture: views and viewpoints
Software Architecture: views and viewpointsHenry Muccini
 
.NET Portfolio
.NET Portfolio.NET Portfolio
.NET Portfoliomwillmer
 
Developing Modeling Tool for RM-ODP with Eclipse Sirius
Developing Modeling Tool for RM-ODP with Eclipse SiriusDeveloping Modeling Tool for RM-ODP with Eclipse Sirius
Developing Modeling Tool for RM-ODP with Eclipse SiriusAkira Tanaka
 
Design pattern builder 20131115
Design pattern   builder 20131115Design pattern   builder 20131115
Design pattern builder 20131115LearningTech
 
Joel Landis Net Portfolio
Joel Landis Net PortfolioJoel Landis Net Portfolio
Joel Landis Net Portfoliojlshare
 
Typescript design patterns applied to sharepoint framework - Sharepoint Satur...
Typescript design patterns applied to sharepoint framework - Sharepoint Satur...Typescript design patterns applied to sharepoint framework - Sharepoint Satur...
Typescript design patterns applied to sharepoint framework - Sharepoint Satur...Luis Valencia
 
Lesson slides for C programming course
Lesson slides for C programming courseLesson slides for C programming course
Lesson slides for C programming courseJean-Louis Gosselin
 

What's hot (18)

Reporting on requirements
Reporting on requirementsReporting on requirements
Reporting on requirements
 
IRJET- Design Automation of Cam Lobe Modeling in Creo using C#
IRJET- Design Automation of Cam Lobe Modeling in Creo using C#IRJET- Design Automation of Cam Lobe Modeling in Creo using C#
IRJET- Design Automation of Cam Lobe Modeling in Creo using C#
 
SimulationX Meets Office
SimulationX Meets OfficeSimulationX Meets Office
SimulationX Meets Office
 
Introduction to Business Modeling
Introduction to Business ModelingIntroduction to Business Modeling
Introduction to Business Modeling
 
Builder Design Pattern (Generic Construction -Different Representation)
Builder Design Pattern (Generic Construction -Different Representation)Builder Design Pattern (Generic Construction -Different Representation)
Builder Design Pattern (Generic Construction -Different Representation)
 
F1803053945
F1803053945F1803053945
F1803053945
 
Migration from IBM DOORS 9 to DOORS Next Generation
Migration from IBM DOORS 9 to DOORS Next GenerationMigration from IBM DOORS 9 to DOORS Next Generation
Migration from IBM DOORS 9 to DOORS Next Generation
 
Navigating the Requirements Management application: Web client
Navigating the Requirements Management application: Web clientNavigating the Requirements Management application: Web client
Navigating the Requirements Management application: Web client
 
Importing with ease july 2012
Importing with ease july 2012Importing with ease july 2012
Importing with ease july 2012
 
Extracting archimate views from custom ontological ea models
Extracting archimate views from custom ontological ea modelsExtracting archimate views from custom ontological ea models
Extracting archimate views from custom ontological ea models
 
Modular Enterprise Systems - An Introduction
Modular Enterprise Systems - An IntroductionModular Enterprise Systems - An Introduction
Modular Enterprise Systems - An Introduction
 
Software Architecture: views and viewpoints
Software Architecture: views and viewpointsSoftware Architecture: views and viewpoints
Software Architecture: views and viewpoints
 
.NET Portfolio
.NET Portfolio.NET Portfolio
.NET Portfolio
 
Developing Modeling Tool for RM-ODP with Eclipse Sirius
Developing Modeling Tool for RM-ODP with Eclipse SiriusDeveloping Modeling Tool for RM-ODP with Eclipse Sirius
Developing Modeling Tool for RM-ODP with Eclipse Sirius
 
Design pattern builder 20131115
Design pattern   builder 20131115Design pattern   builder 20131115
Design pattern builder 20131115
 
Joel Landis Net Portfolio
Joel Landis Net PortfolioJoel Landis Net Portfolio
Joel Landis Net Portfolio
 
Typescript design patterns applied to sharepoint framework - Sharepoint Satur...
Typescript design patterns applied to sharepoint framework - Sharepoint Satur...Typescript design patterns applied to sharepoint framework - Sharepoint Satur...
Typescript design patterns applied to sharepoint framework - Sharepoint Satur...
 
Lesson slides for C programming course
Lesson slides for C programming courseLesson slides for C programming course
Lesson slides for C programming course
 

Viewers also liked

期貨籌碼表0530
期貨籌碼表0530期貨籌碼表0530
期貨籌碼表0530tsu0716
 
Creating an Effective Learning Environment
Creating an Effective Learning Environment Creating an Effective Learning Environment
Creating an Effective Learning Environment Courtney Pittman, M.Ed.
 
Pruthvi's Foods Private Limited, Gujarat , Potato Starch
Pruthvi's Foods Private Limited, Gujarat , Potato StarchPruthvi's Foods Private Limited, Gujarat , Potato Starch
Pruthvi's Foods Private Limited, Gujarat , Potato StarchIndiaMART InterMESH Limited
 
Referens: Falck 2011
Referens: Falck 2011Referens: Falck 2011
Referens: Falck 2011Taiga
 
香港六合彩
香港六合彩香港六合彩
香港六合彩usbpan
 
Short presentation tadbik labels
Short presentation tadbik labelsShort presentation tadbik labels
Short presentation tadbik labelsTadbikgroup
 
香港六合彩
香港六合彩香港六合彩
香港六合彩usbpan
 
Tadbik group presentation dbm
Tadbik group presentation dbmTadbik group presentation dbm
Tadbik group presentation dbmTadbikgroup
 
Plano Valencia Ignacio Luque
Plano Valencia Ignacio LuquePlano Valencia Ignacio Luque
Plano Valencia Ignacio LuqueColegio Almedina
 
Value Added References_David M. Lowry
Value Added References_David M. LowryValue Added References_David M. Lowry
Value Added References_David M. Lowrylowrydavid
 
2016-07-07_Rexonic Energy Services Presentation
2016-07-07_Rexonic Energy Services Presentation2016-07-07_Rexonic Energy Services Presentation
2016-07-07_Rexonic Energy Services PresentationRidge Tullos
 
Como começa a pesquisa de um artigo científico
Como começa a pesquisa de um artigo científicoComo começa a pesquisa de um artigo científico
Como começa a pesquisa de um artigo científicoUSP e Plexus
 
El verbo ser y los adjetivos
El verbo ser y los adjetivosEl verbo ser y los adjetivos
El verbo ser y los adjetivosSeema Sumod
 
Martin Klebert (Grupo1)
Martin Klebert (Grupo1)Martin Klebert (Grupo1)
Martin Klebert (Grupo1)Haeidegger
 
Dyeing, printing & processing defects
Dyeing, printing & processing defectsDyeing, printing & processing defects
Dyeing, printing & processing defectsRajeev Sharan
 

Viewers also liked (19)

期貨籌碼表0530
期貨籌碼表0530期貨籌碼表0530
期貨籌碼表0530
 
Creating an Effective Learning Environment
Creating an Effective Learning Environment Creating an Effective Learning Environment
Creating an Effective Learning Environment
 
Pruthvi's Foods Private Limited, Gujarat , Potato Starch
Pruthvi's Foods Private Limited, Gujarat , Potato StarchPruthvi's Foods Private Limited, Gujarat , Potato Starch
Pruthvi's Foods Private Limited, Gujarat , Potato Starch
 
Referens: Falck 2011
Referens: Falck 2011Referens: Falck 2011
Referens: Falck 2011
 
香港六合彩
香港六合彩香港六合彩
香港六合彩
 
Short presentation tadbik labels
Short presentation tadbik labelsShort presentation tadbik labels
Short presentation tadbik labels
 
香港六合彩
香港六合彩香港六合彩
香港六合彩
 
Aio...whatever
Aio...whateverAio...whatever
Aio...whatever
 
title
titletitle
title
 
Tadbik group presentation dbm
Tadbik group presentation dbmTadbik group presentation dbm
Tadbik group presentation dbm
 
Plano Valencia Ignacio Luque
Plano Valencia Ignacio LuquePlano Valencia Ignacio Luque
Plano Valencia Ignacio Luque
 
Value Added References_David M. Lowry
Value Added References_David M. LowryValue Added References_David M. Lowry
Value Added References_David M. Lowry
 
ID Community of Practice
ID Community of PracticeID Community of Practice
ID Community of Practice
 
2016-07-07_Rexonic Energy Services Presentation
2016-07-07_Rexonic Energy Services Presentation2016-07-07_Rexonic Energy Services Presentation
2016-07-07_Rexonic Energy Services Presentation
 
Como começa a pesquisa de um artigo científico
Como começa a pesquisa de um artigo científicoComo começa a pesquisa de um artigo científico
Como começa a pesquisa de um artigo científico
 
El verbo ser y los adjetivos
El verbo ser y los adjetivosEl verbo ser y los adjetivos
El verbo ser y los adjetivos
 
Mistagogia
MistagogiaMistagogia
Mistagogia
 
Martin Klebert (Grupo1)
Martin Klebert (Grupo1)Martin Klebert (Grupo1)
Martin Klebert (Grupo1)
 
Dyeing, printing & processing defects
Dyeing, printing & processing defectsDyeing, printing & processing defects
Dyeing, printing & processing defects
 

Similar to MoDELS'16 presentation: Integration of a Graph-Based Model Indexer in Commercial Modelling Tools

Sodius cassidian mdday2010
Sodius cassidian mdday2010Sodius cassidian mdday2010
Sodius cassidian mdday2010MD DAY
 
Interoperability of Meta-Modeling Tools
Interoperability of Meta-Modeling ToolsInteroperability of Meta-Modeling Tools
Interoperability of Meta-Modeling Toolsheigoo
 
IBM Rhapsody and MATLAB/Simulink
IBM Rhapsody and MATLAB/SimulinkIBM Rhapsody and MATLAB/Simulink
IBM Rhapsody and MATLAB/Simulinkgjuljo
 
Technical-design-for-Angular-apps.pdf
Technical-design-for-Angular-apps.pdfTechnical-design-for-Angular-apps.pdf
Technical-design-for-Angular-apps.pdfSakthivelPeriyasamy6
 
OOAD-Unit1.ppt
OOAD-Unit1.pptOOAD-Unit1.ppt
OOAD-Unit1.pptrituah
 
A Lightweight MDD Process Applied in Small Projects
A Lightweight MDD Process Applied in Small ProjectsA Lightweight MDD Process Applied in Small Projects
A Lightweight MDD Process Applied in Small ProjectsGabor Guta
 
SodiusCassidianmdday2010 101129081449-phpapp02
SodiusCassidianmdday2010 101129081449-phpapp02SodiusCassidianmdday2010 101129081449-phpapp02
SodiusCassidianmdday2010 101129081449-phpapp02SodiusWillert
 
2. uml-methodology_hypermedia_design_2000
2.  uml-methodology_hypermedia_design_20002.  uml-methodology_hypermedia_design_2000
2. uml-methodology_hypermedia_design_2000eudal
 
MDD and modeling tools research
MDD and modeling tools researchMDD and modeling tools research
MDD and modeling tools researchRoger Xia
 
MODEL DRIVEN ARCHITECTURE, CONTROL SYSTEMS AND ECLIPSE
MODEL DRIVEN ARCHITECTURE, CONTROL SYSTEMS AND ECLIPSEMODEL DRIVEN ARCHITECTURE, CONTROL SYSTEMS AND ECLIPSE
MODEL DRIVEN ARCHITECTURE, CONTROL SYSTEMS AND ECLIPSEAnže Vodovnik
 
Integrating profiling into mde compilers
Integrating profiling into mde compilersIntegrating profiling into mde compilers
Integrating profiling into mde compilersijseajournal
 
Agile Modeling using the Architecture Tools in VS 2010
Agile Modeling  using the Architecture Tools in VS 2010Agile Modeling  using the Architecture Tools in VS 2010
Agile Modeling using the Architecture Tools in VS 2010Gary Pedretti
 
Rhapsody and mechatronics, multi-domain simulation
Rhapsody and mechatronics, multi-domain simulationRhapsody and mechatronics, multi-domain simulation
Rhapsody and mechatronics, multi-domain simulationGraham Bleakley
 
CS587 Project - Raychaudhury,Shaalmali
CS587 Project - Raychaudhury,ShaalmaliCS587 Project - Raychaudhury,Shaalmali
CS587 Project - Raychaudhury,Shaalmalisagar.247
 
Sioux Hot-or-Not: Model Driven Software Development (Markus Voelter)
Sioux Hot-or-Not: Model Driven Software Development (Markus Voelter)Sioux Hot-or-Not: Model Driven Software Development (Markus Voelter)
Sioux Hot-or-Not: Model Driven Software Development (Markus Voelter)siouxhotornot
 
Discover DoDAF problems early in the lifecycle with model execution
Discover DoDAF problems early in the lifecycle with model executionDiscover DoDAF problems early in the lifecycle with model execution
Discover DoDAF problems early in the lifecycle with model executionGraham Bleakley
 

Similar to MoDELS'16 presentation: Integration of a Graph-Based Model Indexer in Commercial Modelling Tools (20)

Sodius cassidian mdday2010
Sodius cassidian mdday2010Sodius cassidian mdday2010
Sodius cassidian mdday2010
 
Interoperability of Meta-Modeling Tools
Interoperability of Meta-Modeling ToolsInteroperability of Meta-Modeling Tools
Interoperability of Meta-Modeling Tools
 
IBM Rhapsody and MATLAB/Simulink
IBM Rhapsody and MATLAB/SimulinkIBM Rhapsody and MATLAB/Simulink
IBM Rhapsody and MATLAB/Simulink
 
Technical-design-for-Angular-apps.pdf
Technical-design-for-Angular-apps.pdfTechnical-design-for-Angular-apps.pdf
Technical-design-for-Angular-apps.pdf
 
OOAD-Unit1.ppt
OOAD-Unit1.pptOOAD-Unit1.ppt
OOAD-Unit1.ppt
 
A Lightweight MDD Process Applied in Small Projects
A Lightweight MDD Process Applied in Small ProjectsA Lightweight MDD Process Applied in Small Projects
A Lightweight MDD Process Applied in Small Projects
 
SodiusCassidianmdday2010 101129081449-phpapp02
SodiusCassidianmdday2010 101129081449-phpapp02SodiusCassidianmdday2010 101129081449-phpapp02
SodiusCassidianmdday2010 101129081449-phpapp02
 
2. uml-methodology_hypermedia_design_2000
2.  uml-methodology_hypermedia_design_20002.  uml-methodology_hypermedia_design_2000
2. uml-methodology_hypermedia_design_2000
 
MDD and modeling tools research
MDD and modeling tools researchMDD and modeling tools research
MDD and modeling tools research
 
Angularj2.0
Angularj2.0Angularj2.0
Angularj2.0
 
MODEL DRIVEN ARCHITECTURE, CONTROL SYSTEMS AND ECLIPSE
MODEL DRIVEN ARCHITECTURE, CONTROL SYSTEMS AND ECLIPSEMODEL DRIVEN ARCHITECTURE, CONTROL SYSTEMS AND ECLIPSE
MODEL DRIVEN ARCHITECTURE, CONTROL SYSTEMS AND ECLIPSE
 
Final Jspring2009 Mda Slimmer Ontwikkelen Van Java Ee Applicaties
Final Jspring2009 Mda Slimmer Ontwikkelen Van Java Ee ApplicatiesFinal Jspring2009 Mda Slimmer Ontwikkelen Van Java Ee Applicaties
Final Jspring2009 Mda Slimmer Ontwikkelen Van Java Ee Applicaties
 
Integrating profiling into mde compilers
Integrating profiling into mde compilersIntegrating profiling into mde compilers
Integrating profiling into mde compilers
 
Pratk kambe rac
Pratk kambe racPratk kambe rac
Pratk kambe rac
 
Agile Modeling using the Architecture Tools in VS 2010
Agile Modeling  using the Architecture Tools in VS 2010Agile Modeling  using the Architecture Tools in VS 2010
Agile Modeling using the Architecture Tools in VS 2010
 
Rhapsody and mechatronics, multi-domain simulation
Rhapsody and mechatronics, multi-domain simulationRhapsody and mechatronics, multi-domain simulation
Rhapsody and mechatronics, multi-domain simulation
 
Solidworks software
Solidworks softwareSolidworks software
Solidworks software
 
CS587 Project - Raychaudhury,Shaalmali
CS587 Project - Raychaudhury,ShaalmaliCS587 Project - Raychaudhury,Shaalmali
CS587 Project - Raychaudhury,Shaalmali
 
Sioux Hot-or-Not: Model Driven Software Development (Markus Voelter)
Sioux Hot-or-Not: Model Driven Software Development (Markus Voelter)Sioux Hot-or-Not: Model Driven Software Development (Markus Voelter)
Sioux Hot-or-Not: Model Driven Software Development (Markus Voelter)
 
Discover DoDAF problems early in the lifecycle with model execution
Discover DoDAF problems early in the lifecycle with model executionDiscover DoDAF problems early in the lifecycle with model execution
Discover DoDAF problems early in the lifecycle with model execution
 

More from Antonio García-Domínguez

MODELS 2022 Journal-First presentation: ETeMoX - explaining reinforcement lea...
MODELS 2022 Journal-First presentation: ETeMoX - explaining reinforcement lea...MODELS 2022 Journal-First presentation: ETeMoX - explaining reinforcement lea...
MODELS 2022 Journal-First presentation: ETeMoX - explaining reinforcement lea...Antonio García-Domínguez
 
History-Aware Explanations: Towards Enabling Human-in-the-Loop in Self-Adapti...
History-Aware Explanations: Towards Enabling Human-in-the-Loop in Self-Adapti...History-Aware Explanations: Towards Enabling Human-in-the-Loop in Self-Adapti...
History-Aware Explanations: Towards Enabling Human-in-the-Loop in Self-Adapti...Antonio García-Domínguez
 
Boosting individual feedback with AutoFeedback
Boosting individual feedback with AutoFeedbackBoosting individual feedback with AutoFeedback
Boosting individual feedback with AutoFeedbackAntonio García-Domínguez
 
MODELS 2019: Querying and annotating model histories with time-aware patterns
MODELS 2019: Querying and annotating model histories with time-aware patternsMODELS 2019: Querying and annotating model histories with time-aware patterns
MODELS 2019: Querying and annotating model histories with time-aware patternsAntonio García-Domínguez
 
Tips and resources for publication-grade figures and tables
Tips and resources for publication-grade figures and tablesTips and resources for publication-grade figures and tables
Tips and resources for publication-grade figures and tablesAntonio García-Domínguez
 
COMMitMDE'18: Eclipse Hawk: model repository querying as a service
COMMitMDE'18: Eclipse Hawk: model repository querying as a serviceCOMMitMDE'18: Eclipse Hawk: model repository querying as a service
COMMitMDE'18: Eclipse Hawk: model repository querying as a serviceAntonio García-Domínguez
 
MRT 2018: reflecting on the past and the present with temporal graph models
MRT 2018: reflecting on the past and the present with temporal graph modelsMRT 2018: reflecting on the past and the present with temporal graph models
MRT 2018: reflecting on the past and the present with temporal graph modelsAntonio García-Domínguez
 
Hawk: indexado de modelos en bases de datos NoSQL
Hawk: indexado de modelos en bases de datos NoSQLHawk: indexado de modelos en bases de datos NoSQL
Hawk: indexado de modelos en bases de datos NoSQLAntonio García-Domínguez
 
OCL'16 slides: Models from Code or Code as a Model?
OCL'16 slides: Models from Code or Code as a Model?OCL'16 slides: Models from Code or Code as a Model?
OCL'16 slides: Models from Code or Code as a Model?Antonio García-Domínguez
 
Developing a new Epsilon Language through Annotations: TestLang
Developing a new Epsilon Language through Annotations: TestLangDeveloping a new Epsilon Language through Annotations: TestLang
Developing a new Epsilon Language through Annotations: TestLangAntonio García-Domínguez
 
Software libre para la integración de información en la Universidad de Cádiz
Software libre para la integración de información en la Universidad de CádizSoftware libre para la integración de información en la Universidad de Cádiz
Software libre para la integración de información en la Universidad de CádizAntonio García-Domínguez
 

More from Antonio García-Domínguez (17)

MODELS 2022 Journal-First presentation: ETeMoX - explaining reinforcement lea...
MODELS 2022 Journal-First presentation: ETeMoX - explaining reinforcement lea...MODELS 2022 Journal-First presentation: ETeMoX - explaining reinforcement lea...
MODELS 2022 Journal-First presentation: ETeMoX - explaining reinforcement lea...
 
MODELS 2022 Picto Web tool demo
MODELS 2022 Picto Web tool demoMODELS 2022 Picto Web tool demo
MODELS 2022 Picto Web tool demo
 
EduSymp 2022 slides (The Epsilon Playground)
EduSymp 2022 slides (The Epsilon Playground)EduSymp 2022 slides (The Epsilon Playground)
EduSymp 2022 slides (The Epsilon Playground)
 
History-Aware Explanations: Towards Enabling Human-in-the-Loop in Self-Adapti...
History-Aware Explanations: Towards Enabling Human-in-the-Loop in Self-Adapti...History-Aware Explanations: Towards Enabling Human-in-the-Loop in Self-Adapti...
History-Aware Explanations: Towards Enabling Human-in-the-Loop in Self-Adapti...
 
Boosting individual feedback with AutoFeedback
Boosting individual feedback with AutoFeedbackBoosting individual feedback with AutoFeedback
Boosting individual feedback with AutoFeedback
 
MODELS 2019: Querying and annotating model histories with time-aware patterns
MODELS 2019: Querying and annotating model histories with time-aware patternsMODELS 2019: Querying and annotating model histories with time-aware patterns
MODELS 2019: Querying and annotating model histories with time-aware patterns
 
Tips and resources for publication-grade figures and tables
Tips and resources for publication-grade figures and tablesTips and resources for publication-grade figures and tables
Tips and resources for publication-grade figures and tables
 
COMMitMDE'18: Eclipse Hawk: model repository querying as a service
COMMitMDE'18: Eclipse Hawk: model repository querying as a serviceCOMMitMDE'18: Eclipse Hawk: model repository querying as a service
COMMitMDE'18: Eclipse Hawk: model repository querying as a service
 
MRT 2018: reflecting on the past and the present with temporal graph models
MRT 2018: reflecting on the past and the present with temporal graph modelsMRT 2018: reflecting on the past and the present with temporal graph models
MRT 2018: reflecting on the past and the present with temporal graph models
 
Hawk: indexado de modelos en bases de datos NoSQL
Hawk: indexado de modelos en bases de datos NoSQLHawk: indexado de modelos en bases de datos NoSQL
Hawk: indexado de modelos en bases de datos NoSQL
 
Software and product quality for videogames
Software and product quality for videogamesSoftware and product quality for videogames
Software and product quality for videogames
 
OCL'16 slides: Models from Code or Code as a Model?
OCL'16 slides: Models from Code or Code as a Model?OCL'16 slides: Models from Code or Code as a Model?
OCL'16 slides: Models from Code or Code as a Model?
 
Developing a new Epsilon Language through Annotations: TestLang
Developing a new Epsilon Language through Annotations: TestLangDeveloping a new Epsilon Language through Annotations: TestLang
Developing a new Epsilon Language through Annotations: TestLang
 
ECMFA 2016 slides
ECMFA 2016 slidesECMFA 2016 slides
ECMFA 2016 slides
 
BMSD 2015 slides (revised)
BMSD 2015 slides (revised)BMSD 2015 slides (revised)
BMSD 2015 slides (revised)
 
Elaboración de un buen póster científico
Elaboración de un buen póster científicoElaboración de un buen póster científico
Elaboración de un buen póster científico
 
Software libre para la integración de información en la Universidad de Cádiz
Software libre para la integración de información en la Universidad de CádizSoftware libre para la integración de información en la Universidad de Cádiz
Software libre para la integración de información en la Universidad de Cádiz
 

Recently uploaded

(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️anilsa9823
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AIABDERRAOUF MEHENNI
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsAndolasoft Inc
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
Active Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfActive Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfCionsystems
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 

Recently uploaded (20)

(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
Active Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfActive Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdf
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 

MoDELS'16 presentation: Integration of a Graph-Based Model Indexer in Commercial Modelling Tools

  • 1. Intro Integration Evaluation Conclusions Integration of a Graph-Based Model Indexer in Commercial Modelling Tools Antonio García-Domínguez, Konstantinos Barmpis, Dimitrios S. Kolovos, Marcos Aurelio Almeida da Silva, Antonin Abherve and Alessandra Bagnato Aston University, University of York, SOFTEAM Cadextan MoDELS’16 October 7th, 2016 A García-Domínguez et al. Integration of a Graph-Based Model Indexer in Commercial Modelling Tools 1 / 27
  • 2. Intro Integration Evaluation Conclusions Outline 1 Intro 2 Integration 3 Evaluation 4 Conclusions A García-Domínguez et al. Integration of a Graph-Based Model Indexer in Commercial Modelling Tools 2 / 27
  • 3. Intro Integration Evaluation Conclusions Motivation for this work MONDO EU project: produced Hawk indexer Goal: tackle scalability of MDE in its various facets One product was Hawk, a scalable model indexer: https://github.com/mondo-project/mondo-hawk Hawk mirrors fragmented models into NoSQL graphs SOFTEAM: Constellation collab server needed search SOFTEAM has 20+ years experience on UML tooling Modelio is their open-source modelling tool Joined MONDO due to scalability challenges Created Constellation: Modelio collab server Constellation had no search box – need indexing! A García-Domínguez et al. Integration of a Graph-Based Model Indexer in Commercial Modelling Tools 3 / 27
  • 4. Intro Integration Evaluation Conclusions Motivation for this work MONDO EU project: produced Hawk indexer Goal: tackle scalability of MDE in its various facets One product was Hawk, a scalable model indexer: https://github.com/mondo-project/mondo-hawk Hawk mirrors fragmented models into NoSQL graphs SOFTEAM: Constellation collab server needed search SOFTEAM has 20+ years experience on UML tooling Modelio is their open-source modelling tool Joined MONDO due to scalability challenges Created Constellation: Modelio collab server Constellation had no search box – need indexing! A García-Domínguez et al. Integration of a Graph-Based Model Indexer in Commercial Modelling Tools 3 / 27
  • 5. Modelio: SOFTEAM’s modelling tool Open source, scriptable, UML/BPMN/SysML... Structure: workspace → projects → fragments (.exml) Projects can import .ramc libraries (zipped fragments)
  • 6. Intro Integration Evaluation Conclusions Constellation: SOFTEAM’s collab server Admin server coordinates agents and provides web UI Agent nodes (HTTP/SVN) access/host fragments No querying facilities A García-Domínguez et al. Integration of a Graph-Based Model Indexer in Commercial Modelling Tools 5 / 27
  • 7. Intro Integration Evaluation Conclusions Hawk: NoSQL model indexer We go from these model files... A García-Domínguez et al. Integration of a Graph-Based Model Indexer in Commercial Modelling Tools 6 / 27
  • 8. Intro Integration Evaluation Conclusions Hawk: NoSQL model indexer ... to these NoSQL graphs. A García-Domínguez et al. Integration of a Graph-Based Model Indexer in Commercial Modelling Tools 6 / 27
  • 9. Intro Integration Evaluation Conclusions Hawk: NoSQL model indexer EPackages → metamodel nodes EClasses → type nodes A García-Domínguez et al. Integration of a Graph-Based Model Indexer in Commercial Modelling Tools 6 / 27
  • 10. Intro Integration Evaluation Conclusions Hawk: NoSQL model indexer .xmi → file nodes EObjects → element nodes A García-Domínguez et al. Integration of a Graph-Based Model Indexer in Commercial Modelling Tools 6 / 27
  • 11. Intro Integration Evaluation Conclusions Hawk: NoSQL model indexer MM index: EPackage URI → metamodel node File index: repo + file path → file node Users can define custom indices by attribute/expression A García-Domínguez et al. Integration of a Graph-Based Model Indexer in Commercial Modelling Tools 6 / 27
  • 12. Intro Integration Evaluation Conclusions Outline 1 Intro 2 Integration 3 Evaluation 4 Conclusions A García-Domínguez et al. Integration of a Graph-Based Model Indexer in Commercial Modelling Tools 7 / 27
  • 13. Intro Integration Evaluation Conclusions Integration approach Key detail in Hawk: plugin-based architecture Hawk has abstraction layers for: Database backends (Neo4j, OrientDB) Model persistence formats (XMI, UML, Modelio...) Query languages (Epsilon Object Language) Steps taken 1 Expose Modelio metamodels to Hawk 2 Write .exml/.ramc parser 3 Extend Hawk with Modelio specifics 4 Embed into Constellation A García-Domínguez et al. Integration of a Graph-Based Model Indexer in Commercial Modelling Tools 8 / 27
  • 14. Intro Integration Evaluation Conclusions Initial legal issues Problem Hawk is EPL, Modelio is GPLv3: incompatible licenses Cannot reuse neither metamodel code nor parsing code Solutions SOFTEAM wrote M2T transformation to expose metamodels as Apache-licensed library (ModelioMetamodelLib) http://github.com/aabherve/modelio-metamodel-lib Hawk includes transformation to Ecore Hawk devs collaborated with SOFTEAM to write new parsers Clean-room approach: no looking at Modelio code! A García-Domínguez et al. Integration of a Graph-Based Model Indexer in Commercial Modelling Tools 9 / 27
  • 15. Intro Integration Evaluation Conclusions Initial legal issues Problem Hawk is EPL, Modelio is GPLv3: incompatible licenses Cannot reuse neither metamodel code nor parsing code Solutions SOFTEAM wrote M2T transformation to expose metamodels as Apache-licensed library (ModelioMetamodelLib) http://github.com/aabherve/modelio-metamodel-lib Hawk includes transformation to Ecore Hawk devs collaborated with SOFTEAM to write new parsers Clean-room approach: no looking at Modelio code! A García-Domínguez et al. Integration of a Graph-Based Model Indexer in Commercial Modelling Tools 9 / 27
  • 16. .exml format <EXT object="Component" version="3"> <DEPS> <ID name="Component" mc="Class" uid="2d7b..."/> <EXTID name="Element" mc="Class" uid="4ed7..."/> </DEPS> <OBJECT> <ID name="Component" mc="Class" uid="2d7b..."/> <PID name="Architecture" mc="Package" uid="ea87..."/> <ATTRIBUTES> <ATT name="Name">Component</ATT>... </ATTRIBUTES> <DEPENDENCIES> <COMP relation="OwnedOperation">...</COMP> <COMP relation="Parent">...</COMP> </DEPENDENCIES> </OBJECT> </EXT>
  • 17. .exml format: version, dependencies <EXT object="Component" version="3"> <DEPS> <ID name="Component" mc="Class" uid="2d7b..."/> <EXTID name="Element" mc="Class" uid="4ed7..."/> </DEPS> <OBJECT> <ID name="Component" mc="Class" uid="2d7b..."/> <PID name="Architecture" mc="Package" uid="ea87..."/> <ATTRIBUTES> <ATT name="Name">Component</ATT>... </ATTRIBUTES> <DEPENDENCIES> <COMP relation="OwnedOperation">...</COMP> <COMP relation="Parent">...</COMP> </DEPENDENCIES> </OBJECT> </EXT> Format version Dependencies
  • 18. .exml format: version, dependencies <EXT object="Component" version="3"> <DEPS> <ID name="Component" mc="Class" uid="2d7b..."/> <EXTID name="Element" mc="Class" uid="4ed7..."/> </DEPS> <OBJECT> <ID name="Component" mc="Class" uid="2d7b..."/> <PID name="Architecture" mc="Package" uid="ea87..."/> <ATTRIBUTES> <ATT name="Name">Component</ATT>... </ATTRIBUTES> <DEPENDENCIES> <COMP relation="OwnedOperation">...</COMP> <COMP relation="Parent">...</COMP> </DEPENDENCIES> </OBJECT> </EXT> Format version Dependencies
  • 19. .exml format: root object <EXT object="Component" version="3"> <DEPS> <ID name="Component" mc="Class" uid="2d7b..."/> <EXTID name="Element" mc="Class" uid="4ed7..."/> </DEPS> <OBJECT> <ID name="Component" mc="Class" uid="2d7b..."/> <PID name="Architecture" mc="Package" uid="ea87..."/> <ATTRIBUTES> <ATT name="Name">Component</ATT>... </ATTRIBUTES> <DEPENDENCIES> <COMP relation="OwnedOperation">...</COMP> <COMP relation="Parent">...</COMP> </DEPENDENCIES> </OBJECT> </EXT> Object name, metaclass, UID Same UID = same object Happens when importing libraries Container UID EMF compatibility would require deriving containments
  • 20. .exml format: root object <EXT object="Component" version="3"> <DEPS> <ID name="Component" mc="Class" uid="2d7b..."/> <EXTID name="Element" mc="Class" uid="4ed7..."/> </DEPS> <OBJECT> <ID name="Component" mc="Class" uid="2d7b..."/> <PID name="Architecture" mc="Package" uid="ea87..."/> <ATTRIBUTES> <ATT name="Name">Component</ATT>... </ATTRIBUTES> <DEPENDENCIES> <COMP relation="OwnedOperation">...</COMP> <COMP relation="Parent">...</COMP> </DEPENDENCIES> </OBJECT> </EXT> Object name, metaclass, UID Same UID = same object Happens when importing libraries Container UID EMF compatibility would require deriving containments
  • 21. .exml format: attributes and dependencies <EXT object="Component" version="3"> <DEPS> <ID name="Component" mc="Class" uid="2d7b..."/> <EXTID name="Element" mc="Class" uid="4ed7..."/> </DEPS> <OBJECT> <ID name="Component" mc="Class" uid="2d7b..."/> <PID name="Architecture" mc="Package" uid="ea87..."/> <ATTRIBUTES> <ATT name="Name">Component</ATT>... </ATTRIBUTES> <DEPENDENCIES> <COMP relation="OwnedOperation">...</COMP> <COMP relation="Parent">...</COMP> </DEPENDENCIES> </OBJECT> </EXT> Attributes: name-value pairs Dependencies: references COMPositions (containment?) LINKs (non-containment)
  • 22. .exml format: attributes and dependencies <EXT object="Component" version="3"> <DEPS> <ID name="Component" mc="Class" uid="2d7b..."/> <EXTID name="Element" mc="Class" uid="4ed7..."/> </DEPS> <OBJECT> <ID name="Component" mc="Class" uid="2d7b..."/> <PID name="Architecture" mc="Package" uid="ea87..."/> <ATTRIBUTES> <ATT name="Name">Component</ATT>... </ATTRIBUTES> <DEPENDENCIES> <COMP relation="OwnedOperation">...</COMP> <COMP relation="Parent">...</COMP> </DEPENDENCIES> </OBJECT> </EXT> Attributes: name-value pairs Dependencies: references COMPositions (containment?) LINKs (non-containment)
  • 23. .exml format: nested objects <EXT object="Component" version="3"> <DEPS> <ID name="Component" mc="Class" uid="2d7b..."/> <EXTID name="Element" mc="Class" uid="4ed7..."/> </DEPS> <OBJECT> <ID name="Component" mc="Class" uid="2d7b..."/> <PID name="Architecture" mc="Package" uid="ea87..."/> <ATTRIBUTES> <ATT name="Name">Component</ATT>... </ATTRIBUTES> <DEPENDENCIES> <COMP relation="OwnedOperation">...</COMP> <COMP relation="Parent">...</COMP> </DEPENDENCIES> </OBJECT> </EXT> <OBJECT> <ID name="..." mc="Generalization" uid="58e6..."/> <PID name="Component" mc="Class" uid="2d7b..."/> <ATTRIBUTES>...</ATTRIBUTES> <DEPENDENCIES> <LINK relation="SuperType"> <ID name="Element" mc="Class" uid="4ed7..."/> </LINK> </DEPENDENCIES> </OBJECT> PID here is XML container’s UID: not always the case! LINK to object in another .exml
  • 24. Intro Integration Evaluation Conclusions Hawk: tweaks needed for Modelio References are UID-based Parsed objects/refs can declare they are UID-based If so, Hawk will maintain/use UID → object index Same UID = same object Parsed resources can declare they provide “singletons” If so, Hawk will merge objects with same UID into 1 node A single element node can belong then to multiple files Container-first rather than containment-first Optional automated derivation of EMF-style containments Only needed for compatibility with EMF-based tools Not needed for Epsilon compatibility A García-Domínguez et al. Integration of a Graph-Based Model Indexer in Commercial Modelling Tools 15 / 27
  • 25. Intro Integration Evaluation Conclusions Outline 1 Intro 2 Integration 3 Evaluation 4 Conclusions A García-Domínguez et al. Integration of a Graph-Based Model Indexer in Commercial Modelling Tools 16 / 27
  • 26. Intro Integration Evaluation Conclusions Indexing costs on real projects (Neo4j) File type .exml .ramc Minimum 229B 23kB Median 1.51kB 8.45MB Maximum 2.77MB 30.98MB Count 201 526 23 Stages 2GB 4GB 8GB Frag ins. 2554s 2502s 2371s Frag conn. 728s 541s 443s Cont deriv. 1851s 1234s 1123s Total 5171s 4287s 3958s Inputs SOFTEAM provided 15 in-house projects 2GB between .exml and .ramc, 1.23M elems Memory consumption W/containment: 2GB+ Without: 1GB (3146s) Diminishing returns A García-Domínguez et al. Integration of a Graph-Based Model Indexer in Commercial Modelling Tools 17 / 27
  • 27. Embedding into Constellation: advanced queries Required new OrientDB backend (Neo4j is GPLv3-licensed) SOFTEAM embedded Hawk into web UI in 3 months First result: EOL query console
  • 28. Embedding into Constellation: dashboards SOFTEAM used Hawk queries to feed project dashboards Regular users do not need to know any queries
  • 29. Intro Integration Evaluation Conclusions M2T with Hawk: motivation Business case M2T in Modelio was done through Jython scripting SOFTEAM wanted M2T agents in Constellation Code generation as a service Which is more efficient? Modelio + Jython? Hawk + Epsilon Generation Language? Need to take into account indexing times as well! A García-Domínguez et al. Integration of a Graph-Based Model Indexer in Commercial Modelling Tools 20 / 27
  • 30. Intro Integration Evaluation Conclusions M2T with Hawk: inputs Script size param m = 1 m = 2 m = 4 m = 8 m = 16 Project size 80MB 150MB 279MB 814MB 1.8GB .exml size 58MB 104MB 179MB 422MB 752MB .exml count 1 255 2 087 3 430 7 849 13 790 Element count 47 981 88 451 154 281 367 840 657 228 SOFTEAM wrote simple UML model generator in Jython Size parameter controls number of UML classes and number of attributes/references per class A García-Domínguez et al. Integration of a Graph-Based Model Indexer in Commercial Modelling Tools 21 / 27
  • 31. Intro Integration Evaluation Conclusions M2T with Hawk: indexing times 1 2 3 4 5 6 ·105 200 400 600 800 1,000 1,200 Project size (model elements) Indexingtime(s) 500 1,000 1,500 2,000 2,500 OrientDBdiskspaceusage(MB) Time Disk space A García-Domínguez et al. Integration of a Graph-Based Model Indexer in Commercial Modelling Tools 22 / 27
  • 32. Intro Integration Evaluation Conclusions M2T with Hawk: generation times 1 2 3 4 5 6 ·105 100 101 102 103 Project size (model elements) Generationtime(s) MT (run 1) MT (runs 2–5) HT (run 1) HT (runs 2–5) MT: Modelio M2T HT: Hawk M2T Cold runs: 10-100x faster on Hawk Warm runs: Hawk scales better A García-Domínguez et al. Integration of a Graph-Based Model Indexer in Commercial Modelling Tools 23 / 27
  • 33. Intro Integration Evaluation Conclusions M2T with Hawk: tradeoff 1 2 3 4 5 6 ·105 0 5 10 15 20 1 Project size (model elements) MT/(HTrun1+indexing) How many cold Modelio runs before Hawk makes more sense? For the largest project, the answer is 1! A García-Domínguez et al. Integration of a Graph-Based Model Indexer in Commercial Modelling Tools 24 / 27
  • 34. Intro Integration Evaluation Conclusions Outline 1 Intro 2 Integration 3 Evaluation 4 Conclusions A García-Domínguez et al. Integration of a Graph-Based Model Indexer in Commercial Modelling Tools 25 / 27
  • 35. Intro Integration Evaluation Conclusions Conclusions and future work Obtained results SOFTEAM wanted querying for their model collab server Hawk is now powering it: Licensing issues guided many design decisions Available as dashboards and advanced manual querying Hawk+EGL faster than Modelio+Jython for M2T-as-service Future work SOFTEAM: integrate Hawk in more places and provide querying capabilities for less technical users Further performance improvements in Hawk: Horizontal scalability (more RAM had diminishing returns) On-demand derived features to reduce indexing time Optimize OrientDB backend (much work done for v1.1!) A García-Domínguez et al. Integration of a Graph-Based Model Indexer in Commercial Modelling Tools 26 / 27
  • 36. End of the presentation Questions? @antoniogado A García-Domínguez et al. Integration of a Graph-Based Model Indexer in Commercial Modelling Tools 27 / 27