SlideShare a Scribd company logo
1 of 53
Generic Model-based Approaches for
Software Reverse Engineering
and Comprehension
Ph.D. thesis defense, by Hugo Bruneliere
hugo.bruneliere@imt-atlantique.fr
20th
of December 2018 - Nantes, France
University of Nantes referent: Gerson Sunyé
Research work supervisor: Jordi Cabot
0. Preamble
1. General Introduction
2. Background - Modeling / Model Driven Engineering (MDE)
3. Model Driven Reverse Engineering (MDRE)
4. Model Federation and Comprehension (Model Views)
5. General Conclusion
Outline
2
Validation of Professional Experience and Knowledge
0. Preamble (1/2)
2006 2010 2017
R&D Engineer Research Engineer Researcher...
Global Model
Management
Tool &
Language
Interoperability
3
Reverse
Engineering
Model Views /
Viewpoints
Cloud,
CPSs, etc.
Research work: state-of-the-art, conceptual approaches,
metamodels, DSLs, technical architectures, papers, etc.
Implementation: various collaborators & projects...
0. Preamble (2/2)
Reverse
Engineering
Model Views
/ Viewpoints
...
4
5
1. General Introduction
Legacy software systems to evolve...
...new requirements, technologies, business strategies,
organizations, legislations, etc.
1.1. Context and Problem (1/3)
6
Software is
(and will be)
everywhere!
Modernization / migration projects are fundamental
Modeling / MDE principles and techniques could help!
1.1. Context and Problem (2/3)
7
C. Jones. The Technical
and Social History of
Software Engineering.
Addison-Wesley, 2013.
Modernization / migration process
1.1. Context and Problem (3/3)
8
Legacy car manufacturing
Software System
Reverse Engineering
Forward Engineering
Comprehension
New car manufacturing
Software System Bruneliere, H., Cabot, J., Canovas, J.L., Orue-Echevarria, L., Strauss, O. & Wimmer, M.
Software Modernization Revisited: Challenges and Prospects.
In Computer Magazine, 2015. IEEE.
Reverse Engineering and Comprehension
of Complex Software Systems
1.2. Research Challenges
9
CH1 - Generic support for
heterogeneous technologies
CH2 - Ability to
extract useful data
CH 3 - Coverage of
static vs. dynamic
aspects
CH4 - Capability of federating
and/or tracing different data
Model driven reverse
engineering solution (CH1-2-3)
Extension on behavior
Model view solution (CH1-3-4)
Detailed state-of-the-art
1.3. Proposed Contributions
10
11
2. Background on Modeling / MDE
represents
System
Modeling / Model Driven Engineering (MDE)
“A model of a system or process is a theoretical description that
can help you understand how the system or process works, or how it
might work.” (Collins Dictionary, 2018)
2. Background on Modeling / MDE (1/3)
12
Model
Perspective / Aspect(s)
A “standard” 3-layer (modeling) stack
2. Background on Modeling / MDE (2/3)
13
Modeling technical space (TS)
A “standard” 3-layer (modeling) stack
2. Background on Modeling / MDE (2/3)
14
Modeling technical space (TS) Language TS XML TS
Different types of model transformations
And also text-to-model (Model Discovery)...
2. Background on Modeling / MDE (3/3)
15
model-to-model
(Model Transformation)
model-to-text
(Code Generation)
Different types of model transformations
And also text-to-model (Model Discovery)...
2. Background on Modeling / MDE (3/3)
16
model-to-model
(Model Transformation)
model-to-text
(Code Generation)
17
3. Model Driven Reverse Engineering
Reverse Engineering is “the process of examining an
already implemented software system to represent it in a
different form/formalism and at a higher abstraction level”
E. J. Chikofsky and J. H. Cross. Reverse Engineering and Design Recovery: A Taxonomy.
IEEE Software, 7(1):13–17, 1990
3. Model Driven Reverse Engineering
18
Bruneliere, H., Cabot, J., Dupe, G. & Madiot, F.
MoDisco: a Model Driven Reverse Engineering Framework.
In Information and Software Technology (IST), 2014. Elsevier.
Model Driven
Reverse Engineering
Models!
● MDRE vs. Reverse Engineering (early 2000’s)
Analysis platforms, language workbenches
OMG’s Architecture Driven Modernization
3.1. MDRE: State-of-the-Art
19
Specific MDRE solutions
Programming languages (Java, C++)
Goals (migration, integration, analysis)
General-purpose MDRE solutions
Some general modeling (commercial) tools
Few generic MDRE solutions...
RQ4
Structural vs.
Behavioral
Complexity
3.2. MDRE: Challenges
20
RQ1
Technical
Heterogeneity
RQ2
Adaptability /
Portability
RQ3
Scalability
Are we able to deploy our approach on practical
scenarios / systems of various technical natures?
Are we able to adapt and reuse our approach /
components as part of other (MDRE) solutions?
Are we able to use our approach in the context of
large-scale scenarios / systems?
Are we able to use our approach to tackle all
levels of structural and behavioral complexity?
MDRE framework architecture
Reuse and integration examples
Technology-specific components
Technology-independent bricks
3.3. MDRE: Conceptual Approach (1/3)
21
Model Driven Reverse Engineering
=
Model Discovery + Model Understanding
Model Discovery
3.3. MDRE: Conceptual Approach (2/3)
22
General principle
Possible two-step
process
Model Discovery
3.3. MDRE: Conceptual Approach (2/3)
23
General principle
Possible two-step
process
3.3. MDRE: Conceptual Approach (3/3)
24
Model Understanding
Up to 6 committers, 10 contributors
3.4. MDRE: Implementation (1/3)
25
More than 2,000,000 lines of code
More than 1000 “bugs”, 1000 posts on forum
Eclipse Simultaneous Releases each year
Technical Architecture
3.4. MDRE: Implementation (2/3)
26
Components
3.4. MDRE: Implementation (3/3)
27
MDRE concrete use cases from Mia-Software
3.5. MDRE: Qualitative Evaluation (1/2)
28
RQ4
Structural vs.
Behavioral
Complexity
RQ1
Technical
Heterogeneity
UC1 - Java Application
Refactoring
MDRE concrete use cases from Mia-Software
3.5. MDRE: Qualitative Evaluation (2/2)
29
RQ1
Technical
Heterogeneity
RQ2
Adaptability /
Portability
UC2 - Code Quality
Evaluation
Performance Benchmarks
(E.g. 325K LOC, 1.5M elements)
3.5. MDRE: Quantitative Evaluation
30
RQ3
Scalability
BENCH1 - Size of the
discovered models
BENCH3 - Internal
repartition of effort
BENCH2 - Memory
footprint vs. CPU time
3.6. MDRE: Conclusion
31
Model driven reverse engineering
(MDRE) solution - MoDisco
→ Conceptual approach
→ Eclipse-based framework
→ Extension on behavior - fREX
32
4. Model Federation and Comprehension
(Many) Heterogeneous models describing systems
MDRE processes, other tools, manually produced.
Scattering, overlapping, redundancy, etc.
4. Model Federation and Comprehension
33
Model Driven
Reverse Engineering
Model Federation
and Comprehension
Model views!
Views in Software Engineering
Pre-fixed and specific viewpoints
Architecture frameworks (e.g. Zachman)
Lack of flexibility (evolving viewpoints)
4.1. Model Views: State-of-the-Art
34
Model-based views
Model queries, transformations
Various model view solutions
Similarities and differences...
Bruneliere, H., Burger, E., Cabot, J. & Wimmer, M.
A Feature-based Survey of Model View Approaches.
In Journal on Software and Systems Modeling (SoSyM), 2017. Springer.
SoSyM 2018 Best Paper Award, also published and presented at ACM/IEEE MODELS 2018.
4.2. Model Views: Challenges
35
RQ5
Scalability
RQ6
View
Maintenance
RQ7
View Update
Are we able to use our approach in the context
of large-scale scenarios / models?
Are we able to ensure synchronization from the
contributing models to the produced views?
Are we able to ensure synchronization from the
produced views to the contributing models?
Miscellaneous: Terminology inconsistencies, concrete
syntax generation, security aspects, etc.
Concept of Model Virtualization
A virtual model is a model whose (virtual)
elements are proxies to actual elements
contained in other models
A virtual metamodel is a metamodel…
4.3. Model Views: Conceptual Approach (1/5)
36
View = (Virtual) Model
&
Viewpoint = (Virtual) Metamodel
Bruneliere, H., Garcia, J.,Wimmer, M. & Cabot, J.
EMF Views: A View Mechanism for Integrating Heterogeneous Models.
In 34th International Conference on Conceptual Modeling (ER 2015), 2015. Springer.
Overview
4.3. Model Views: Conceptual Approach (2/5)
37
Overview
4.3. Model Views: Conceptual Approach (2/5)
38
Core virtualization (weaving) metamodel
4.3. Model Views: Conceptual Approach (3/5)
39
4.3. Model Views: Conceptual Approach (4/5)
40
...
Viewpoint/View specification DSLs
ViewPoint Description Language (VPDL)
...
Viewpoint/View specification DSLs
Metamodel Extension Language (MEL)
4.3. Model Views: Conceptual Approach (5/5)
41
Bruneliere, H., Garcia, J., Desfray, P., Khelladi, D.E., Hebig, R., Bendraou, R. & Cabot, J.
On Lightweight Metamodel Extension to Support Modeling Tools Agility.
In 11th European Conference on Modelling Foundations and Applications (ECMFA 2015) (a STAF 2015 conference), 2015. Springer.
2 committers, 2 contributors
4.4. Model Views: Implementation (1/4)
42
More than 40,000 lines of code
Tutorials, examples, documentation
Regular builds + Eclipse update site
4.4. Model Views: Implementation (2/4)
43
EMF Views - Design Time
4.4. Model Views: Implementation (3/4)
44
EMF Views - Runtime
4.4. Model Views: Implementation (4/4)
45
Motivating example from MegaM@Rt2 EU project
4.5. Model Views: Quantitative Evaluation (1/2)
46
Bruneliere, H., Marchand de Kerchove, F., Daniel, G. & Cabot, J.
Towards Scalable Model Views on Heterogeneous Model Resources.
In ACM/IEEE 21st International Conference on Model Driven Engineering Languages and Systems (MODELS 2018), 2018. ACM.
4.5. Model Views: Quantitative Evaluation (2/2)
47
Performance Benchmarks
(Model size from 10¹ to 10⁶ elements)
RQ5
Scalability
BENCH1 -
View data creation
BENCH3 -
View querying
BENCH2 -
View loading
Time (in seconds)
to load the view
4.6. Model Views: Conclusion
48
Model view solution - EMF Views
→ Detailed state-of-the-art / survey
on model view approaches
→ Conceptual approach
→ Eclipse-based framework
49
5. General Conclusion
Model-based infrastructure to facilitate the reverse
engineering and comprehension of possibly complex
and/or heterogeneous software systems
5.1. General Summary
50
Legacy car manufacturing
Software System
Model Driven
Reverse Engineering
Forward Engineering
Model Federation
and Comprehension
(Model Views)
New car manufacturing
Software System
5.2. Perspectives and Future Work
51
More & more
Software to
maintain & evolve!
(e.g. Industry 4.0)
Cloud/Fog
Computing
Internet of
Things (IoT)
Big Data,
Machine Learning
Future
trends...
Afzal, W., Bruneliere, H., Di Ruscio, D., Sadovykh, A., Mazzini, S., Cariou, E., Truscan, D., Cabot, J, et al.
The MegaM@Rt2 ECSEL Project - Scalable Model-based Framework for Continuous Development and Runtime Validation of Complex Systems.
In Journal of Microprocessors and Microsystems (MICPRO), 2018. Elsevier.
5.2. Perspectives and Future Work
52
More & more
Software to
maintain & evolve!
(e.g. Industry 4.0)
Cloud/Fog
Computing
Internet of
Things (IoT)
Big Data,
Machine Learning
Future
trends...
Heterogeneity
/ Adaptability
Scalability
Runtime vs.
Design
Afzal, W., Bruneliere, H., Di Ruscio, D., Sadovykh, A., Mazzini, S., Cariou, E., Truscan, D., Cabot, J, et al.
The MegaM@Rt2 ECSEL Project - Scalable Model-based Framework for Continuous Development and Runtime Validation of Complex Systems.
In Journal of Microprocessors and Microsystems (MICPRO), 2018. Elsevier.
Eclipse MoDisco
https://www.eclipse.org/MoDisco/
EMF Views
https://www.atlanmod.org/emfviews
Thank you for your attention
53

