SlideShare a Scribd company logo
Metamodeling 
Lab 
(Advanced Software Engineering course) 
a.y. 2014/2015 
Luca Berardinelli 
Post Doc @ DISIM 
University of L’Aquila
Copyright Notice 
The material in these slides may be freely reproduced and 
distributed, partially or totally, as far as an explicit 
reference or acknowledge to the material author is 
preserved.
Lecturer
What does “modeling” stand for? 
"Modeling, in the broadest sense, is the cost-effective use of 
something in place of something else for some cognitive purpose. 
It is simpler, safer or cheaper than reality”. 
A model represents reality for the given purpose; the model is an 
abstraction of reality in the sense that it cannot represent all 
aspects of reality.
Is Cristoforo Colombo a modeler? 
Sailors have drawn maps to travel around the world. Cognitive 
purpose: e.g., to support commercial/military activities 
Sailor 
<<specified in>> 
<<creates>> map(s) 
<<read by>> 
Sailor 
<<represented by>> 
REALITY 
(world) 
language? 
language? 
<<specified in>> 
<<defines>> 
you 
today
Is Cristoforo Colombo a modeler? 
Sailors have drawn maps to travel around the world. Cognitive 
purpose: e.g., to support commercial/military activities 
map(s) 
<<represented by>> 
<<specified in>> 
REALITY 
(world) 
language? 
language? 
<<specified in>> 
M0 
M1 
M3 
M2
Maps today: from M0 to M3 
M3 : <MetaMetaModel> 
M2 : <MetaModel> 
M1 : <Model> 
M0 : <Data,Reality>
The right answers 
M3 : It is not on the map. It provides the 
concepts to define different legends (M2) 
M2 : The legend list that provides decoding 
info, the concepts to build model) 
M1 : The map itself except... 
M0 : It is under your feet!
A Model-Driven Software Process 
Problem domain < abstraction gap > 
Solution domain (sw) 
Reqs Specs Design Implementation Deployment Runtime 
MMM 
MMM 
MMM 
MMM 
MMM 
Different artifacts (e.g., models) can be created during the 
development process. 
These artifacts may be used for communication purposes among 
stakeholders (architects, designers, programmers...) 
In MDE, these artifacts must be machine readable!
New Domain: Software Engineering 
Which language(s)? Do we need new, domain specific 
languages? How do we create new languages? 
Designer 
Designer, 
Programmer, 
.... 
language? 
<<specified in>> 
language(s)? 
REALITY 
<<specified in>> 
(software system) 
<<defines>> 
you 
today 
<<represented by>>
New Domain: Software Engineering 
Which language(s)? Do we need new, domain specific 
languages? How do we create new languages? 
Designer 
Designer, 
Programmer, 
.... 
<<specified in>> 
REALITY 
(software system) 
EBNF 
Java 
<<specified in>> 
<<defines>> 
you 
today 
<<represented by>> 
http://cs.fit.edu/~ryan/cse4251/mini_java_grammar.html
New Domain: Software Engineering 
Which language(s)? Do we need new, domain specific 
languages? How do we create new languages? 
Designer 
Designer, 
Programmer, 
.... 
<<specified in>> 
REALITY 
(software system) 
Ecore 
MyLanguage 
<<specified in>> 
<<defines>> 
you 
today 
<<represented by>> 
Modeling Framework 
(EMF) 
Rich Client Platform 
(RCP)
Digital Library System 
Reqs Specs 
We want to build a distributed software system for managing a 
Digital Library. The customers can access the digital edition (e.g. 
PDF or PS file format) from a client application. On the server 
side, the system stores the description of the documents (its 
name, type, authors…). The librarian, properly logged within the 
system as “librarian” can add, modify, or delete the documents…. 
The distributed system can be implemented using JAVA based 
technologies …[…]
Design 
Library Metamodel (M2) 
LIBRARY Metamodel 
(Ecore) 
We define a very simple “domain-specific” language for modeling 
libraries. We use Ecore provided by Eclipse EMF. 
You can use any editor 
capable to “save” this 
artifact “as” *.ecore 
http://help.eclipse.org/help33/index.jsp?topic=/org.eclipse.emf.doc/tutorials/clibmod/clibmod.html
Library Model Editor (M1) 
Design 
We implement an Editor to realize Library Models using Eclipse 
RCP plugin. 
Conforms to 
Library Editor 
(Eclipse RCP App) 
http://help.eclipse.org/help33/index.jsp?topic=/org.eclipse.emf.doc/tutorials/clibmod/clibmod.html
My Library Model (M1): serialization 
<?xml version="1.0" encoding="UTF-8"?> 
<Library:Library xmlns:Library="http://Library" xmlns:_="" name="Luca's Library"> 
<writers _:books="#//@books.1" name="Luca Berardinelli"/> 
<writers _:books="#//@books.0" name="Unknown"/> 
<books writers="#//@writers.1" title="Alone in The Dark" pages="123"/> 
<books writers="#//@writers.0" title="My Life" pages="400" category="Bibiography"/> 
</Library:Library> 
An modeler is able to structure and store information about a 
specific domain in a machine-readable way, so that software 
can “reason” about such a domain.
A real library (M0)

