2. WHO ARE WE?
2
Universidad Autónoma de Madrid
• Established in 1968.
• North part of Madrid (campus Cantoblanco).
• One of the top universities in Spain.
• >30000 students
• “Excellence” campus with CSIC (Spanish Research
Council).
Computer Science and Telecommunication
Engineering.
• Created in 1992.
• 96 full time professors.
No se puede mostrar la imagen. Puede que su equipo no tenga suficiente memoria para abrir la imagen o que ésta esté dañada. Reinicie el equipo y, a continuación, abra el archivo de nuevo. Si sigue apareciendo la x roja, puede que tenga que borrar la imagen e insertarla de nuevo.
3. WHO ARE WE?
3
Esther Guerra Juan de Lara Jesús Sánchez
Cuadrado
Antonio
Garmendia
Jesús J.
López
Fernández
Ángel
Mora
Segura
Pablo
Gómez
Professors
PhD
Students
Javier
Palomares
Sara
Pérez
Research
Project
Assoc.
http://miso.es
We are hiring!
4. WHAT DO WE DO?
Model-driven engineering
Meta-modelling
• Multi-level modelling. MetaDepth tool (http://metadepth.org)
• A-posteriori typing
Domain-Specific Languages
• Example-based DSL developmemt. MetaBUP
• Pattern-based DSL development. DSL-tao
• Domain-specific modelling in mobile devices. DSL-comet (iOS).
Model transformations
• Transformation reuse. Bento tool.
• Transformation analysis.
• Graph transformation.
4
6. SOME EXPERIMENTS
Analysing meta-models
• Checking “smells” for refactoring into multi-level [1]
Analysing transformations
• Static analysis of transformations to discover errors [2]
Evaluating tools and notations (with users)
• DSL construction tools [3]
• Domain-specific tools [4]
6
[1] de Lara, Guerra, Sánchez Cuadrado: When and How to Use Multilevel Modelling. ACM
Trans. Softw. Eng. Methodol. 24(2): 12:1-12:46 (2014)
[2] Sánchez Cuadrado, Guerra, de Lara: Static Analysis of Model Transformations. IEEE Trans.
Softw. Eng. 2017 (in press)
[3] Pescador, de Lara: DSL-maps: from requirements to design of domain-specific languages.
Proc. ASE 2016: 438-443.
[4] Buezas, et al : Umbra Designer: Graphical Modelling for Telephony Services. Proc. ECMFA
2013: 179-191
7. MULTI-LEVEL
MODELLING
Multi-level modelling
• More than two meta-levels at a time
• Simplifies modelling in some scenarios
7
ProductType@2
VAT@1: double
price: double
Book: ProductType
VAT=18.0
price=10.0
mobyDick: Book
vs.
8. When is it good to use multi-level modelling?
• Five patterns whose occurrence signal a multi-level “smell”
Can it be applied often?
• Analysed a large corpus of more than 400 meta-models (OMG, ATL zoo)
• Pervasive in some domains (software architecture, enterprise/process
modelling)
• Relatively frequent in OMG specifications (over 35%)
How to apply multi-level modelling?
• We show how to map patterns in two-level modelling to multi-level
modelling
• We show refactorings of “real-world” examples
OUR MOTIVATION
8
9. TYPE-OBJECT
9
Intent: explicit modelling of types and instances
• Types can be added dynamically
• Features of types are fixed and known a priori
Also known as: Type object [Martin et. al 97], item descriptor
[Coad 1992], metaobject [Kiczales and Rivieres 1991]
Example: model product types (books, CDs) and their
instances, to be added on demand. Product types have a vat,
while instances have a price.
R. Martin, D. Riehle, F. Buschmann. 1997. Pattern languages of program design 3. A. Wesley.
P. Coad. 1992. Object-oriented patterns. Commun. ACM 35, 9 (1992), 152–159.
G. Kiczales, J. Des Rivieres. 1991. The art of the metaobject protocol. MIT Press.
11. PRACTICAL APPLICABILITY
How often do these patterns occur?
Analysis of meta-model repositories:
• ATL meta-model zoo (305 meta-models) [8.5% occur.]
• OMG specifications (116 specs) [35%~38% occur.]
• ReMoDD (15 meta-models) [20% occur.]
• Articles in journals/conferences
84 meta-models with 459 occurrences (avg 5.5)
• Most common pattern is the type-object
• Most used solution is explicit types (~70%)
11
16. EVALUATION
ATL transformation zoo
• 101 transformations
• More than 4.000
problems found
• All transformations have
problems
16
Mutation testing of a synthetic transformation
• Precision 96%
• Recall 96%
17. DSL-MAPS
17
Evaluation
• Understandability, usefulness and completeness of synthesized meta-model
• User study with 7 engineers
• Likert scale (subjective) and
• Evaluation of produced artefacts (errors, completeness)
http://miso.es/tools/DSLtao.html
18. UMBRA-DESIGNER
18
Evaluation
• Productivity
• 2 users: One using Java code, the other using the DSL
• Evaluation of productivity gain on the basis of 10 tasks
• Results: productivity gain of 45% in average
19. EVALUATIONS IN MDE
User studies
• Hard!
• Difficult to have access to expert users
Evaluations based on artefact analysis
• We need (bigger) repositories!
• Of models, meta-models, transformations, etc
• ATL meta-model zoo: some of them really toy meta-models
• ATL transformation zoo: Buggy!
• Standards: slight variations in OCL
• Repositories of meta-models with OCL constraints
MDE techniques for software evaluations
• JavaCheck: a DSL for static analysis of Java programs
19