More Related Content

What's hot

Apresentação Projeto Website Caso PMI AM - Ciclo de Palestras
Apresentação Projeto Website Caso PMI AM - Ciclo de PalestrasApresentação Projeto Website Caso PMI AM - Ciclo de Palestras
Apresentação Projeto Website Caso PMI AM - Ciclo de PalestrasRenato Borges, MBA, PMP,CBPP
 
5th Qatar BIM User Day, Defining the role of the BIM Manager
5th Qatar BIM User Day, Defining the role of the BIM Manager5th Qatar BIM User Day, Defining the role of the BIM Manager
5th Qatar BIM User Day, Defining the role of the BIM ManagerBIM User Day
 
Arquitetura de Software
Arquitetura de SoftwareArquitetura de Software
Arquitetura de SoftwareAricelio Souza
 
Autodesk Construction Cloud.pptx
Autodesk Construction Cloud.pptxAutodesk Construction Cloud.pptx
Autodesk Construction Cloud.pptxMustafa Ahmed
 
Inteligência Artificial e suas aplicações - A experiência do TECPAR
Inteligência Artificial e suas aplicações  - A experiência do TECPARInteligência Artificial e suas aplicações  - A experiência do TECPAR
Inteligência Artificial e suas aplicações - A experiência do TECPARBruno Campagnolo
 