More Related Content

PPTX
UML Modeling and Profiling Lab - Advanced Software Engineering Course 2014/2015
PDF
Leveraging Model-Driven Technologies for JSON Artefacts: The Shipyard Case Study
PPTX
Introduction to architectures based on models, models and metamodels. model d...
PDF
5 - Architetture Software - Metamodelling and the Model Driven Architecture
PDF
Meta-modeling: concepts, tools and applications
PPT
UML01
PPTX
PDF
The Epsilon Pattern Language
UML Modeling and Profiling Lab - Advanced Software Engineering Course 2014/2015
Leveraging Model-Driven Technologies for JSON Artefacts: The Shipyard Case Study
Introduction to architectures based on models, models and metamodels. model d...
5 - Architetture Software - Metamodelling and the Model Driven Architecture
Meta-modeling: concepts, tools and applications
UML01
The Epsilon Pattern Language

What's hot (20)

PDF
AutomationML: A Model-Driven View
PDF
Eclipse Modeling Framework (EMF) and Graphical Modeling Framework (GMF)
PPS
11 ooad uml-14
PDF
Mapping and visualization of source code a survey
PDF
The road ahead for architectural languages [ACVI 2016]
PPTX
Visualizing UML’s Sequence and Class Diagrams Using Graph-Based Clusters
PDF
MoDisco EclipseCon2010
PDF
Object-Oriented Application Frameworks
PDF
Software Architecture for Robotics
DOCX
C# Unit 2 notes
PPT
Eclipse World 2007: Fundamentals of the Eclipse Modeling Framework
PPS
12 ooad uml-16
PDF
Programmatic Muddle Management
PPTX
PPT
Ppt chapter01
PPT
Introduction to MDA
PDF
Java chapter 3 - OOPs concepts
PDF
[2015/2016] Modern development paradigms
PPT
Ppt chapter08
PPT
Microsoft.Net
AutomationML: A Model-Driven View
Eclipse Modeling Framework (EMF) and Graphical Modeling Framework (GMF)
11 ooad uml-14
Mapping and visualization of source code a survey
The road ahead for architectural languages [ACVI 2016]
Visualizing UML’s Sequence and Class Diagrams Using Graph-Based Clusters
MoDisco EclipseCon2010
Object-Oriented Application Frameworks
Software Architecture for Robotics
C# Unit 2 notes
Eclipse World 2007: Fundamentals of the Eclipse Modeling Framework
12 ooad uml-16
Programmatic Muddle Management
Ppt chapter01
Introduction to MDA
Java chapter 3 - OOPs concepts
[2015/2016] Modern development paradigms
Ppt chapter08
Microsoft.Net
Ad

Viewers also liked (9)

PDF
V shaped layout powerpoint diagrame templates 0712
DOCX
Double Page Spread Analysis
PPTX
Visual Paradigm
PPTX
Welcome to the Advanced Software Engineering Course (2014-2015)
PPT
Critical system
PPT
Design Patterns
PPTX
Use Case Diagram Templates by Creately
PPT
Software Process Improvement
PDF
GC Fabrication Line Sheet 2015
V shaped layout powerpoint diagrame templates 0712
Double Page Spread Analysis
Visual Paradigm
Welcome to the Advanced Software Engineering Course (2014-2015)
Critical system
Design Patterns
Use Case Diagram Templates by Creately
Software Process Improvement
GC Fabrication Line Sheet 2015
Ad

