SlideShare a Scribd company logo
1 of 87
What we’re working on –
Research lines on MDE and SE
(March 2015 Edition)
Inria Lillle
March 2015
Jordi Cabot (and colleagues)
jcabot@uoc.edu
http://modeling-languages.com
Research in MDE
MDE = Model-Driven Everything
3
MDE
(engineering)
MDSD
(software
development)
MDE
Pragmatic model verification
5
© AtlanMod - atlanmod-contact@mines-
nantes.fr
The need for formal specifications
6
Employee
age: Integer
age > =18
Please no
underaged
employees!
alter = 21
e3:Employeee1:Employee
age = 17
e2:Employee
age = 37  
7
© AtlanMod - atlanmod-contact@mines-
nantes.fr
Original
model
1st
refinement
nth
refinement
Model
Transformation
Model
Transformation
Source
Code
...
MDE-based software development process
Errors in models breed and generate
more errors in the code
Why model verification
Student
EnrolsIn20..*
Course
Likes
1
5 1
• Spot the error
It’s not that easy…
Person
name: string children
2
*
+ constraint : Nobody can be his own ancestor
parent
10
© AtlanMod - atlanmod-contact@mines-
nantes.fr
…..
No finite (and non-empty) solution
Consistent?
Proven?
Formalism / Logics
• Dynamic Logic (KEY)
• High-Order Logics (HOL-OCL)
• Deductive database queries (CQC)
• SAT (Alloy + UML2Alloy), …
Translate
Prove
Deduce
UML model
1. Class diagram
2. OCL constraints
Typical solutions
MDE
1E+18 scenarios for small
models (classes=10)
More than cells in the
human body!!!
Verification
Automation Efficiency
Expressiveness Precision (e.g.
completeness)
Decide what to sacrifice
Our pragmatic approach
14 © AtlanMod - atlanmod-contact@mines-nantes.fr
Solution?
Constraint Satisfaction Problem
1. Variables – basic types + struct/list
2. Domains – finite
3. Constraints – Prolog (+our OCL Prolog lib)
4. Property  Additional Constraint
Translate
Solve
Deduce
Property?
+
Model Constraints
Define cardinality variables
Constraints on cardinalities
Assign cardinalities
Define attribute variables
Constraints on attributes
Assign attributes
Proof
Resolution of the CSP
Trade-offs in verification
• Decidability/termination: is
automation possible? Yes
• Completeness: proof for any input?
No, bounded verification
• Expressiveness: input language?
UML class diagram + full static
OCL
• Basic Property: Satisfiabililty
Exists? Post?
Find legal
final state
Find legal
initial state
Inconsistent Model Proving
Example
UML Model
OCL
invariants
OCL
precondition
OCL
postcondition
Pre?
NO
YES
NO
YES
YES
NO
Verification of the Weak Executability Property
Also applied to
machine
op1
NAC:
machine
LHS:
machine
op2
RHS:
c :Class t :Tablec2t :Cl2Tb
name
persistent
name{new}
{new} {new}
{new} {new}
ATLTest (testing of M2M)
18© AtlanMod - atlanmod-contact@mines-nantes.fr
White-box approach: Analyzing the ATL code to
derive test models that “exercise” it
19
© AtlanMod - atlanmod-contact@mines-
nantes.fr
Model-based testing
OCL analysis to improve the partitioning –
EMFtoCSP to generate the test models
© AtlanMod - atlanmod-
contact@mines-nantes.fr
20
To read more
• Carlos A. González, Jordi Cabot: Formal verification of static
software models in MDE: A systematic review. Information &
Software Technology 56(8): 821-838 (2014)
• Jordi Cabot, Robert Clarisó, Daniel Riera: On the verification
of UML/OCL class diagrams using constraint
programming. Journal of Systems and Software 93: 1-23
(2014)
DSLs
How? Existing tools
Existing tools
No support for DSLs
creation
Our proposal
Collaboro
Participation Collaboration
But… technically?
• Providing means to discuss about language elements
• Overcoming technical barriers
Participation
• Suitable environment fostering end-user discussion
• Facilitating voting and decision processes
• Keeping traceability
Collaboration
Abstract Syntax
Concrete Syntax
Example of DSL creation/improvement with
Collaboro
Participation Collaboration
Participation CollaborationTraceability
Example: after
Collaboro process
Discussing the abstract syntax
Discussing the concrete syntax
Representing collaborations
© AtlanMod - atlanmod-
contact@mines-nantes.fr
41
To read more
• Javier Luis Cánovas Izquierdo, Jordi Cabot: Enabling the
Collaborative Definition of DSMLs. CAiSE 2013: 272-287
Very large models
EMF-REST: A REST API for your
models
• Addressable resources
– Eclipse: platform:/resource/project/Simpsons.xmi
– Web API: https://example.com/rest/Family/Simpsons
 Uniform and Constrained Interface & Statelessness
‒ CRUD operations using HTTP verbs : POST, GET, PUT, DELETE
PUT https://example.com/rest/Family/Simpsons/parents/Homer
• Representation-oriented
– JSON:
{"family":{"address":"742 Evergreen Terrace",…}}
– XML:
<family><address>742 Evergreen Terrace</address></family>
43 © AtlanMod - atlanmod-contact@mines-nantes.fr
Architecture of EMF-REST generated application
44 © AtlanMod - atlanmod-contact@mines-nantes.fr
EMF
JAX-RS
EJB/CDI
JAXB OCL JPA
JavaScript
API
Browser
REST Client
Validation SecurityNavigation/
Operation
Content
format
Content management
Web ClientWeb Application
45
© AtlanMod - atlanmod-contact@mines-
nantes.fr
Scalable persistence: NoSQL + Lazy loading
Sometimes you need to bypass the EMF API
© AtlanMod - atlanmod-
contact@mines-nantes.fr
47
To read more
• Amine Benelallam, Abel Gómez, Gerson Sunyé, Massimo
Tisi, David Launay: Neo4EMF, A Scalable Persistence Layer
for EMF Models.ECMFA 2014: 230-241
• Abel Gómez, Massimo Tisi, Gerson Sunyé and Jordi Cabot.
Map-based transparent persistence for very large models.
FASE 2015, to appear
Core MDE
MoDisco: Legacy to Cloud
Pre-Migration
(Feasibility
Assessment)
Migration
(Reverse Engineering +
Forward Engineering)
Post-Migration
(Validation,
Certification)
Migration Artifacts Reuse & Evolution
Target Environment Specification
Target
Requirements
Target
Selection
Cloudification
Optimization
Deployment
Business and Organizational aspects
MoDisco ATL Acceleo
CloudML
GoalML
UML
EPF GoalML fUML
50
© AtlanMod - atlanmod-contact@mines-
nantes.fr
EMFViews
Model c
Model b
Metamodel C
Runtime
Design time1
2
Viewpoint
(Metamodel)
View
(Model)
Metamodel B
Metamodel A
Model a
Viewpoint
Builder
(Virtualization)
View
Builder
(Virtualization)
Conforms to Conforms to
Weaving model
Weaving model
51
© AtlanMod - atlanmod-contact@mines-
nantes.fr
Similarly for metamodel extensions
Research by MDE
(MDE techniques to solve SE
challenges)
Security
Reverse Eng. of firewall security policies
Cisco Metamodel
Unify firewall configuration languages (and
semantics) for a global analysis
• Similar approach for databases, CMSs and Java web
clients
© AtlanMod - atlanmod-
contact@mines-nantes.fr
57
To read more
• Salvador Martínez Perez, Joaquín García-Alfaro, Frédéric
Cuppens, Nora Cuppens-Boulahia, Jordi Cabot: Model-
Driven Extraction and Analysis of Network Security
Policies. MoDELS 2013: 52-68
• Salvador Martínez Perez, Valerio Cosentino, Jordi
Cabot, Frédéric Cuppens: Reverse Engineering of Database
Security Policies. DEXA (2) 2013: 442-449
Governance
OSS development
59© AtlanMod - atlanmod-contact@mines-nantes.fr
How communities make decisions?
 Majority? Unanimity?
 Minimal participation level?
 Depending on the phase? (proposals,
comments, solution)
60© AtlanMod - atlanmod-contact@mines-nantes.fr
Governance model is a challenge
61© AtlanMod - atlanmod-contact@mines-nantes.fr
 From a survey among OSS contributors :