X-Zone - Garantia da Qualidade de Software
X-Zone - Garantia da Qualidade de SoftwareX-Zone - Garantia da Qualidade de Software
X-Zone - Garantia da Qualidade de SoftwareAlexandreBartie
 
SimfiaNeo - Workbench for Safety Analysis powered by Sirius
SimfiaNeo - Workbench for Safety Analysis powered by SiriusSimfiaNeo - Workbench for Safety Analysis powered by Sirius
SimfiaNeo - Workbench for Safety Analysis powered by SiriusObeo
 
How to conduct field research for mobile apps
How to conduct field research for mobile appsHow to conduct field research for mobile apps
How to conduct field research for mobile appsUXPA International
 
Pwnable study basic_3
Pwnable study basic_3Pwnable study basic_3
Pwnable study basic_3Jinkyoung Kim
 
Writer Atividade
Writer AtividadeWriter Atividade
Writer AtividadeLene Leros
 
Bachelor Thesis Presentation
Bachelor Thesis PresentationBachelor Thesis Presentation
Bachelor Thesis PresentationChristian Kehl
 
Scan to bim service brochure
Scan to bim service brochure Scan to bim service brochure
Scan to bim service brochure ViBIM
 

What's hot (14)

Urban Analytics & Information Fusion with CityGML
Urban Analytics & Information Fusion with CityGMLUrban Analytics & Information Fusion with CityGML
Urban Analytics & Information Fusion with CityGML
 
Apresentação Projeto Website Caso PMI AM - Ciclo de Palestras
Apresentação Projeto Website Caso PMI AM - Ciclo de PalestrasApresentação Projeto Website Caso PMI AM - Ciclo de Palestras
Apresentação Projeto Website Caso PMI AM - Ciclo de Palestras
 
5th Qatar BIM User Day, Defining the role of the BIM Manager
5th Qatar BIM User Day, Defining the role of the BIM Manager5th Qatar BIM User Day, Defining the role of the BIM Manager
5th Qatar BIM User Day, Defining the role of the BIM Manager
 
Arquitetura de Software
Arquitetura de SoftwareArquitetura de Software
Arquitetura de Software
 
Autodesk Construction Cloud.pptx
Autodesk Construction Cloud.pptxAutodesk Construction Cloud.pptx
Autodesk Construction Cloud.pptx
 
Segurança em Desenvolvimento de Software
Segurança em Desenvolvimento de SoftwareSegurança em Desenvolvimento de Software
Segurança em Desenvolvimento de Software
 
Inteligência Artificial e suas aplicações - A experiência do TECPAR
Inteligência Artificial e suas aplicações  - A experiência do TECPARInteligência Artificial e suas aplicações  - A experiência do TECPAR
Inteligência Artificial e suas aplicações - A experiência do TECPAR
 
X-Zone - Garantia da Qualidade de Software
X-Zone - Garantia da Qualidade de SoftwareX-Zone - Garantia da Qualidade de Software
X-Zone - Garantia da Qualidade de Software
 
SimfiaNeo - Workbench for Safety Analysis powered by Sirius
SimfiaNeo - Workbench for Safety Analysis powered by SiriusSimfiaNeo - Workbench for Safety Analysis powered by Sirius
SimfiaNeo - Workbench for Safety Analysis powered by Sirius
 
How to conduct field research for mobile apps
How to conduct field research for mobile appsHow to conduct field research for mobile apps
How to conduct field research for mobile apps
 
Pwnable study basic_3
Pwnable study basic_3Pwnable study basic_3
Pwnable study basic_3
 
Writer Atividade
Writer AtividadeWriter Atividade
Writer Atividade
 
Bachelor Thesis Presentation
Bachelor Thesis PresentationBachelor Thesis Presentation
Bachelor Thesis Presentation
 
Scan to bim service brochure
Scan to bim service brochure Scan to bim service brochure
Scan to bim service brochure
 

Similar to Model-driven approaches for software reverse engineering and comprehension

Model Manipulation for End-User Modelers
Model Manipulation for End-User ModelersModel Manipulation for End-User Modelers
Model Manipulation for End-User ModelersVlad Acretoaie
 
Software development effort reduction with Co-op
Software development effort reduction with Co-opSoftware development effort reduction with Co-op
Software development effort reduction with Co-oplbergmans
 
SADP PPTs of all modules - Shanthi D.L.pdf
SADP PPTs of all modules - Shanthi D.L.pdfSADP PPTs of all modules - Shanthi D.L.pdf
SADP PPTs of all modules - Shanthi D.L.pdfB.T.L.I.T
 
Re-Engineering Graphical User Interfaces from their Resource Files with UsiRe...
Re-Engineering Graphical User Interfaces from their Resource Files with UsiRe...Re-Engineering Graphical User Interfaces from their Resource Files with UsiRe...
Re-Engineering Graphical User Interfaces from their Resource Files with UsiRe...Jean Vanderdonckt
 
Software architecture styles families_research_gssi_nov2013
Software architecture styles families_research_gssi_nov2013Software architecture styles families_research_gssi_nov2013
Software architecture styles families_research_gssi_nov2013Henry Muccini
 
Using Model-Driven Engineering for Decision Support Systems Modelling, Implem...
Using Model-Driven Engineering for Decision Support Systems Modelling, Implem...Using Model-Driven Engineering for Decision Support Systems Modelling, Implem...
Using Model-Driven Engineering for Decision Support Systems Modelling, Implem...CSCJournals
 
Bio inspired use case variability modelling, ijsea
Bio inspired use case variability modelling, ijseaBio inspired use case variability modelling, ijsea
Bio inspired use case variability modelling, ijseaijseajournal
 