Similar to Metamodeling - Advanced Software Engineering Course 2014/2015 (20)

PDF
Introduction to MDE
PDF
Download full ebook of Modeldriven Engineering Sondra Cordova instant downloa...
PPT
Web technologies: Model Driven Engineering
PDF
Enriching Tool Support for Model-Driven Software Development
PDF
Model-Driven Software Engineering in Practice - Chapter 2 - MDSE Principles
PDF
Generic Model-based Approaches for Software Reverse Engineering and Comprehen...
PDF
Model-Driven Software Engineering in Practice - Chapter 1 - Introduction
PDF
6 - Architetture Software - Model transformation
PDF
Model-driven Software Engineering in practice: Chapter 3 - MDSE Use cases
PDF
On the Customization of Model Management Systems for File-Centric IDEs
PDF
Model-Driven Software Engineering in Practice - Chapter 4 - Model-Driven Arch...
PDF
Model driven software engineering in practice book - Chapter 9 - Model to tex...
PPTX
01 mde principles
PPTX
MODEL DRIVEN DEVELOPMENT (1).pptx
PPT
notesnet.dk - Eclipse Modelling Tools
PDF
Presentation of the Instance Model Bus
PDF
2011 07-27 ecoop innovation network
PPT
CG2010 Tailored Code Generators
Introduction to MDE
Download full ebook of Modeldriven Engineering Sondra Cordova instant downloa...
Web technologies: Model Driven Engineering
Enriching Tool Support for Model-Driven Software Development
Model-Driven Software Engineering in Practice - Chapter 2 - MDSE Principles
Generic Model-based Approaches for Software Reverse Engineering and Comprehen...
Model-Driven Software Engineering in Practice - Chapter 1 - Introduction
6 - Architetture Software - Model transformation
Model-driven Software Engineering in practice: Chapter 3 - MDSE Use cases
On the Customization of Model Management Systems for File-Centric IDEs
Model-Driven Software Engineering in Practice - Chapter 4 - Model-Driven Arch...
Model driven software engineering in practice book - Chapter 9 - Model to tex...
01 mde principles
MODEL DRIVEN DEVELOPMENT (1).pptx
notesnet.dk - Eclipse Modelling Tools
Presentation of the Instance Model Bus
2011 07-27 ecoop innovation network
CG2010 Tailored Code Generators

More from Luca Berardinelli (15)

PDF
Towards_Blended_Modeling_and_Simulation_of_DevOps_Processes_The_Keptn_Case_St...
PDF
Combining fUML and profiles for non-functional analysis based on model execut...
PDF
Model Driven Engineering for Smart Cities
PDF
Uncertainty-wise Engineering of IoT Cloud Systems
PDF
COMBINING MODEL-DRIVEN ENGINEERING AND ELASTIC EXECUTION FOR TESTING UNCERTAI...
PPTX
Integrating Performance Modeling in Industrial Automation through AutomationM...
PPTX
On The Evolution of CAEX: A Language Engineering Perspective
PPTX
Model-Based Co-Evolution of Production Systems and their Libraries with Auto...
PDF
ECMFA 2015 - Energy Consumption Analysis and Design with Foundational UML
PPTX
fUML-Driven Performance Analysis through the MOSES Model Library
PPTX
fUML-Driven Design and Performance Analysis of Software Agents for Wireless S...
PPTX
Combining fUML and Profiles for Non-Functional Analysis Based on Model Execut...
PPTX
MICE: Monitoring and modelIng of Context Evolution
PPTX
PPTX
Context-aware Performance Modeling and Analysis
Towards_Blended_Modeling_and_Simulation_of_DevOps_Processes_The_Keptn_Case_St...
Combining fUML and profiles for non-functional analysis based on model execut...
Model Driven Engineering for Smart Cities
Uncertainty-wise Engineering of IoT Cloud Systems
COMBINING MODEL-DRIVEN ENGINEERING AND ELASTIC EXECUTION FOR TESTING UNCERTAI...
Integrating Performance Modeling in Industrial Automation through AutomationM...
On The Evolution of CAEX: A Language Engineering Perspective
Model-Based Co-Evolution of Production Systems and their Libraries with Auto...
ECMFA 2015 - Energy Consumption Analysis and Design with Foundational UML
fUML-Driven Performance Analysis through the MOSES Model Library
fUML-Driven Design and Performance Analysis of Software Agents for Wireless S...
Combining fUML and Profiles for Non-Functional Analysis Based on Model Execut...
MICE: Monitoring and modelIng of Context Evolution
Context-aware Performance Modeling and Analysis