– Understanding the governance model (e.g.
who/when/how decides to accept a patch or
include it in the next release) was very
difficult (implicit, scattered,…)
– A clear view of this model would attract
more contributors
Let’s help all OSS projects define their
governance rules! (with MDE tools)
62© AtlanMod - atlanmod-contact@mines-nantes.fr
Tool architecture
63© AtlanMod - atlanmod-contact@mines-nantes.fr
Governance metamodel
64© AtlanMod - atlanmod-contact@mines-nantes.fr
Example of our DSL syntax (a wizard-
based tool to create the rules && a DSL-to-
English translation also available)
65© AtlanMod - atlanmod-contact@mines-nantes.fr
Project myProject {
Roles: Committers
Deadlines:
myDeadline : 7 days
Rules:
myMajorityRule : Majority {
applied to Task
when TaskReview
people Committers
range Present
minVotes 3
deadline myDeadline
}
}
© AtlanMod - atlanmod-
contact@mines-nantes.fr
66
To read more
• Enabling the Definition and Enforcement of Governance
Rules in Open Source Systems. Javier L. Canovas
Izquierdo; Jordi Cabot. ICSE SEIS 2015, to appear
Software Analysis
Complex ecosystem: We are
human!!!
doc
code
support
request
question
bug
pull request
How Labels are used
Title
Author
Description
Asignee
Status
Labels
Label Issues in GitHub
bug
duplicate
enhancement
help wanted
invalid
question
wontfix
Default labels
Label Issues in Github
Label Issues in Github
Label Issues in Github
GILA: What can labels teach you about your project?
Three simple yet powerful visualizations to better understand WHO is doing WHAT
Label Usage
User
involvement
Label
timeline
Visualize the labels used in your
GitHub project, their frequency and how
they relate to each other
Discover the most active users and
contributors per label: who opens
them? who closes them?
Understand the typical evolution of
issues under each label: when are they
discussed?, solved?, etc.
What can issue labels teach you about your project?
Three simple yet powerful visualizations to better understand WHO is doing WHAT
Label Usage
User
involvement
Label
timeline
Visualize the labels used in your
GitHub project, their frequency and how
they relate to each other
Discover the most active users and
contributors per label: who opens
them? who closes them?
Understand the typical evolution of
issues under each label: when are they
discussed?, solved?, etc.
What can issue labels teach you about your project?
Three simple yet powerful visualizations to better understand WHO is doing WHAT
Label Usage
User
involvement
Label
timeline
Visualize the labels used in your
GitHub project, their frequency and how
they relate to each other
Discover the most active users and
contributors per label: who opens
them? who closes them?
Understand the typical evolution of
issues under each label: when are they
discussed?, solved?, etc.
What can issue labels teach you about your project?
Three simple yet powerful visualizations to better understand WHO is doing WHAT
Label Usage
User
involvement
Label
timeline
Visualize the labels used in your
GitHub project, their frequency and how
they relate to each other
Discover the most active users and
contributors per label: who opens
them? who closes them?
Understand the typical evolution of
issues under each label: when are they
discussed?, solved?, etc.
GitHub Analysis
GHTorrent
RQ1. Label Usage
How many labels are used in Github? How many labels are
used per project? What are the most popular ones?
RQ2. Label Influence
For those projects using labels, does its usage influence the
evolution of the project?
GiLA
Early Research Achievement
Can we detect group of labels commonly used together? Are
there label families?
Label Usage in GitHub
Using Labels
122,012
3%
Not Using labels
3,635,026
97%
Lesson: Labels are scarcely used in GitHub
Label Influence
26.93
46.18
74.92
101.3
111.8
145.7
116.4
127.2
116.4
70.4
306.4
148.1
22.53
43.51
48.76
53.21
55.27 56.3
58.82 57.95 59.28
63.23
47.59
60.19
0
10
20
30
40
50
60
70
0
50
100
150
200
250
300
350
0 1 2 3 4 5 6 7 8 9 10 >10
# labels used in the project
Med. Time to solve % solved
On average, the percentage of solved labeled issues
tends to increase together with the number of labels
used in the project
It might come at the cost of taking more time to solve
those labeled issues
ρ = 0.80
ρ = 0.73
Detecting families
bug build
contribution
documentation
duplicate
0 - backlog
1 - ready
2 - working
3 - done
docs
enhancement
invalid
urgent
priority-high
high-priority
priority-low
question
priority-medium
usability
component-logic
component-notyi
component-ui
priority-low
component-mode-perl
component-ui-gtk
frontend-gtkfrontend-pango
milestone
imported
0.0.1
0.0.1
0.0.3
1.0.0.rc1
0.2.0
0.5.0
1.0.0 update
type-cleanup
p1 p2
p3
taken
fixeddiscuss milestone-release0.4
milestone-release0.7
performance
medium-priority
usability
wontfix
new
type-ask
low-priority
Calculating the bus factor?
“Number of key developers who would need to be
incapacitated (hit by a bus), to send the project into
such a disarray that it would not be able to proceed”
Why it is important?
Measuring the concentration of
information per developer
Assessing the employee
turnover risk
Why it is important?
Measuring the concentration of
information per developer
Assessing the employee
turnover risk
Identifying the key
developers in the project
Why it is important?
Measuring the concentration of
information per developer
Assessing the employee
turnover risk
Identifying the key
developers in the project
Identifying the developers
that can be lost
Our tool
Bus factor measurement Employee turnover simulation
© AtlanMod - atlanmod-
contact@mines-nantes.fr
87
To read more
• Jordi Cabot, Javier Luis Canovas Izquierdo, Valerio
Cosentino and Belen Rolandi. Exploring the Use of Labels to
Categorize Issues in Open-Source Software Projects.
SANER’15
• Valerio Cosentino, Javier Luis Canovas Izquierdo and Jordi
Cabot. Assessing the Bus Factor of Git Repositories.
SANER’15

More Related Content

What's hot

Model-driven Software Engineering in practice: Chapter 3 - MDSE Use cases
Model-driven Software Engineering in practice: Chapter 3 - MDSE Use casesModel-driven Software Engineering in practice: Chapter 3 - MDSE Use cases
Model-driven Software Engineering in practice: Chapter 3 - MDSE Use casesJordi Cabot
 
Model-Driven Software Engineering in Practice - Chapter 5 - Integration of Mo...
Model-Driven Software Engineering in Practice - Chapter 5 - Integration of Mo...Model-Driven Software Engineering in Practice - Chapter 5 - Integration of Mo...
Model-Driven Software Engineering in Practice - Chapter 5 - Integration of Mo...Marco Brambilla
 
Model-Driven Software Engineering in Practice - Chapter 4 - Model-Driven Arch...
Model-Driven Software Engineering in Practice - Chapter 4 - Model-Driven Arch...Model-Driven Software Engineering in Practice - Chapter 4 - Model-Driven Arch...
Model-Driven Software Engineering in Practice - Chapter 4 - Model-Driven Arch...Jordi Cabot
 
The secret life of rules in Software Engineering
The secret life of rules in Software EngineeringThe secret life of rules in Software Engineering
The secret life of rules in Software EngineeringJordi Cabot
 
Towards a UML and IFML mapping to GraphQL
Towards a UML and IFML mapping to GraphQLTowards a UML and IFML mapping to GraphQL
Towards a UML and IFML mapping to GraphQLJordi Cabot
 