A Survey on Design Pattern Detection Approaches
A Survey on Design Pattern Detection ApproachesA Survey on Design Pattern Detection Approaches
A Survey on Design Pattern Detection ApproachesCSCJournals
 
Truong Ho-Quang's Ph.D Defence Presentation
Truong Ho-Quang's Ph.D Defence PresentationTruong Ho-Quang's Ph.D Defence Presentation
Truong Ho-Quang's Ph.D Defence PresentationHo Quang Truong
 
Taming Complexity: On Studying the Application of Model-Driven Engineering to...
Taming Complexity: On Studying the Application of Model-Driven Engineering to...Taming Complexity: On Studying the Application of Model-Driven Engineering to...
Taming Complexity: On Studying the Application of Model-Driven Engineering to...Florian Rademacher
 
A Study on MDE Approaches for Engineering Wireless Sensor Networks
A Study on MDE Approaches  for Engineering Wireless Sensor Networks A Study on MDE Approaches  for Engineering Wireless Sensor Networks
A Study on MDE Approaches for Engineering Wireless Sensor Networks Ivano Malavolta
 
On Modeling and Testing When Unpredictability Becomes the Pattern (April 2nd,...
On Modeling and Testing When Unpredictability Becomes the Pattern (April 2nd,...On Modeling and Testing When Unpredictability Becomes the Pattern (April 2nd,...
On Modeling and Testing When Unpredictability Becomes the Pattern (April 2nd,...Benoit Combemale
 
Software Engineering with Objects (M363) Final Revision By Kuwait10
Software Engineering with Objects (M363) Final Revision By Kuwait10Software Engineering with Objects (M363) Final Revision By Kuwait10
Software Engineering with Objects (M363) Final Revision By Kuwait10Kuwait10
 
OOAD-Unit1.ppt
OOAD-Unit1.pptOOAD-Unit1.ppt
OOAD-Unit1.pptrituah
 
Spy On Your Models, Standard talk at EclipseCon 2011
Spy On Your Models, Standard talk at EclipseCon 2011Spy On Your Models, Standard talk at EclipseCon 2011
Spy On Your Models, Standard talk at EclipseCon 2011Hugo Bruneliere
 

Similar to Model-driven approaches for software reverse engineering and comprehension (20)

Model Manipulation for End-User Modelers
Model Manipulation for End-User ModelersModel Manipulation for End-User Modelers
Model Manipulation for End-User Modelers
 
Introduction to MDE
Introduction to MDEIntroduction to MDE
Introduction to MDE
 
Software development effort reduction with Co-op
Software development effort reduction with Co-opSoftware development effort reduction with Co-op
Software development effort reduction with Co-op
 
SADP PPTs of all modules - Shanthi D.L.pdf
SADP PPTs of all modules - Shanthi D.L.pdfSADP PPTs of all modules - Shanthi D.L.pdf
SADP PPTs of all modules - Shanthi D.L.pdf
 
Re-Engineering Graphical User Interfaces from their Resource Files with UsiRe...
Re-Engineering Graphical User Interfaces from their Resource Files with UsiRe...Re-Engineering Graphical User Interfaces from their Resource Files with UsiRe...
Re-Engineering Graphical User Interfaces from their Resource Files with UsiRe...
 
Software architecture styles families_research_gssi_nov2013
Software architecture styles families_research_gssi_nov2013Software architecture styles families_research_gssi_nov2013
Software architecture styles families_research_gssi_nov2013
 
Using Model-Driven Engineering for Decision Support Systems Modelling, Implem...
Using Model-Driven Engineering for Decision Support Systems Modelling, Implem...Using Model-Driven Engineering for Decision Support Systems Modelling, Implem...
Using Model-Driven Engineering for Decision Support Systems Modelling, Implem...
 
Bio inspired use case variability modelling, ijsea
Bio inspired use case variability modelling, ijseaBio inspired use case variability modelling, ijsea
Bio inspired use case variability modelling, ijsea
 
A Survey on Design Pattern Detection Approaches
A Survey on Design Pattern Detection ApproachesA Survey on Design Pattern Detection Approaches
A Survey on Design Pattern Detection Approaches
 
Truong Ho-Quang's Ph.D Defence Presentation
Truong Ho-Quang's Ph.D Defence PresentationTruong Ho-Quang's Ph.D Defence Presentation
Truong Ho-Quang's Ph.D Defence Presentation
 
24 Reasons Why Variability Models Are Not Yet Universal (24RWVMANYU)
24 Reasons Why Variability Models Are Not Yet Universal (24RWVMANYU)24 Reasons Why Variability Models Are Not Yet Universal (24RWVMANYU)
24 Reasons Why Variability Models Are Not Yet Universal (24RWVMANYU)
 
Taming Complexity: On Studying the Application of Model-Driven Engineering to...
Taming Complexity: On Studying the Application of Model-Driven Engineering to...Taming Complexity: On Studying the Application of Model-Driven Engineering to...
Taming Complexity: On Studying the Application of Model-Driven Engineering to...
 
ALT
ALTALT
ALT
 
A Study on MDE Approaches for Engineering Wireless Sensor Networks
A Study on MDE Approaches  for Engineering Wireless Sensor Networks A Study on MDE Approaches  for Engineering Wireless Sensor Networks
A Study on MDE Approaches for Engineering Wireless Sensor Networks
 
On Modeling and Testing When Unpredictability Becomes the Pattern (April 2nd,...
On Modeling and Testing When Unpredictability Becomes the Pattern (April 2nd,...On Modeling and Testing When Unpredictability Becomes the Pattern (April 2nd,...
On Modeling and Testing When Unpredictability Becomes the Pattern (April 2nd,...
 
Software Engineering with Objects (M363) Final Revision By Kuwait10
Software Engineering with Objects (M363) Final Revision By Kuwait10Software Engineering with Objects (M363) Final Revision By Kuwait10
Software Engineering with Objects (M363) Final Revision By Kuwait10
 
Csmr06a.ppt
Csmr06a.pptCsmr06a.ppt
Csmr06a.ppt
 
OOAD-Unit1.ppt
OOAD-Unit1.pptOOAD-Unit1.ppt
OOAD-Unit1.ppt
 
Spy On Your Models, Standard talk at EclipseCon 2011
Spy On Your Models, Standard talk at EclipseCon 2011Spy On Your Models, Standard talk at EclipseCon 2011
Spy On Your Models, Standard talk at EclipseCon 2011
 
MDE Diploma
MDE DiplomaMDE Diploma
MDE Diploma
 

More from Hugo Bruneliere

Scalable Model Views over Heterogeneous Modeling Technologies and Resources -...
Scalable Model Views over Heterogeneous Modeling Technologies and Resources -...Scalable Model Views over Heterogeneous Modeling Technologies and Resources -...
Scalable Model Views over Heterogeneous Modeling Technologies and Resources -...Hugo Bruneliere
 
Model-driven Design-Runtime Interaction in Safety Critical System Development...
Model-driven Design-Runtime Interaction in Safety Critical System Development...Model-driven Design-Runtime Interaction in Safety Critical System Development...
Model-driven Design-Runtime Interaction in Safety Critical System Development...Hugo Bruneliere
 
A Model-based Framework for Continuous Development and Runtime Validation of...
A Model-based Framework for Continuous Development and Runtime Validation  of...A Model-based Framework for Continuous Development and Runtime Validation  of...
A Model-based Framework for Continuous Development and Runtime Validation of...Hugo Bruneliere
 
Model Driven Engineering for Design-Runtime Interaction in Complex Systems: S...
Model Driven Engineering for Design-Runtime Interaction in Complex Systems: S...Model Driven Engineering for Design-Runtime Interaction in Complex Systems: S...
Model Driven Engineering for Design-Runtime Interaction in Complex Systems: S...Hugo Bruneliere
 
Towards Scalable Model Views on Heterogeneous Model Resources - MODELS 2018 @...
Towards Scalable Model Views on Heterogeneous Model Resources - MODELS 2018 @...Towards Scalable Model Views on Heterogeneous Model Resources - MODELS 2018 @...
Towards Scalable Model Views on Heterogeneous Model Resources - MODELS 2018 @...Hugo Bruneliere
 
A Feature-based Survey of Model View Approaches (SOSYM 2018 Best Paper Award)...
A Feature-based Survey of Model View Approaches (SOSYM 2018 Best Paper Award)...A Feature-based Survey of Model View Approaches (SOSYM 2018 Best Paper Award)...
A Feature-based Survey of Model View Approaches (SOSYM 2018 Best Paper Award)...Hugo Bruneliere
 
fREX: fUML-based Reverse Engineering of Executable Behavior for Software Dyna...
fREX: fUML-based Reverse Engineering of Executable Behavior for Software Dyna...fREX: fUML-based Reverse Engineering of Executable Behavior for Software Dyna...
fREX: fUML-based Reverse Engineering of Executable Behavior for Software Dyna...Hugo Bruneliere
 
EMF Views: A View Mechanism for Integrating Heterogeneous Models - ER 2015 @ ...
EMF Views: A View Mechanism for Integrating Heterogeneous Models - ER 2015 @ ...EMF Views: A View Mechanism for Integrating Heterogeneous Models - ER 2015 @ ...
EMF Views: A View Mechanism for Integrating Heterogeneous Models - ER 2015 @ ...Hugo Bruneliere
 
On Lightweight Metamodel Extension to Support Modeling Tools Agility - ECMFA...
On Lightweight  Metamodel Extension to Support Modeling Tools Agility - ECMFA...On Lightweight  Metamodel Extension to Support Modeling Tools Agility - ECMFA...
On Lightweight Metamodel Extension to Support Modeling Tools Agility - ECMFA...Hugo Bruneliere
 
Migrating Applications to the Cloud with Eclipse Technologies: Feedback from ...
Migrating Applications to the Cloud with Eclipse Technologies: Feedback from ...Migrating Applications to the Cloud with Eclipse Technologies: Feedback from ...
Migrating Applications to the Cloud with Eclipse Technologies: Feedback from ...Hugo Bruneliere
 
Developing Open Source MDE Tools / Eclipse Stories and Lessons Learned - OSS4...
Developing Open Source MDE Tools / Eclipse Stories and Lessons Learned - OSS4...Developing Open Source MDE Tools / Eclipse Stories and Lessons Learned - OSS4...
Developing Open Source MDE Tools / Eclipse Stories and Lessons Learned - OSS4...Hugo Bruneliere
 
Neo4EMF : big models made easier! @ EclipseCon France 2014 - Ignite Talks Ses...
Neo4EMF : big models made easier! @ EclipseCon France 2014 - Ignite Talks Ses...Neo4EMF : big models made easier! @ EclipseCon France 2014 - Ignite Talks Ses...
Neo4EMF : big models made easier! @ EclipseCon France 2014 - Ignite Talks Ses...Hugo Bruneliere
 
EMF Views - EclipseCon 2014, Modeling Symposium
EMF Views - EclipseCon 2014, Modeling SymposiumEMF Views - EclipseCon 2014, Modeling Symposium
EMF Views - EclipseCon 2014, Modeling SymposiumHugo Bruneliere
 
EMF-REST - EclipseCon Europe 2013, Modeling Symposium
EMF-REST - EclipseCon Europe 2013, Modeling SymposiumEMF-REST - EclipseCon Europe 2013, Modeling Symposium
EMF-REST - EclipseCon Europe 2013, Modeling SymposiumHugo Bruneliere
 
Introducing Eclipse MoDisco
Introducing Eclipse MoDiscoIntroducing Eclipse MoDisco
Introducing Eclipse MoDiscoHugo Bruneliere
 
TEAP MDE Framework for Enterprise Architecture - AMINO 2013 @ MODELS 2013
TEAP MDE Framework for Enterprise Architecture - AMINO 2013 @ MODELS 2013TEAP MDE Framework for Enterprise Architecture - AMINO 2013 @ MODELS 2013
TEAP MDE Framework for Enterprise Architecture - AMINO 2013 @ MODELS 2013Hugo Bruneliere
 
Collaboro - EclipseCon France 2013 - Ignite Talks Session
Collaboro - EclipseCon France 2013 - Ignite Talks SessionCollaboro - EclipseCon France 2013 - Ignite Talks Session
Collaboro - EclipseCon France 2013 - Ignite Talks SessionHugo Bruneliere
 
Collaboro - EclipseCon Europe 2012, Modeling Symposium
Collaboro - EclipseCon Europe 2012, Modeling SymposiumCollaboro - EclipseCon Europe 2012, Modeling Symposium
Collaboro - EclipseCon Europe 2012, Modeling SymposiumHugo Bruneliere
 
Eclipse Labs for Improving DSL Development - Eclipse DemoCamp Juno 2012 in Na...
Eclipse Labs for Improving DSL Development - Eclipse DemoCamp Juno 2012 in Na...Eclipse Labs for Improving DSL Development - Eclipse DemoCamp Juno 2012 in Na...
Eclipse Labs for Improving DSL Development - Eclipse DemoCamp Juno 2012 in Na...Hugo Bruneliere
 
EMF Facet vs. EMF Profiles - EclipseCon North America 2012, Modeling Symposium
EMF Facet vs. EMF Profiles - EclipseCon North America 2012, Modeling SymposiumEMF Facet vs. EMF Profiles - EclipseCon North America 2012, Modeling Symposium
EMF Facet vs. EMF Profiles - EclipseCon North America 2012, Modeling SymposiumHugo Bruneliere
 

More from Hugo Bruneliere (20)

Scalable Model Views over Heterogeneous Modeling Technologies and Resources -...
Scalable Model Views over Heterogeneous Modeling Technologies and Resources -...Scalable Model Views over Heterogeneous Modeling Technologies and Resources -...
Scalable Model Views over Heterogeneous Modeling Technologies and Resources -...
 
Model-driven Design-Runtime Interaction in Safety Critical System Development...
Model-driven Design-Runtime Interaction in Safety Critical System Development...Model-driven Design-Runtime Interaction in Safety Critical System Development...
Model-driven Design-Runtime Interaction in Safety Critical System Development...
 
A Model-based Framework for Continuous Development and Runtime Validation of...
A Model-based Framework for Continuous Development and Runtime Validation  of...A Model-based Framework for Continuous Development and Runtime Validation  of...
A Model-based Framework for Continuous Development and Runtime Validation of...
 
Model Driven Engineering for Design-Runtime Interaction in Complex Systems: S...
Model Driven Engineering for Design-Runtime Interaction in Complex Systems: S...Model Driven Engineering for Design-Runtime Interaction in Complex Systems: S...
Model Driven Engineering for Design-Runtime Interaction in Complex Systems: S...
 
Towards Scalable Model Views on Heterogeneous Model Resources - MODELS 2018 @...
Towards Scalable Model Views on Heterogeneous Model Resources - MODELS 2018 @...Towards Scalable Model Views on Heterogeneous Model Resources - MODELS 2018 @...
Towards Scalable Model Views on Heterogeneous Model Resources - MODELS 2018 @...
 
A Feature-based Survey of Model View Approaches (SOSYM 2018 Best Paper Award)...
A Feature-based Survey of Model View Approaches (SOSYM 2018 Best Paper Award)...A Feature-based Survey of Model View Approaches (SOSYM 2018 Best Paper Award)...
A Feature-based Survey of Model View Approaches (SOSYM 2018 Best Paper Award)...
 
fREX: fUML-based Reverse Engineering of Executable Behavior for Software Dyna...
fREX: fUML-based Reverse Engineering of Executable Behavior for Software Dyna...fREX: fUML-based Reverse Engineering of Executable Behavior for Software Dyna...
fREX: fUML-based Reverse Engineering of Executable Behavior for Software Dyna...
 
EMF Views: A View Mechanism for Integrating Heterogeneous Models - ER 2015 @ ...
EMF Views: A View Mechanism for Integrating Heterogeneous Models - ER 2015 @ ...EMF Views: A View Mechanism for Integrating Heterogeneous Models - ER 2015 @ ...
EMF Views: A View Mechanism for Integrating Heterogeneous Models - ER 2015 @ ...
 
On Lightweight Metamodel Extension to Support Modeling Tools Agility - ECMFA...
On Lightweight  Metamodel Extension to Support Modeling Tools Agility - ECMFA...On Lightweight  Metamodel Extension to Support Modeling Tools Agility - ECMFA...
On Lightweight Metamodel Extension to Support Modeling Tools Agility - ECMFA...
 
Migrating Applications to the Cloud with Eclipse Technologies: Feedback from ...
Migrating Applications to the Cloud with Eclipse Technologies: Feedback from ...Migrating Applications to the Cloud with Eclipse Technologies: Feedback from ...
Migrating Applications to the Cloud with Eclipse Technologies: Feedback from ...
 
Developing Open Source MDE Tools / Eclipse Stories and Lessons Learned - OSS4...
Developing Open Source MDE Tools / Eclipse Stories and Lessons Learned - OSS4...Developing Open Source MDE Tools / Eclipse Stories and Lessons Learned - OSS4...
Developing Open Source MDE Tools / Eclipse Stories and Lessons Learned - OSS4...
 
Neo4EMF : big models made easier! @ EclipseCon France 2014 - Ignite Talks Ses...
Neo4EMF : big models made easier! @ EclipseCon France 2014 - Ignite Talks Ses...Neo4EMF : big models made easier! @ EclipseCon France 2014 - Ignite Talks Ses...
Neo4EMF : big models made easier! @ EclipseCon France 2014 - Ignite Talks Ses...
 
EMF Views - EclipseCon 2014, Modeling Symposium
EMF Views - EclipseCon 2014, Modeling SymposiumEMF Views - EclipseCon 2014, Modeling Symposium
EMF Views - EclipseCon 2014, Modeling Symposium
 
EMF-REST - EclipseCon Europe 2013, Modeling Symposium
EMF-REST - EclipseCon Europe 2013, Modeling SymposiumEMF-REST - EclipseCon Europe 2013, Modeling Symposium
EMF-REST - EclipseCon Europe 2013, Modeling Symposium
 
Introducing Eclipse MoDisco
Introducing Eclipse MoDiscoIntroducing Eclipse MoDisco
Introducing Eclipse MoDisco
 
TEAP MDE Framework for Enterprise Architecture - AMINO 2013 @ MODELS 2013
TEAP MDE Framework for Enterprise Architecture - AMINO 2013 @ MODELS 2013TEAP MDE Framework for Enterprise Architecture - AMINO 2013 @ MODELS 2013
TEAP MDE Framework for Enterprise Architecture - AMINO 2013 @ MODELS 2013
 
Collaboro - EclipseCon France 2013 - Ignite Talks Session
Collaboro - EclipseCon France 2013 - Ignite Talks SessionCollaboro - EclipseCon France 2013 - Ignite Talks Session
Collaboro - EclipseCon France 2013 - Ignite Talks Session
 
Collaboro - EclipseCon Europe 2012, Modeling Symposium
Collaboro - EclipseCon Europe 2012, Modeling SymposiumCollaboro - EclipseCon Europe 2012, Modeling Symposium
Collaboro - EclipseCon Europe 2012, Modeling Symposium
 
Eclipse Labs for Improving DSL Development - Eclipse DemoCamp Juno 2012 in Na...
Eclipse Labs for Improving DSL Development - Eclipse DemoCamp Juno 2012 in Na...Eclipse Labs for Improving DSL Development - Eclipse DemoCamp Juno 2012 in Na...
Eclipse Labs for Improving DSL Development - Eclipse DemoCamp Juno 2012 in Na...
 
EMF Facet vs. EMF Profiles - EclipseCon North America 2012, Modeling Symposium
EMF Facet vs. EMF Profiles - EclipseCon North America 2012, Modeling SymposiumEMF Facet vs. EMF Profiles - EclipseCon North America 2012, Modeling Symposium
EMF Facet vs. EMF Profiles - EclipseCon North America 2012, Modeling Symposium
 

Recently uploaded

Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 

Recently uploaded (20)

Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 

Model-driven approaches for software reverse engineering and comprehension

  • 1. Generic Model-based Approaches for Software Reverse Engineering and Comprehension Ph.D. thesis defense, by Hugo Bruneliere hugo.bruneliere@imt-atlantique.fr 20th of December 2018 - Nantes, France University of Nantes referent: Gerson Sunyé Research work supervisor: Jordi Cabot
  • 2. 0. Preamble 1. General Introduction 2. Background - Modeling / Model Driven Engineering (MDE) 3. Model Driven Reverse Engineering (MDRE) 4. Model Federation and Comprehension (Model Views) 5. General Conclusion Outline 2
  • 3. Validation of Professional Experience and Knowledge 0. Preamble (1/2) 2006 2010 2017 R&D Engineer Research Engineer Researcher... Global Model Management Tool & Language Interoperability 3 Reverse Engineering Model Views / Viewpoints Cloud, CPSs, etc.
  • 4. Research work: state-of-the-art, conceptual approaches, metamodels, DSLs, technical architectures, papers, etc. Implementation: various collaborators & projects... 0. Preamble (2/2) Reverse Engineering Model Views / Viewpoints ... 4
  • 6. Legacy software systems to evolve... ...new requirements, technologies, business strategies, organizations, legislations, etc. 1.1. Context and Problem (1/3) 6 Software is (and will be) everywhere!
  • 7. Modernization / migration projects are fundamental Modeling / MDE principles and techniques could help! 1.1. Context and Problem (2/3) 7 C. Jones. The Technical and Social History of Software Engineering. Addison-Wesley, 2013.
  • 8. Modernization / migration process 1.1. Context and Problem (3/3) 8 Legacy car manufacturing Software System Reverse Engineering Forward Engineering Comprehension New car manufacturing Software System Bruneliere, H., Cabot, J., Canovas, J.L., Orue-Echevarria, L., Strauss, O. & Wimmer, M. Software Modernization Revisited: Challenges and Prospects. In Computer Magazine, 2015. IEEE.
  • 9. Reverse Engineering and Comprehension of Complex Software Systems 1.2. Research Challenges 9 CH1 - Generic support for heterogeneous technologies CH2 - Ability to extract useful data CH 3 - Coverage of static vs. dynamic aspects CH4 - Capability of federating and/or tracing different data
  • 10. Model driven reverse engineering solution (CH1-2-3) Extension on behavior Model view solution (CH1-3-4) Detailed state-of-the-art 1.3. Proposed Contributions 10
  • 11. 11 2. Background on Modeling / MDE
  • 12. represents System Modeling / Model Driven Engineering (MDE) “A model of a system or process is a theoretical description that can help you understand how the system or process works, or how it might work.” (Collins Dictionary, 2018) 2. Background on Modeling / MDE (1/3) 12 Model Perspective / Aspect(s)
  • 13. A “standard” 3-layer (modeling) stack 2. Background on Modeling / MDE (2/3) 13 Modeling technical space (TS)
  • 14. A “standard” 3-layer (modeling) stack 2. Background on Modeling / MDE (2/3) 14 Modeling technical space (TS) Language TS XML TS
  • 15. Different types of model transformations And also text-to-model (Model Discovery)... 2. Background on Modeling / MDE (3/3) 15 model-to-model (Model Transformation) model-to-text (Code Generation)
  • 16. Different types of model transformations And also text-to-model (Model Discovery)... 2. Background on Modeling / MDE (3/3) 16 model-to-model (Model Transformation) model-to-text (Code Generation)
  • 17. 17 3. Model Driven Reverse Engineering
  • 18. Reverse Engineering is “the process of examining an already implemented software system to represent it in a different form/formalism and at a higher abstraction level” E. J. Chikofsky and J. H. Cross. Reverse Engineering and Design Recovery: A Taxonomy. IEEE Software, 7(1):13–17, 1990 3. Model Driven Reverse Engineering 18 Bruneliere, H., Cabot, J., Dupe, G. & Madiot, F. MoDisco: a Model Driven Reverse Engineering Framework. In Information and Software Technology (IST), 2014. Elsevier. Model Driven Reverse Engineering Models!
  • 19. ● MDRE vs. Reverse Engineering (early 2000’s) Analysis platforms, language workbenches OMG’s Architecture Driven Modernization 3.1. MDRE: State-of-the-Art 19 Specific MDRE solutions Programming languages (Java, C++) Goals (migration, integration, analysis) General-purpose MDRE solutions Some general modeling (commercial) tools Few generic MDRE solutions...
  • 20. RQ4 Structural vs. Behavioral Complexity 3.2. MDRE: Challenges 20 RQ1 Technical Heterogeneity RQ2 Adaptability / Portability RQ3 Scalability Are we able to deploy our approach on practical scenarios / systems of various technical natures? Are we able to adapt and reuse our approach / components as part of other (MDRE) solutions? Are we able to use our approach in the context of large-scale scenarios / systems? Are we able to use our approach to tackle all levels of structural and behavioral complexity?
  • 21. MDRE framework architecture Reuse and integration examples Technology-specific components Technology-independent bricks 3.3. MDRE: Conceptual Approach (1/3) 21 Model Driven Reverse Engineering = Model Discovery + Model Understanding
  • 22. Model Discovery 3.3. MDRE: Conceptual Approach (2/3) 22 General principle Possible two-step process
  • 23. Model Discovery 3.3. MDRE: Conceptual Approach (2/3) 23 General principle Possible two-step process
  • 24. 3.3. MDRE: Conceptual Approach (3/3) 24 Model Understanding
  • 25. Up to 6 committers, 10 contributors 3.4. MDRE: Implementation (1/3) 25 More than 2,000,000 lines of code More than 1000 “bugs”, 1000 posts on forum Eclipse Simultaneous Releases each year
  • 26. Technical Architecture 3.4. MDRE: Implementation (2/3) 26
  • 28. MDRE concrete use cases from Mia-Software 3.5. MDRE: Qualitative Evaluation (1/2) 28 RQ4 Structural vs. Behavioral Complexity RQ1 Technical Heterogeneity UC1 - Java Application Refactoring
  • 29. MDRE concrete use cases from Mia-Software 3.5. MDRE: Qualitative Evaluation (2/2) 29 RQ1 Technical Heterogeneity RQ2 Adaptability / Portability UC2 - Code Quality Evaluation
  • 30. Performance Benchmarks (E.g. 325K LOC, 1.5M elements) 3.5. MDRE: Quantitative Evaluation 30 RQ3 Scalability BENCH1 - Size of the discovered models BENCH3 - Internal repartition of effort BENCH2 - Memory footprint vs. CPU time
  • 31. 3.6. MDRE: Conclusion 31 Model driven reverse engineering (MDRE) solution - MoDisco → Conceptual approach → Eclipse-based framework → Extension on behavior - fREX
  • 32. 32 4. Model Federation and Comprehension
  • 33. (Many) Heterogeneous models describing systems MDRE processes, other tools, manually produced. Scattering, overlapping, redundancy, etc. 4. Model Federation and Comprehension 33 Model Driven Reverse Engineering Model Federation and Comprehension Model views!
  • 34. Views in Software Engineering Pre-fixed and specific viewpoints Architecture frameworks (e.g. Zachman) Lack of flexibility (evolving viewpoints) 4.1. Model Views: State-of-the-Art 34 Model-based views Model queries, transformations Various model view solutions Similarities and differences... Bruneliere, H., Burger, E., Cabot, J. & Wimmer, M. A Feature-based Survey of Model View Approaches. In Journal on Software and Systems Modeling (SoSyM), 2017. Springer. SoSyM 2018 Best Paper Award, also published and presented at ACM/IEEE MODELS 2018.
  • 35. 4.2. Model Views: Challenges 35 RQ5 Scalability RQ6 View Maintenance RQ7 View Update Are we able to use our approach in the context of large-scale scenarios / models? Are we able to ensure synchronization from the contributing models to the produced views? Are we able to ensure synchronization from the produced views to the contributing models? Miscellaneous: Terminology inconsistencies, concrete syntax generation, security aspects, etc.
  • 36. Concept of Model Virtualization A virtual model is a model whose (virtual) elements are proxies to actual elements contained in other models A virtual metamodel is a metamodel… 4.3. Model Views: Conceptual Approach (1/5) 36 View = (Virtual) Model & Viewpoint = (Virtual) Metamodel Bruneliere, H., Garcia, J.,Wimmer, M. & Cabot, J. EMF Views: A View Mechanism for Integrating Heterogeneous Models. In 34th International Conference on Conceptual Modeling (ER 2015), 2015. Springer.
  • 37. Overview 4.3. Model Views: Conceptual Approach (2/5) 37
  • 38. Overview 4.3. Model Views: Conceptual Approach (2/5) 38
  • 39. Core virtualization (weaving) metamodel 4.3. Model Views: Conceptual Approach (3/5) 39
  • 40. 4.3. Model Views: Conceptual Approach (4/5) 40 ... Viewpoint/View specification DSLs ViewPoint Description Language (VPDL) ...
  • 41. Viewpoint/View specification DSLs Metamodel Extension Language (MEL) 4.3. Model Views: Conceptual Approach (5/5) 41 Bruneliere, H., Garcia, J., Desfray, P., Khelladi, D.E., Hebig, R., Bendraou, R. & Cabot, J. On Lightweight Metamodel Extension to Support Modeling Tools Agility. In 11th European Conference on Modelling Foundations and Applications (ECMFA 2015) (a STAF 2015 conference), 2015. Springer.
  • 42. 2 committers, 2 contributors 4.4. Model Views: Implementation (1/4) 42 More than 40,000 lines of code Tutorials, examples, documentation Regular builds + Eclipse update site
  • 43. 4.4. Model Views: Implementation (2/4) 43 EMF Views - Design Time
  • 44. 4.4. Model Views: Implementation (3/4) 44 EMF Views - Runtime
  • 45. 4.4. Model Views: Implementation (4/4) 45
  • 46. Motivating example from MegaM@Rt2 EU project 4.5. Model Views: Quantitative Evaluation (1/2) 46 Bruneliere, H., Marchand de Kerchove, F., Daniel, G. & Cabot, J. Towards Scalable Model Views on Heterogeneous Model Resources. In ACM/IEEE 21st International Conference on Model Driven Engineering Languages and Systems (MODELS 2018), 2018. ACM.
  • 47. 4.5. Model Views: Quantitative Evaluation (2/2) 47 Performance Benchmarks (Model size from 10¹ to 10⁶ elements) RQ5 Scalability BENCH1 - View data creation BENCH3 - View querying BENCH2 - View loading Time (in seconds) to load the view
  • 48. 4.6. Model Views: Conclusion 48 Model view solution - EMF Views → Detailed state-of-the-art / survey on model view approaches → Conceptual approach → Eclipse-based framework
  • 50. Model-based infrastructure to facilitate the reverse engineering and comprehension of possibly complex and/or heterogeneous software systems 5.1. General Summary 50 Legacy car manufacturing Software System Model Driven Reverse Engineering Forward Engineering Model Federation and Comprehension (Model Views) New car manufacturing Software System
  • 51. 5.2. Perspectives and Future Work 51 More & more Software to maintain & evolve! (e.g. Industry 4.0) Cloud/Fog Computing Internet of Things (IoT) Big Data, Machine Learning Future trends... Afzal, W., Bruneliere, H., Di Ruscio, D., Sadovykh, A., Mazzini, S., Cariou, E., Truscan, D., Cabot, J, et al. The MegaM@Rt2 ECSEL Project - Scalable Model-based Framework for Continuous Development and Runtime Validation of Complex Systems. In Journal of Microprocessors and Microsystems (MICPRO), 2018. Elsevier.
  • 52. 5.2. Perspectives and Future Work 52 More & more Software to maintain & evolve! (e.g. Industry 4.0) Cloud/Fog Computing Internet of Things (IoT) Big Data, Machine Learning Future trends... Heterogeneity / Adaptability Scalability Runtime vs. Design Afzal, W., Bruneliere, H., Di Ruscio, D., Sadovykh, A., Mazzini, S., Cariou, E., Truscan, D., Cabot, J, et al. The MegaM@Rt2 ECSEL Project - Scalable Model-based Framework for Continuous Development and Runtime Validation of Complex Systems. In Journal of Microprocessors and Microsystems (MICPRO), 2018. Elsevier.