Recently uploaded (20)

PPTX
Final Presentation General Medicine 03-08-2024.pptx
PDF
Module 4: Burden of Disease Tutorial Slides S2 2025
PDF
Classroom Observation Tools for Teachers
PDF
Anesthesia in Laparoscopic Surgery in India
PPTX
Week 4 Term 3 Study Techniques revisited.pptx
PDF
Supply Chain Operations Speaking Notes -ICLT Program
PDF
Business Ethics Teaching Materials for college
PDF
BÀI TẬP BỔ TRỢ 4 KỸ NĂNG TIẾNG ANH 9 GLOBAL SUCCESS - CẢ NĂM - BÁM SÁT FORM Đ...
PDF
Insiders guide to clinical Medicine.pdf
PPTX
PPH.pptx obstetrics and gynecology in nursing
PDF
VCE English Exam - Section C Student Revision Booklet
PDF
STATICS OF THE RIGID BODIES Hibbelers.pdf
PDF
01-Introduction-to-Information-Management.pdf
PDF
grade 11-chemistry_fetena_net_5883.pdf teacher guide for all student
PDF
Physiotherapy_for_Respiratory_and_Cardiac_Problems WEBBER.pdf
PPTX
PPT- ENG7_QUARTER1_LESSON1_WEEK1. IMAGERY -DESCRIPTIONS pptx.pptx
PPTX
Institutional Correction lecture only . . .
PDF
RMMM.pdf make it easy to upload and study
PDF
Complications of Minimal Access Surgery at WLH
PDF
Saundersa Comprehensive Review for the NCLEX-RN Examination.pdf
Final Presentation General Medicine 03-08-2024.pptx
Module 4: Burden of Disease Tutorial Slides S2 2025
Classroom Observation Tools for Teachers
Anesthesia in Laparoscopic Surgery in India
Week 4 Term 3 Study Techniques revisited.pptx
Supply Chain Operations Speaking Notes -ICLT Program
Business Ethics Teaching Materials for college
BÀI TẬP BỔ TRỢ 4 KỸ NĂNG TIẾNG ANH 9 GLOBAL SUCCESS - CẢ NĂM - BÁM SÁT FORM Đ...
Insiders guide to clinical Medicine.pdf
PPH.pptx obstetrics and gynecology in nursing
VCE English Exam - Section C Student Revision Booklet
STATICS OF THE RIGID BODIES Hibbelers.pdf
01-Introduction-to-Information-Management.pdf
grade 11-chemistry_fetena_net_5883.pdf teacher guide for all student
Physiotherapy_for_Respiratory_and_Cardiac_Problems WEBBER.pdf
PPT- ENG7_QUARTER1_LESSON1_WEEK1. IMAGERY -DESCRIPTIONS pptx.pptx
Institutional Correction lecture only . . .
RMMM.pdf make it easy to upload and study
Complications of Minimal Access Surgery at WLH
Saundersa Comprehensive Review for the NCLEX-RN Examination.pdf