Explicating and Reasoning with Model Uncertainty by Marsha Chechik (ECMFA'14 ...
Explicating and Reasoning with Model Uncertainty by Marsha Chechik (ECMFA'14 ...Explicating and Reasoning with Model Uncertainty by Marsha Chechik (ECMFA'14 ...
Explicating and Reasoning with Model Uncertainty by Marsha Chechik (ECMFA'14 ...Jordi Cabot
 
Web technologies: Model Driven Engineering
Web technologies: Model Driven EngineeringWeb technologies: Model Driven Engineering
Web technologies: Model Driven EngineeringPiero Fraternali
 
A UML profile for OData Web APIs
A UML profile for OData Web APIsA UML profile for OData Web APIs
A UML profile for OData Web APIsJordi Cabot
 
How to sustain a tool building community-driven effort
How to sustain a tool building community-driven effortHow to sustain a tool building community-driven effort
How to sustain a tool building community-driven effortJordi Cabot
 
Model driven development and code generation of software systems
Model driven development and code generation of software systemsModel driven development and code generation of software systems
Model driven development and code generation of software systemsMarco Brambilla
 
Software Modeling and Artificial Intelligence: friends or foes?
Software Modeling and Artificial Intelligence: friends or foes?Software Modeling and Artificial Intelligence: friends or foes?
Software Modeling and Artificial Intelligence: friends or foes?Jordi Cabot
 
Introduction to architectures based on models, models and metamodels. model d...
Introduction to architectures based on models, models and metamodels. model d...Introduction to architectures based on models, models and metamodels. model d...
Introduction to architectures based on models, models and metamodels. model d...Vicente García Díaz
 
A Model-Based Method for Seamless Web and Mobile Experience. Splash 2016 conf.
A Model-Based Method for  Seamless Web and Mobile Experience. Splash 2016 conf.A Model-Based Method for  Seamless Web and Mobile Experience. Splash 2016 conf.
A Model-Based Method for Seamless Web and Mobile Experience. Splash 2016 conf.Marco Brambilla
 
ATL tutorial - EclipseCon 2008
ATL tutorial - EclipseCon 2008ATL tutorial - EclipseCon 2008
ATL tutorial - EclipseCon 2008William Piers
 
Agile and Modeling / MDE : friends or foes? (Agile Tour Nantes 2010)
Agile and Modeling / MDE : friends or foes? (Agile Tour  Nantes 2010)Agile and Modeling / MDE : friends or foes? (Agile Tour  Nantes 2010)
Agile and Modeling / MDE : friends or foes? (Agile Tour Nantes 2010)Jordi Cabot
 
IFML - The interaction flow modeling language, the OMG standard for UI modeli...
IFML - The interaction flow modeling language, the OMG standard for UI modeli...IFML - The interaction flow modeling language, the OMG standard for UI modeli...
IFML - The interaction flow modeling language, the OMG standard for UI modeli...Marco Brambilla
 
Interaction Flow Modeling Language: updates on the Beta2 version - by the OMG...
Interaction Flow Modeling Language: updates on the Beta2 version - by the OMG...Interaction Flow Modeling Language: updates on the Beta2 version - by the OMG...
Interaction Flow Modeling Language: updates on the Beta2 version - by the OMG...Marco Brambilla
 

What's hot (20)

Model-driven Software Engineering in practice: Chapter 3 - MDSE Use cases
Model-driven Software Engineering in practice: Chapter 3 - MDSE Use casesModel-driven Software Engineering in practice: Chapter 3 - MDSE Use cases
Model-driven Software Engineering in practice: Chapter 3 - MDSE Use cases
 
Model-Driven Software Engineering in Practice - Chapter 5 - Integration of Mo...
Model-Driven Software Engineering in Practice - Chapter 5 - Integration of Mo...Model-Driven Software Engineering in Practice - Chapter 5 - Integration of Mo...
Model-Driven Software Engineering in Practice - Chapter 5 - Integration of Mo...
 
Model-Driven Software Engineering in Practice - Chapter 4 - Model-Driven Arch...
Model-Driven Software Engineering in Practice - Chapter 4 - Model-Driven Arch...Model-Driven Software Engineering in Practice - Chapter 4 - Model-Driven Arch...
Model-Driven Software Engineering in Practice - Chapter 4 - Model-Driven Arch...
 
The secret life of rules in Software Engineering
The secret life of rules in Software EngineeringThe secret life of rules in Software Engineering
The secret life of rules in Software Engineering
 
Towards a UML and IFML mapping to GraphQL
Towards a UML and IFML mapping to GraphQLTowards a UML and IFML mapping to GraphQL
Towards a UML and IFML mapping to GraphQL
 
Explicating and Reasoning with Model Uncertainty by Marsha Chechik (ECMFA'14 ...
Explicating and Reasoning with Model Uncertainty by Marsha Chechik (ECMFA'14 ...Explicating and Reasoning with Model Uncertainty by Marsha Chechik (ECMFA'14 ...
Explicating and Reasoning with Model Uncertainty by Marsha Chechik (ECMFA'14 ...
 
Web technologies: Model Driven Engineering
Web technologies: Model Driven EngineeringWeb technologies: Model Driven Engineering
Web technologies: Model Driven Engineering
 
A UML profile for OData Web APIs
A UML profile for OData Web APIsA UML profile for OData Web APIs
A UML profile for OData Web APIs
 
01 mde principles
01 mde principles01 mde principles
01 mde principles
 
How to sustain a tool building community-driven effort
How to sustain a tool building community-driven effortHow to sustain a tool building community-driven effort
How to sustain a tool building community-driven effort
 
Model driven development and code generation of software systems
Model driven development and code generation of software systemsModel driven development and code generation of software systems
Model driven development and code generation of software systems
 
Software Modeling and Artificial Intelligence: friends or foes?
Software Modeling and Artificial Intelligence: friends or foes?Software Modeling and Artificial Intelligence: friends or foes?
Software Modeling and Artificial Intelligence: friends or foes?
 
Introducing MDSD
Introducing MDSDIntroducing MDSD
Introducing MDSD
 
Cg 2011
Cg 2011Cg 2011
Cg 2011
 
Introduction to architectures based on models, models and metamodels. model d...
Introduction to architectures based on models, models and metamodels. model d...Introduction to architectures based on models, models and metamodels. model d...
Introduction to architectures based on models, models and metamodels. model d...
 
A Model-Based Method for Seamless Web and Mobile Experience. Splash 2016 conf.
A Model-Based Method for  Seamless Web and Mobile Experience. Splash 2016 conf.A Model-Based Method for  Seamless Web and Mobile Experience. Splash 2016 conf.
A Model-Based Method for Seamless Web and Mobile Experience. Splash 2016 conf.
 
ATL tutorial - EclipseCon 2008
ATL tutorial - EclipseCon 2008ATL tutorial - EclipseCon 2008
ATL tutorial - EclipseCon 2008
 
Agile and Modeling / MDE : friends or foes? (Agile Tour Nantes 2010)
Agile and Modeling / MDE : friends or foes? (Agile Tour  Nantes 2010)Agile and Modeling / MDE : friends or foes? (Agile Tour  Nantes 2010)
Agile and Modeling / MDE : friends or foes? (Agile Tour Nantes 2010)
 
IFML - The interaction flow modeling language, the OMG standard for UI modeli...
IFML - The interaction flow modeling language, the OMG standard for UI modeli...IFML - The interaction flow modeling language, the OMG standard for UI modeli...
IFML - The interaction flow modeling language, the OMG standard for UI modeli...
 
Interaction Flow Modeling Language: updates on the Beta2 version - by the OMG...
Interaction Flow Modeling Language: updates on the Beta2 version - by the OMG...Interaction Flow Modeling Language: updates on the Beta2 version - by the OMG...
Interaction Flow Modeling Language: updates on the Beta2 version - by the OMG...
 

Viewers also liked

Rule-Based Access-Control Evaluation through Model-Transformation
Rule-Based Access-Control Evaluation through Model-TransformationRule-Based Access-Control Evaluation through Model-Transformation
Rule-Based Access-Control Evaluation through Model-TransformationJordi Cabot
 
Findings from GitHub. Methods, Datasets and Limitations - MSR 2016 at ICSE
Findings from GitHub. Methods, Datasets and Limitations - MSR 2016 at ICSEFindings from GitHub. Methods, Datasets and Limitations - MSR 2016 at ICSE
Findings from GitHub. Methods, Datasets and Limitations - MSR 2016 at ICSEJordi Cabot
 
MetaScience: Holistic Approach for Research Modeling and Analysis
MetaScience: Holistic Approach for Research Modeling and AnalysisMetaScience: Holistic Approach for Research Modeling and Analysis
MetaScience: Holistic Approach for Research Modeling and AnalysisJordi Cabot
 
Governance Rules for Open Source Software Systems
Governance Rules for Open Source Software Systems Governance Rules for Open Source Software Systems
Governance Rules for Open Source Software Systems Jordi Cabot
 
PrefetchML: a Framework for Prefetching and Caching models
PrefetchML: a Framework for Prefetching and Caching modelsPrefetchML: a Framework for Prefetching and Caching models
PrefetchML: a Framework for Prefetching and Caching modelsJordi Cabot
 
Wanna see your open source project succeed? - Nurture your community
Wanna see your open source project succeed? - Nurture your communityWanna see your open source project succeed? - Nurture your community
Wanna see your open source project succeed? - Nurture your communityJordi Cabot
 
Improving Software Languages: usage patterns to the rescue
Improving Software Languages: usage patterns to the rescueImproving Software Languages: usage patterns to the rescue
Improving Software Languages: usage patterns to the rescueJordi Cabot
 
Mogwaï: a Framework to Handle Complex Queries on Large Models
Mogwaï: a Framework to Handle Complex Queries on Large ModelsMogwaï: a Framework to Handle Complex Queries on Large Models
Mogwaï: a Framework to Handle Complex Queries on Large ModelsJordi Cabot
 
Model-based Analysis of Java EE Web Security Configurations - Mise 2016
Model-based Analysis of Java EE Web Security Configurations - Mise 2016Model-based Analysis of Java EE Web Security Configurations - Mise 2016
Model-based Analysis of Java EE Web Security Configurations - Mise 2016Jordi Cabot
 
Looking at WordPress through the eyes of a Software Researcher
Looking at WordPress through the eyes of a Software ResearcherLooking at WordPress through the eyes of a Software Researcher
Looking at WordPress through the eyes of a Software ResearcherJordi Cabot
 
EMF Compare 2.0: Scaling to Millions (updated)
EMF Compare 2.0: Scaling to Millions (updated)EMF Compare 2.0: Scaling to Millions (updated)
EMF Compare 2.0: Scaling to Millions (updated)mikaelbarbero
 
MoDisco EclipseCon2010
MoDisco EclipseCon2010MoDisco EclipseCon2010
MoDisco EclipseCon2010fmadiot
 
Textual Modeling Framework Xtext
Textual Modeling Framework XtextTextual Modeling Framework Xtext
Textual Modeling Framework XtextSebastian Zarnekow
 
You need to extend your models? EMF Facet vs. EMF Profiles
You need to extend your models? EMF Facet vs. EMF ProfilesYou need to extend your models? EMF Facet vs. EMF Profiles
You need to extend your models? EMF Facet vs. EMF ProfilesPhilip Langer
 
Industrial and Academic Experiences with a User Interaction Modeling Language...
Industrial and Academic Experiences with a User Interaction Modeling Language...Industrial and Academic Experiences with a User Interaction Modeling Language...
Industrial and Academic Experiences with a User Interaction Modeling Language...Marco Brambilla
 
Night Knights: exploiting games to engage people in a citizen science campaign
Night Knights: exploiting games to engage people in a citizen science campaignNight Knights: exploiting games to engage people in a citizen science campaign
Night Knights: exploiting games to engage people in a citizen science campaignIrene Celino
 
The Unbearable Stupidity of Modeling
The Unbearable Stupidity of ModelingThe Unbearable Stupidity of Modeling
The Unbearable Stupidity of ModelingPeter Friese
 
EMF-REST: Generation of RESTful APIs from Models
EMF-REST: Generation of RESTful APIs from ModelsEMF-REST: Generation of RESTful APIs from Models
EMF-REST: Generation of RESTful APIs from ModelsHamza ED-DOUIBI
 

Viewers also liked (20)

Rule-Based Access-Control Evaluation through Model-Transformation
Rule-Based Access-Control Evaluation through Model-TransformationRule-Based Access-Control Evaluation through Model-Transformation
Rule-Based Access-Control Evaluation through Model-Transformation
 
Findings from GitHub. Methods, Datasets and Limitations - MSR 2016 at ICSE
Findings from GitHub. Methods, Datasets and Limitations - MSR 2016 at ICSEFindings from GitHub. Methods, Datasets and Limitations - MSR 2016 at ICSE
Findings from GitHub. Methods, Datasets and Limitations - MSR 2016 at ICSE
 
MetaScience: Holistic Approach for Research Modeling and Analysis
MetaScience: Holistic Approach for Research Modeling and AnalysisMetaScience: Holistic Approach for Research Modeling and Analysis
MetaScience: Holistic Approach for Research Modeling and Analysis
 
Governance Rules for Open Source Software Systems
Governance Rules for Open Source Software Systems Governance Rules for Open Source Software Systems
Governance Rules for Open Source Software Systems
 
PrefetchML: a Framework for Prefetching and Caching models
PrefetchML: a Framework for Prefetching and Caching modelsPrefetchML: a Framework for Prefetching and Caching models
PrefetchML: a Framework for Prefetching and Caching models
 
Wanna see your open source project succeed? - Nurture your community
Wanna see your open source project succeed? - Nurture your communityWanna see your open source project succeed? - Nurture your community
Wanna see your open source project succeed? - Nurture your community
 
Improving Software Languages: usage patterns to the rescue
Improving Software Languages: usage patterns to the rescueImproving Software Languages: usage patterns to the rescue
Improving Software Languages: usage patterns to the rescue
 
Mogwaï: a Framework to Handle Complex Queries on Large Models
Mogwaï: a Framework to Handle Complex Queries on Large ModelsMogwaï: a Framework to Handle Complex Queries on Large Models
Mogwaï: a Framework to Handle Complex Queries on Large Models
 
Model-based Analysis of Java EE Web Security Configurations - Mise 2016
Model-based Analysis of Java EE Web Security Configurations - Mise 2016Model-based Analysis of Java EE Web Security Configurations - Mise 2016
Model-based Analysis of Java EE Web Security Configurations - Mise 2016
 
Looking at WordPress through the eyes of a Software Researcher
Looking at WordPress through the eyes of a Software ResearcherLooking at WordPress through the eyes of a Software Researcher
Looking at WordPress through the eyes of a Software Researcher
 
OCL tutorial
OCL tutorial OCL tutorial
OCL tutorial
 
EMF Compare 2.0: Scaling to Millions (updated)
EMF Compare 2.0: Scaling to Millions (updated)EMF Compare 2.0: Scaling to Millions (updated)
EMF Compare 2.0: Scaling to Millions (updated)
 
MoDisco EclipseCon2010
MoDisco EclipseCon2010MoDisco EclipseCon2010
MoDisco EclipseCon2010
 
Textual Modeling Framework Xtext
Textual Modeling Framework XtextTextual Modeling Framework Xtext
Textual Modeling Framework Xtext
 
Acceleo Code Generation
Acceleo Code GenerationAcceleo Code Generation
Acceleo Code Generation
 
You need to extend your models? EMF Facet vs. EMF Profiles
You need to extend your models? EMF Facet vs. EMF ProfilesYou need to extend your models? EMF Facet vs. EMF Profiles
You need to extend your models? EMF Facet vs. EMF Profiles
 
Industrial and Academic Experiences with a User Interaction Modeling Language...
Industrial and Academic Experiences with a User Interaction Modeling Language...Industrial and Academic Experiences with a User Interaction Modeling Language...
Industrial and Academic Experiences with a User Interaction Modeling Language...
 
Night Knights: exploiting games to engage people in a citizen science campaign
Night Knights: exploiting games to engage people in a citizen science campaignNight Knights: exploiting games to engage people in a citizen science campaign
Night Knights: exploiting games to engage people in a citizen science campaign
 
The Unbearable Stupidity of Modeling
The Unbearable Stupidity of ModelingThe Unbearable Stupidity of Modeling
The Unbearable Stupidity of Modeling
 
EMF-REST: Generation of RESTful APIs from Models
EMF-REST: Generation of RESTful APIs from ModelsEMF-REST: Generation of RESTful APIs from Models
EMF-REST: Generation of RESTful APIs from Models
 

Similar to Research lines on MDE and SE (March 2015

Collaboration and Governance of Open Source Projects
Collaboration and Governance of Open Source ProjectsCollaboration and Governance of Open Source Projects
Collaboration and Governance of Open Source ProjectsJordi Cabot
 
Future Trends on Software and Systems Modeling
Future Trends on Software and Systems ModelingFuture Trends on Software and Systems Modeling
Future Trends on Software and Systems ModelingJordi Cabot
 
Introduction of TMAP to representatives of ISTQB boards in the GA week in Mar...
Introduction of TMAP to representatives of ISTQB boards in the GA week in Mar...Introduction of TMAP to representatives of ISTQB boards in the GA week in Mar...
Introduction of TMAP to representatives of ISTQB boards in the GA week in Mar...Rik Marselis
 
A Model-Driven Approach to Generate External DSLs from Object-Oriented APIs
A Model-Driven Approach to Generate External DSLs from Object-Oriented APIsA Model-Driven Approach to Generate External DSLs from Object-Oriented APIs
A Model-Driven Approach to Generate External DSLs from Object-Oriented APIsValerio Cosentino
 
2014 01-ticosa
2014 01-ticosa2014 01-ticosa
2014 01-ticosaPharo
 
MONDO Project, a scalable modeling and model management on the Cloud - Paris...
MONDO Project, a scalable modeling and model management on the Cloud  - Paris...MONDO Project, a scalable modeling and model management on the Cloud  - Paris...
MONDO Project, a scalable modeling and model management on the Cloud - Paris...Alessandra Bagnato
 
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
 
MDE Program Presentation - EMNantes
MDE Program Presentation - EMNantesMDE Program Presentation - EMNantes
MDE Program Presentation - EMNantesGisela BONNAUD
 
Stefan Geissler kairntech - SDC Nice Apr 2019
Stefan Geissler kairntech - SDC Nice Apr 2019 Stefan Geissler kairntech - SDC Nice Apr 2019
Stefan Geissler kairntech - SDC Nice Apr 2019 Stefan Geißler
 
Introducing Eclipse MoDisco
Introducing Eclipse MoDiscoIntroducing Eclipse MoDisco
Introducing Eclipse MoDiscoHugo Bruneliere
 
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
 
Modeling should be an independent scientific discipline
Modeling should be an independent scientific disciplineModeling should be an independent scientific discipline
Modeling should be an independent scientific disciplineJordi Cabot
 
Mit109 – software engineering
Mit109 – software engineeringMit109 – software engineering
Mit109 – software engineeringsmumbahelp
 
Mit109 – software engineering
Mit109 – software engineeringMit109 – software engineering
Mit109 – software engineeringsmumbahelp
 

Similar to Research lines on MDE and SE (March 2015 (20)

Collaboration and Governance of Open Source Projects
Collaboration and Governance of Open Source ProjectsCollaboration and Governance of Open Source Projects
Collaboration and Governance of Open Source Projects
 
Future Trends on Software and Systems Modeling
Future Trends on Software and Systems ModelingFuture Trends on Software and Systems Modeling
Future Trends on Software and Systems Modeling
 
Introduction of TMAP to representatives of ISTQB boards in the GA week in Mar...
Introduction of TMAP to representatives of ISTQB boards in the GA week in Mar...Introduction of TMAP to representatives of ISTQB boards in the GA week in Mar...
Introduction of TMAP to representatives of ISTQB boards in the GA week in Mar...
 
A Model-Driven Approach to Generate External DSLs from Object-Oriented APIs
A Model-Driven Approach to Generate External DSLs from Object-Oriented APIsA Model-Driven Approach to Generate External DSLs from Object-Oriented APIs
A Model-Driven Approach to Generate External DSLs from Object-Oriented APIs
 
2014 01-ticosa
2014 01-ticosa2014 01-ticosa
2014 01-ticosa
 
MDE Diploma
MDE DiplomaMDE Diploma
MDE Diploma
 
Ravindra Prasad
Ravindra PrasadRavindra Prasad
Ravindra Prasad
 
MONDO Project, a scalable modeling and model management on the Cloud - Paris...
MONDO Project, a scalable modeling and model management on the Cloud  - Paris...MONDO Project, a scalable modeling and model management on the Cloud  - Paris...
MONDO Project, a scalable modeling and model management on the Cloud - Paris...
 
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,...
 
MDE Program Presentation - EMNantes
MDE Program Presentation - EMNantesMDE Program Presentation - EMNantes
MDE Program Presentation - EMNantes
 
Problem prediction model
Problem prediction modelProblem prediction model
Problem prediction model
 
Stefan Geissler kairntech - SDC Nice Apr 2019
Stefan Geissler kairntech - SDC Nice Apr 2019 Stefan Geissler kairntech - SDC Nice Apr 2019
Stefan Geissler kairntech - SDC Nice Apr 2019
 
Introducing Eclipse MoDisco
Introducing Eclipse MoDiscoIntroducing Eclipse MoDisco
Introducing Eclipse MoDisco
 
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
 
Modeling should be an independent scientific discipline
Modeling should be an independent scientific disciplineModeling should be an independent scientific discipline
Modeling should be an independent scientific discipline
 
010821+presentation+oti.ppt
010821+presentation+oti.ppt010821+presentation+oti.ppt
010821+presentation+oti.ppt
 
ERP_Up_Down.ppt
ERP_Up_Down.pptERP_Up_Down.ppt
ERP_Up_Down.ppt
 
Mit109 – software engineering
Mit109 – software engineeringMit109 – software engineering
Mit109 – software engineering
 
Mit109 – software engineering
Mit109 – software engineeringMit109 – software engineering
Mit109 – software engineering
 
MDA
MDAMDA
MDA
 

More from Jordi Cabot

AI and Software consultants: friends or foes?
AI and Software consultants: friends or foes?AI and Software consultants: friends or foes?
AI and Software consultants: friends or foes?Jordi Cabot
 
Model-driven engineering for Industrial IoT architectures
Model-driven engineering for Industrial IoT architecturesModel-driven engineering for Industrial IoT architectures
Model-driven engineering for Industrial IoT architecturesJordi Cabot
 
Smart modeling of smart software
Smart modeling of smart softwareSmart modeling of smart software
Smart modeling of smart softwareJordi Cabot
 
¿Quién va a desarrollar las Apps del futuro? (aviso: no serán los programador...
¿Quién va a desarrollar las Apps del futuro? (aviso: no serán los programador...¿Quién va a desarrollar las Apps del futuro? (aviso: no serán los programador...
¿Quién va a desarrollar las Apps del futuro? (aviso: no serán los programador...Jordi Cabot
 
All Researchers Should Become Entrepreneurs
All Researchers Should Become EntrepreneursAll Researchers Should Become Entrepreneurs
All Researchers Should Become EntrepreneursJordi Cabot
 
The Software Challenges of Building Smart Chatbots - ICSE'21
The Software Challenges of Building Smart Chatbots - ICSE'21The Software Challenges of Building Smart Chatbots - ICSE'21
The Software Challenges of Building Smart Chatbots - ICSE'21Jordi Cabot
 
Low-code vs Model-Driven Engineering
Low-code vs Model-Driven EngineeringLow-code vs Model-Driven Engineering
Low-code vs Model-Driven EngineeringJordi Cabot
 
Lessons learned from building a commercial bot development platform
Lessons learned from building a commercial bot development platformLessons learned from building a commercial bot development platform
Lessons learned from building a commercial bot development platformJordi Cabot
 
Ingeniería del Software dirigida por modelos -Versión para incrédulos
Ingeniería del Software dirigida por modelos -Versión para incrédulosIngeniería del Software dirigida por modelos -Versión para incrédulos
Ingeniería del Software dirigida por modelos -Versión para incrédulosJordi Cabot
 
Chatbot Tutorial - Create your first bot with Xatkit
Chatbot Tutorial - Create your first bot with Xatkit Chatbot Tutorial - Create your first bot with Xatkit
Chatbot Tutorial - Create your first bot with Xatkit Jordi Cabot
 
Création facile de chatbots - Créez votre chatbot en 20 minutes avec une plat...
Création facile de chatbots - Créez votre chatbot en 20 minutes avec une plat...Création facile de chatbots - Créez votre chatbot en 20 minutes avec une plat...
Création facile de chatbots - Créez votre chatbot en 20 minutes avec une plat...Jordi Cabot
 
An LSTM-Based Neural Network Architecture for Model Transformations
An LSTM-Based Neural Network Architecture for Model TransformationsAn LSTM-Based Neural Network Architecture for Model Transformations
An LSTM-Based Neural Network Architecture for Model TransformationsJordi Cabot
 
WAPIml: Towards a Modeling Infrastructure for Web APIs
WAPIml: Towards a Modeling Infrastructure for Web APIsWAPIml: Towards a Modeling Infrastructure for Web APIs
WAPIml: Towards a Modeling Infrastructure for Web APIsJordi Cabot
 
Is there a future for Model Transformation Languages?
Is there a future for Model Transformation Languages?Is there a future for Model Transformation Languages?
Is there a future for Model Transformation Languages?Jordi Cabot
 
Temporal EMF: A temporal metamodeling platform
Temporal EMF: A temporal metamodeling platformTemporal EMF: A temporal metamodeling platform
Temporal EMF: A temporal metamodeling platformJordi Cabot
 
UMLtoNoSQL : From UML domain models to NoSQL Databases
UMLtoNoSQL : From UML domain models to NoSQL DatabasesUMLtoNoSQL : From UML domain models to NoSQL Databases
UMLtoNoSQL : From UML domain models to NoSQL DatabasesJordi Cabot
 
Multi-Platform Chatbot Modeling and Deployment with the Xatkit Framework
Multi-Platform Chatbot Modeling and Deployment with the Xatkit FrameworkMulti-Platform Chatbot Modeling and Deployment with the Xatkit Framework
Multi-Platform Chatbot Modeling and Deployment with the Xatkit FrameworkJordi Cabot
 
Model-driven Round-trip Engineering of REST APIs
Model-driven Round-trip Engineering of REST APIsModel-driven Round-trip Engineering of REST APIs
Model-driven Round-trip Engineering of REST APIsJordi Cabot
 
Robust Hashing for software models
Robust Hashing for software models Robust Hashing for software models
Robust Hashing for software models Jordi Cabot
 
Cognifying model-driven software engineering
Cognifying model-driven software engineeringCognifying model-driven software engineering
Cognifying model-driven software engineeringJordi Cabot
 

More from Jordi Cabot (20)

AI and Software consultants: friends or foes?
AI and Software consultants: friends or foes?AI and Software consultants: friends or foes?
AI and Software consultants: friends or foes?
 
Model-driven engineering for Industrial IoT architectures
Model-driven engineering for Industrial IoT architecturesModel-driven engineering for Industrial IoT architectures
Model-driven engineering for Industrial IoT architectures
 
Smart modeling of smart software
Smart modeling of smart softwareSmart modeling of smart software
Smart modeling of smart software
 
¿Quién va a desarrollar las Apps del futuro? (aviso: no serán los programador...
¿Quién va a desarrollar las Apps del futuro? (aviso: no serán los programador...¿Quién va a desarrollar las Apps del futuro? (aviso: no serán los programador...
¿Quién va a desarrollar las Apps del futuro? (aviso: no serán los programador...
 
All Researchers Should Become Entrepreneurs
All Researchers Should Become EntrepreneursAll Researchers Should Become Entrepreneurs
All Researchers Should Become Entrepreneurs
 
The Software Challenges of Building Smart Chatbots - ICSE'21
The Software Challenges of Building Smart Chatbots - ICSE'21The Software Challenges of Building Smart Chatbots - ICSE'21
The Software Challenges of Building Smart Chatbots - ICSE'21
 
Low-code vs Model-Driven Engineering
Low-code vs Model-Driven EngineeringLow-code vs Model-Driven Engineering
Low-code vs Model-Driven Engineering
 
Lessons learned from building a commercial bot development platform
Lessons learned from building a commercial bot development platformLessons learned from building a commercial bot development platform
Lessons learned from building a commercial bot development platform
 
Ingeniería del Software dirigida por modelos -Versión para incrédulos
Ingeniería del Software dirigida por modelos -Versión para incrédulosIngeniería del Software dirigida por modelos -Versión para incrédulos
Ingeniería del Software dirigida por modelos -Versión para incrédulos
 
Chatbot Tutorial - Create your first bot with Xatkit
Chatbot Tutorial - Create your first bot with Xatkit Chatbot Tutorial - Create your first bot with Xatkit
Chatbot Tutorial - Create your first bot with Xatkit
 
Création facile de chatbots - Créez votre chatbot en 20 minutes avec une plat...
Création facile de chatbots - Créez votre chatbot en 20 minutes avec une plat...Création facile de chatbots - Créez votre chatbot en 20 minutes avec une plat...
Création facile de chatbots - Créez votre chatbot en 20 minutes avec une plat...
 
An LSTM-Based Neural Network Architecture for Model Transformations
An LSTM-Based Neural Network Architecture for Model TransformationsAn LSTM-Based Neural Network Architecture for Model Transformations
An LSTM-Based Neural Network Architecture for Model Transformations
 
WAPIml: Towards a Modeling Infrastructure for Web APIs
WAPIml: Towards a Modeling Infrastructure for Web APIsWAPIml: Towards a Modeling Infrastructure for Web APIs
WAPIml: Towards a Modeling Infrastructure for Web APIs
 
Is there a future for Model Transformation Languages?
Is there a future for Model Transformation Languages?Is there a future for Model Transformation Languages?
Is there a future for Model Transformation Languages?
 
Temporal EMF: A temporal metamodeling platform
Temporal EMF: A temporal metamodeling platformTemporal EMF: A temporal metamodeling platform
Temporal EMF: A temporal metamodeling platform
 
UMLtoNoSQL : From UML domain models to NoSQL Databases
UMLtoNoSQL : From UML domain models to NoSQL DatabasesUMLtoNoSQL : From UML domain models to NoSQL Databases
UMLtoNoSQL : From UML domain models to NoSQL Databases
 
Multi-Platform Chatbot Modeling and Deployment with the Xatkit Framework
Multi-Platform Chatbot Modeling and Deployment with the Xatkit FrameworkMulti-Platform Chatbot Modeling and Deployment with the Xatkit Framework
Multi-Platform Chatbot Modeling and Deployment with the Xatkit Framework
 
Model-driven Round-trip Engineering of REST APIs
Model-driven Round-trip Engineering of REST APIsModel-driven Round-trip Engineering of REST APIs
Model-driven Round-trip Engineering of REST APIs
 
Robust Hashing for software models
Robust Hashing for software models Robust Hashing for software models
Robust Hashing for software models
 
Cognifying model-driven software engineering
Cognifying model-driven software engineeringCognifying model-driven software engineering
Cognifying model-driven software engineering
 

Recently uploaded

React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaHanief Utama
 
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdfExploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdfkalichargn70th171
 
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprisepreethippts
 
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Natan Silnitsky
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...OnePlan Solutions
 
Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalLionel Briand
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Angel Borroy López
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作qr0udbr0
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based projectAnoyGreter
 
Software Coding for software engineering
Software Coding for software engineeringSoftware Coding for software engineering
Software Coding for software engineeringssuserb3a23b
 
cpct NetworkING BASICS AND NETWORK TOOL.ppt
cpct NetworkING BASICS AND NETWORK TOOL.pptcpct NetworkING BASICS AND NETWORK TOOL.ppt
cpct NetworkING BASICS AND NETWORK TOOL.pptrcbcrtm
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesPhilip Schwarz
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationBradBedford3
 
Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfDrew Moseley
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...confluent
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsAhmed Mohamed
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanyChristoph Pohl
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Cizo Technology Services
 

Recently uploaded (20)

React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief Utama
 
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdfExploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
 
Advantages of Odoo ERP 17 for Your Business
Advantages of Odoo ERP 17 for Your BusinessAdvantages of Odoo ERP 17 for Your Business
Advantages of Odoo ERP 17 for Your Business
 
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprise
 
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
 
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort ServiceHot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
 
Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive Goal
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based project
 
Software Coding for software engineering
Software Coding for software engineeringSoftware Coding for software engineering
Software Coding for software engineering
 
cpct NetworkING BASICS AND NETWORK TOOL.ppt
cpct NetworkING BASICS AND NETWORK TOOL.pptcpct NetworkING BASICS AND NETWORK TOOL.ppt
cpct NetworkING BASICS AND NETWORK TOOL.ppt
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a series
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion Application
 
Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdf
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML Diagrams
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
 

Research lines on MDE and SE (March 2015

  • 1. What we’re working on – Research lines on MDE and SE (March 2015 Edition) Inria Lillle March 2015 Jordi Cabot (and colleagues) jcabot@uoc.edu http://modeling-languages.com
  • 3. MDE = Model-Driven Everything 3 MDE (engineering) MDSD (software development) MDE
  • 5. 5 © AtlanMod - atlanmod-contact@mines- nantes.fr The need for formal specifications
  • 6. 6 Employee age: Integer age > =18 Please no underaged employees! alter = 21 e3:Employeee1:Employee age = 17 e2:Employee age = 37  
  • 7. 7 © AtlanMod - atlanmod-contact@mines- nantes.fr Original model 1st refinement nth refinement Model Transformation Model Transformation Source Code ... MDE-based software development process Errors in models breed and generate more errors in the code Why model verification
  • 8. Student EnrolsIn20..* Course Likes 1 5 1 • Spot the error It’s not that easy…
  • 9. Person name: string children 2 * + constraint : Nobody can be his own ancestor parent
  • 10. 10 © AtlanMod - atlanmod-contact@mines- nantes.fr ….. No finite (and non-empty) solution
  • 11. Consistent? Proven? Formalism / Logics • Dynamic Logic (KEY) • High-Order Logics (HOL-OCL) • Deductive database queries (CQC) • SAT (Alloy + UML2Alloy), … Translate Prove Deduce UML model 1. Class diagram 2. OCL constraints Typical solutions
  • 12. MDE 1E+18 scenarios for small models (classes=10) More than cells in the human body!!!
  • 13. Verification Automation Efficiency Expressiveness Precision (e.g. completeness) Decide what to sacrifice
  • 14. Our pragmatic approach 14 © AtlanMod - atlanmod-contact@mines-nantes.fr Solution? Constraint Satisfaction Problem 1. Variables – basic types + struct/list 2. Domains – finite 3. Constraints – Prolog (+our OCL Prolog lib) 4. Property  Additional Constraint Translate Solve Deduce Property? + Model Constraints
  • 15. Define cardinality variables Constraints on cardinalities Assign cardinalities Define attribute variables Constraints on attributes Assign attributes Proof Resolution of the CSP
  • 16. Trade-offs in verification • Decidability/termination: is automation possible? Yes • Completeness: proof for any input? No, bounded verification • Expressiveness: input language? UML class diagram + full static OCL • Basic Property: Satisfiabililty
  • 17. Exists? Post? Find legal final state Find legal initial state Inconsistent Model Proving Example UML Model OCL invariants OCL precondition OCL postcondition Pre? NO YES NO YES YES NO Verification of the Weak Executability Property Also applied to machine op1 NAC: machine LHS: machine op2 RHS: c :Class t :Tablec2t :Cl2Tb name persistent name{new} {new} {new} {new} {new}
  • 18. ATLTest (testing of M2M) 18© AtlanMod - atlanmod-contact@mines-nantes.fr White-box approach: Analyzing the ATL code to derive test models that “exercise” it
  • 19. 19 © AtlanMod - atlanmod-contact@mines- nantes.fr Model-based testing OCL analysis to improve the partitioning – EMFtoCSP to generate the test models
  • 20. © AtlanMod - atlanmod- contact@mines-nantes.fr 20 To read more • Carlos A. González, Jordi Cabot: Formal verification of static software models in MDE: A systematic review. Information & Software Technology 56(8): 821-838 (2014) • Jordi Cabot, Robert Clarisó, Daniel Riera: On the verification of UML/OCL class diagrams using constraint programming. Journal of Systems and Software 93: 1-23 (2014)
  • 21. DSLs
  • 23. Existing tools No support for DSLs creation
  • 25. But… technically? • Providing means to discuss about language elements • Overcoming technical barriers Participation • Suitable environment fostering end-user discussion • Facilitating voting and decision processes • Keeping traceability Collaboration
  • 27. Example of DSL creation/improvement with Collaboro
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 41. © AtlanMod - atlanmod- contact@mines-nantes.fr 41 To read more • Javier Luis Cánovas Izquierdo, Jordi Cabot: Enabling the Collaborative Definition of DSMLs. CAiSE 2013: 272-287
  • 43. EMF-REST: A REST API for your models • Addressable resources – Eclipse: platform:/resource/project/Simpsons.xmi – Web API: https://example.com/rest/Family/Simpsons  Uniform and Constrained Interface & Statelessness ‒ CRUD operations using HTTP verbs : POST, GET, PUT, DELETE PUT https://example.com/rest/Family/Simpsons/parents/Homer • Representation-oriented – JSON: {"family":{"address":"742 Evergreen Terrace",…}} – XML: <family><address>742 Evergreen Terrace</address></family> 43 © AtlanMod - atlanmod-contact@mines-nantes.fr
  • 44. Architecture of EMF-REST generated application 44 © AtlanMod - atlanmod-contact@mines-nantes.fr EMF JAX-RS EJB/CDI JAXB OCL JPA JavaScript API Browser REST Client Validation SecurityNavigation/ Operation Content format Content management Web ClientWeb Application
  • 45. 45 © AtlanMod - atlanmod-contact@mines- nantes.fr Scalable persistence: NoSQL + Lazy loading
  • 46. Sometimes you need to bypass the EMF API
  • 47. © AtlanMod - atlanmod- contact@mines-nantes.fr 47 To read more • Amine Benelallam, Abel Gómez, Gerson Sunyé, Massimo Tisi, David Launay: Neo4EMF, A Scalable Persistence Layer for EMF Models.ECMFA 2014: 230-241 • Abel Gómez, Massimo Tisi, Gerson Sunyé and Jordi Cabot. Map-based transparent persistence for very large models. FASE 2015, to appear
  • 49. MoDisco: Legacy to Cloud Pre-Migration (Feasibility Assessment) Migration (Reverse Engineering + Forward Engineering) Post-Migration (Validation, Certification) Migration Artifacts Reuse & Evolution Target Environment Specification Target Requirements Target Selection Cloudification Optimization Deployment Business and Organizational aspects MoDisco ATL Acceleo CloudML GoalML UML EPF GoalML fUML
  • 50. 50 © AtlanMod - atlanmod-contact@mines- nantes.fr EMFViews Model c Model b Metamodel C Runtime Design time1 2 Viewpoint (Metamodel) View (Model) Metamodel B Metamodel A Model a Viewpoint Builder (Virtualization) View Builder (Virtualization) Conforms to Conforms to Weaving model Weaving model
  • 51. 51 © AtlanMod - atlanmod-contact@mines- nantes.fr Similarly for metamodel extensions
  • 52. Research by MDE (MDE techniques to solve SE challenges)
  • 54. Reverse Eng. of firewall security policies
  • 56. Unify firewall configuration languages (and semantics) for a global analysis • Similar approach for databases, CMSs and Java web clients
  • 57. © AtlanMod - atlanmod- contact@mines-nantes.fr 57 To read more • Salvador Martínez Perez, Joaquín García-Alfaro, Frédéric Cuppens, Nora Cuppens-Boulahia, Jordi Cabot: Model- Driven Extraction and Analysis of Network Security Policies. MoDELS 2013: 52-68 • Salvador Martínez Perez, Valerio Cosentino, Jordi Cabot, Frédéric Cuppens: Reverse Engineering of Database Security Policies. DEXA (2) 2013: 442-449
  • 59. OSS development 59© AtlanMod - atlanmod-contact@mines-nantes.fr
  • 60. How communities make decisions?  Majority? Unanimity?  Minimal participation level?  Depending on the phase? (proposals, comments, solution) 60© AtlanMod - atlanmod-contact@mines-nantes.fr
  • 61. Governance model is a challenge 61© AtlanMod - atlanmod-contact@mines-nantes.fr  From a survey among OSS contributors : – Understanding the governance model (e.g. who/when/how decides to accept a patch or include it in the next release) was very difficult (implicit, scattered,…) – A clear view of this model would attract more contributors
  • 62. Let’s help all OSS projects define their governance rules! (with MDE tools) 62© AtlanMod - atlanmod-contact@mines-nantes.fr
  • 63. Tool architecture 63© AtlanMod - atlanmod-contact@mines-nantes.fr
  • 64. Governance metamodel 64© AtlanMod - atlanmod-contact@mines-nantes.fr
  • 65. Example of our DSL syntax (a wizard- based tool to create the rules && a DSL-to- English translation also available) 65© AtlanMod - atlanmod-contact@mines-nantes.fr Project myProject { Roles: Committers Deadlines: myDeadline : 7 days Rules: myMajorityRule : Majority { applied to Task when TaskReview people Committers range Present minVotes 3 deadline myDeadline } }
  • 66. © AtlanMod - atlanmod- contact@mines-nantes.fr 66 To read more • Enabling the Definition and Enforcement of Governance Rules in Open Source Systems. Javier L. Canovas Izquierdo; Jordi Cabot. ICSE SEIS 2015, to appear
  • 68. Complex ecosystem: We are human!!! doc code support request question bug pull request
  • 69. How Labels are used Title Author Description Asignee Status Labels
  • 70. Label Issues in GitHub bug duplicate enhancement help wanted invalid question wontfix Default labels
  • 71. Label Issues in Github
  • 72. Label Issues in Github
  • 73. Label Issues in Github
  • 74. GILA: What can labels teach you about your project? Three simple yet powerful visualizations to better understand WHO is doing WHAT Label Usage User involvement Label timeline Visualize the labels used in your GitHub project, their frequency and how they relate to each other Discover the most active users and contributors per label: who opens them? who closes them? Understand the typical evolution of issues under each label: when are they discussed?, solved?, etc.
  • 75. What can issue labels teach you about your project? Three simple yet powerful visualizations to better understand WHO is doing WHAT Label Usage User involvement Label timeline Visualize the labels used in your GitHub project, their frequency and how they relate to each other Discover the most active users and contributors per label: who opens them? who closes them? Understand the typical evolution of issues under each label: when are they discussed?, solved?, etc.
  • 76. What can issue labels teach you about your project? Three simple yet powerful visualizations to better understand WHO is doing WHAT Label Usage User involvement Label timeline Visualize the labels used in your GitHub project, their frequency and how they relate to each other Discover the most active users and contributors per label: who opens them? who closes them? Understand the typical evolution of issues under each label: when are they discussed?, solved?, etc.
  • 77. What can issue labels teach you about your project? Three simple yet powerful visualizations to better understand WHO is doing WHAT Label Usage User involvement Label timeline Visualize the labels used in your GitHub project, their frequency and how they relate to each other Discover the most active users and contributors per label: who opens them? who closes them? Understand the typical evolution of issues under each label: when are they discussed?, solved?, etc.
  • 78. GitHub Analysis GHTorrent RQ1. Label Usage How many labels are used in Github? How many labels are used per project? What are the most popular ones? RQ2. Label Influence For those projects using labels, does its usage influence the evolution of the project? GiLA Early Research Achievement Can we detect group of labels commonly used together? Are there label families?
  • 79. Label Usage in GitHub Using Labels 122,012 3% Not Using labels 3,635,026 97% Lesson: Labels are scarcely used in GitHub
  • 80. Label Influence 26.93 46.18 74.92 101.3 111.8 145.7 116.4 127.2 116.4 70.4 306.4 148.1 22.53 43.51 48.76 53.21 55.27 56.3 58.82 57.95 59.28 63.23 47.59 60.19 0 10 20 30 40 50 60 70 0 50 100 150 200 250 300 350 0 1 2 3 4 5 6 7 8 9 10 >10 # labels used in the project Med. Time to solve % solved On average, the percentage of solved labeled issues tends to increase together with the number of labels used in the project It might come at the cost of taking more time to solve those labeled issues ρ = 0.80 ρ = 0.73
  • 81. Detecting families bug build contribution documentation duplicate 0 - backlog 1 - ready 2 - working 3 - done docs enhancement invalid urgent priority-high high-priority priority-low question priority-medium usability component-logic component-notyi component-ui priority-low component-mode-perl component-ui-gtk frontend-gtkfrontend-pango milestone imported 0.0.1 0.0.1 0.0.3 1.0.0.rc1 0.2.0 0.5.0 1.0.0 update type-cleanup p1 p2 p3 taken fixeddiscuss milestone-release0.4 milestone-release0.7 performance medium-priority usability wontfix new type-ask low-priority
  • 82. Calculating the bus factor? “Number of key developers who would need to be incapacitated (hit by a bus), to send the project into such a disarray that it would not be able to proceed”
  • 83. Why it is important? Measuring the concentration of information per developer Assessing the employee turnover risk
  • 84. Why it is important? Measuring the concentration of information per developer Assessing the employee turnover risk Identifying the key developers in the project
  • 85. Why it is important? Measuring the concentration of information per developer Assessing the employee turnover risk Identifying the key developers in the project Identifying the developers that can be lost
  • 86. Our tool Bus factor measurement Employee turnover simulation
  • 87. © AtlanMod - atlanmod- contact@mines-nantes.fr 87 To read more • Jordi Cabot, Javier Luis Canovas Izquierdo, Valerio Cosentino and Belen Rolandi. Exploring the Use of Labels to Categorize Issues in Open-Source Software Projects. SANER’15 • Valerio Cosentino, Javier Luis Canovas Izquierdo and Jordi Cabot. Assessing the Bus Factor of Git Repositories. SANER’15

Editor's Notes

  1. The actions are specified in the actions package