Metamodeling - Advanced Software Engineering Course 2014/2015

  • 1. Metamodeling Lab (Advanced Software Engineering course) a.y. 2014/2015 Luca Berardinelli Post Doc @ DISIM University of L’Aquila
  • 2. Copyright Notice The material in these slides may be freely reproduced and distributed, partially or totally, as far as an explicit reference or acknowledge to the material author is preserved.
  • 4. What does “modeling” stand for? "Modeling, in the broadest sense, is the cost-effective use of something in place of something else for some cognitive purpose. It is simpler, safer or cheaper than reality”. A model represents reality for the given purpose; the model is an abstraction of reality in the sense that it cannot represent all aspects of reality.
  • 5. Is Cristoforo Colombo a modeler? Sailors have drawn maps to travel around the world. Cognitive purpose: e.g., to support commercial/military activities Sailor <<specified in>> <<creates>> map(s) <<read by>> Sailor <<represented by>> REALITY (world) language? language? <<specified in>> <<defines>> you today
  • 6. Is Cristoforo Colombo a modeler? Sailors have drawn maps to travel around the world. Cognitive purpose: e.g., to support commercial/military activities map(s) <<represented by>> <<specified in>> REALITY (world) language? language? <<specified in>> M0 M1 M3 M2
  • 7. Maps today: from M0 to M3 M3 : <MetaMetaModel> M2 : <MetaModel> M1 : <Model> M0 : <Data,Reality>
  • 8. The right answers M3 : It is not on the map. It provides the concepts to define different legends (M2) M2 : The legend list that provides decoding info, the concepts to build model) M1 : The map itself except... M0 : It is under your feet!
  • 9. A Model-Driven Software Process Problem domain < abstraction gap > Solution domain (sw) Reqs Specs Design Implementation Deployment Runtime MMM MMM MMM MMM MMM Different artifacts (e.g., models) can be created during the development process. These artifacts may be used for communication purposes among stakeholders (architects, designers, programmers...) In MDE, these artifacts must be machine readable!
  • 10. New Domain: Software Engineering Which language(s)? Do we need new, domain specific languages? How do we create new languages? Designer Designer, Programmer, .... language? <<specified in>> language(s)? REALITY <<specified in>> (software system) <<defines>> you today <<represented by>>
  • 11. New Domain: Software Engineering Which language(s)? Do we need new, domain specific languages? How do we create new languages? Designer Designer, Programmer, .... <<specified in>> REALITY (software system) EBNF Java <<specified in>> <<defines>> you today <<represented by>> http://cs.fit.edu/~ryan/cse4251/mini_java_grammar.html
  • 12. New Domain: Software Engineering Which language(s)? Do we need new, domain specific languages? How do we create new languages? Designer Designer, Programmer, .... <<specified in>> REALITY (software system) Ecore MyLanguage <<specified in>> <<defines>> you today <<represented by>> Modeling Framework (EMF) Rich Client Platform (RCP)
  • 13. Digital Library System Reqs Specs We want to build a distributed software system for managing a Digital Library. The customers can access the digital edition (e.g. PDF or PS file format) from a client application. On the server side, the system stores the description of the documents (its name, type, authors…). The librarian, properly logged within the system as “librarian” can add, modify, or delete the documents…. The distributed system can be implemented using JAVA based technologies …[…]
  • 14. Design Library Metamodel (M2) LIBRARY Metamodel (Ecore) We define a very simple “domain-specific” language for modeling libraries. We use Ecore provided by Eclipse EMF. You can use any editor capable to “save” this artifact “as” *.ecore http://help.eclipse.org/help33/index.jsp?topic=/org.eclipse.emf.doc/tutorials/clibmod/clibmod.html
  • 15. Library Model Editor (M1) Design We implement an Editor to realize Library Models using Eclipse RCP plugin. Conforms to Library Editor (Eclipse RCP App) http://help.eclipse.org/help33/index.jsp?topic=/org.eclipse.emf.doc/tutorials/clibmod/clibmod.html
  • 16. My Library Model (M1): serialization <?xml version="1.0" encoding="UTF-8"?> <Library:Library xmlns:Library="http://Library" xmlns:_="" name="Luca's Library"> <writers _:books="#//@books.1" name="Luca Berardinelli"/> <writers _:books="#//@books.0" name="Unknown"/> <books writers="#//@writers.1" title="Alone in The Dark" pages="123"/> <books writers="#//@writers.0" title="My Life" pages="400" category="Bibiography"/> </Library:Library> An modeler is able to structure and store information about a specific domain in a machine-readable way, so that software can “reason” about such a domain.