SlideShare a Scribd company logo
Software Architecture 
School of Computer Science University of Oviedo 
University of Oviedo 
Software Architecture 
Part III 
Class #1 
Introduction to Architectures based 
on Models, Models and Metamodels. 
Model-Driven Architecture 
2014 Vicente García Díaz
Software Architecture 
School of Computer Science University of Oviedo
Software Architecture 
School of Computer Science University of Oviedo 
3 
Source: http://blog.drummondhouseplans.com/category/multi-family/
Software Architecture 
School of Computer Science University of Oviedo 
4 
Source: http://www.flightglobal.com//
Software Architecture 
School of Computer Science University of Oviedo 
Formula 1 
car 
(domain) 
What is a model? (I) 
Model 
describes
Software Architecture 
School of Computer Science University of Oviedo 
6 
What is a model? (II) 
1. Point of reference to imitate or reproduce 
2. Element, that, for its perfection must be 
followed and reproduced 
3. Small representation of something 
4. It is a theoretical scheme, usually 
mathematical, of a system or of a complex 
reality, as the economic development of a 
country, which is made to facilitate the 
understanding and the study of its behavior 
Source: http://www.rae.es/rae.html
Software Architecture 
School of Computer Science University of Oviedo 
• Of course… 
7 
Models in software development? 
Model Development Product
Software Architecture 
School of Computer Science University of Oviedo 
• Classical engineering is based on the use of 
models to produce a product after conducting 
a development 
▫ Is not possible to fully automate the 
development 
8 
Typical development process
Software Architecture 
School of Computer Science University of Oviedo 
• Peculiarity: software products can be 
designed and created without “going out" of 
the computer 
• Informatics  Information + Automatic 
9 
Software development process 
Model Development Product
Software Architecture 
School of Computer Science University of Oviedo 
Could we automate the software 
development process? 
Model-Driven Engineering 
(MDE) 
10
Software Architecture 
School of Computer Science University of Oviedo 
11 
Motivation 
• Growth of software complexity 
• It is not being reused the technological and domain 
knowledge 
• It is necessary to industrialize software development 
• The term software crisis is still valid 
The major cause of the software crisis is 
that the machines have become several 
orders of magnitude more powerful! To 
put it quite bluntly: as long as there were 
no machines, programming was no 
problem at all; when we had a few weak 
computers, programming became a mild 
problem, and now we have gigantic 
computers, programming has become an 
equally gigantic problem [Dijkstra, 1972] 
[Standish Group, 2004]
Software Architecture 
School of Computer Science University of Oviedo 
• The level of abstraction of languages is 
growing 
▫ Binary 
▫ Assembly 
▫ Procedural 
▫ Object oriented 
• Towards the solution space of the problem 
• In the 80s CASE tools emerge 
▫ They did not have much success 
12 
Brief History (I) 
+ number of errors in the development 
+ level of abstraction
Software Architecture 
School of Computer Science University of Oviedo 
13 
Brief History (II)
Software Architecture 
School of Computer Science University of Oviedo 
Goals (I) 
• Reduce the complexity of current platforms 
14 
• Express the concepts of different domains in a more 
approximate way 
Domain concepts 
Domain concepts 
Mental work of developers 
Concepts of the 
technology used 
Concepts of the 
technology used
Software Architecture 
School of Computer Science University of Oviedo 
• Abstract the specification of systems from the 
implementation in the target platform 
• Improve portability, interoperability and 
reusability 
• Optimize productivity 
15 
Goals (II)
Software Architecture 
School of Computer Science University of Oviedo 
For what is mainly used MDE? 
• To create software models 
16 
• Such models define the concepts of a particular 
domain 
• Existing technologies encompassed in MDE allowed 
to work with the models as if they were 
programming languages of high-level 
abstraction 
▫ Usually domain-specific languages
Software Architecture 
School of Computer Science University of Oviedo
Software Architecture 
School of Computer Science University of Oviedo 
Mobile applications 
Source: http://www.metacase.com/support/45/manuals/S60%20Phone%20Example.pdf
Software Architecture 
School of Computer Science University of Oviedo 
Insurance Products 
Source: [Kelly and Tolvanen, 2008]
Software Architecture 
School of Computer Science University of Oviedo 
IP telephony 
Source: [Kelly and Tolvanen, 2008]
Software Architecture 
School of Computer Science University of Oviedo 
Digital watches 
Source: [Kelly and Tolvanen, 2008]
Software Architecture 
School of Computer Science University of Oviedo 
Home automation 
Source: [Kelly and Tolvanen, 2008]
Software Architecture 
School of Computer Science University of Oviedo 
Food traceability systems
Software Architecture 
School of Computer Science University of Oviedo 
GADE4ALL (I)
Software Architecture 
School of Computer Science University of Oviedo 
GADE4ALL (II)
Software Architecture 
School of Computer Science University of Oviedo 
Others 
Fuente: http://www.pleus.net/articles/boodsl/boodsl.htm 
http://sandervanderburg.blogspot.com.es/2011/05/deployment-abstractions-for-webdsl.html 
http://mpov.timmorgan.org/cascadingrubies-ruby-dsl-for-generating-css/
Software Architecture 
School of Computer Science University of Oviedo
Software Architecture 
School of Computer Science University of Oviedo 
• Cascading relationship between models and 
metamodels 
28 
The metamodel 
Elements of 
the real 
world 
(domain) 
describe describe 
Model Metamodel
Software Architecture 
School of Computer Science University of Oviedo 
29 
Conceptual space 
Meta-metamodel 
<<instanceof>> 
Domain Metamodel 
Abstract 
syntax 
Semantics 
Concrete 
syntax 
Domain-specific 
language 
Formal 
model 
Describe 
concepts of 
<<instanceof>> 
Based on 
Respects 
Sub-domains
Software Architecture 
School of Computer Science University of Oviedo
Software Architecture 
School of Computer Science University of Oviedo 
31 
The domain of Petri Nets 
• They were defined in the 60's by Carl Adam Petri 
• They are a specialization of automata theory which allows to 
express concurrent events 
• They have places, transitions and arcs 
• Application areas: data analysis, software design, reliability, 
workflows ... 
P1 
P2 
T1 
T2 
15 
4 
17 
3 4 6 
P3 P1 P5 
P4
Software Architecture 
School of Computer Science University of Oviedo 
32 
A metamodel for the domain 
Node 
+Name : string 
Arc 
+weight : int 
Place Transition 
PetriNet 
1 
0..* 
1 
0..* 
P1 
P2 
T1 
T2 
15 
4 
17 
3 4 6 
P3 P1 P5
Software Architecture 
School of Computer Science University of Oviedo 
33 
A meta-meta model for the domain 
Model Element 
Generalizable Element 
Typed Element 
Attribute Association Class 
Node 
+Name : string 
Arc 
+weight : int 
Place Transition 
PetriNet 
1 
0..* 
1 
0..*
Software Architecture 
School of Computer Science University of Oviedo 
34 
Mapping between concrete and 
abstract syntaxes 
Node 
+Name : string 
Arc 
+weight : int 
T1 
15 17 
Place Transition 
PetriNet 
1 0..* 
1 
0..* 
P1 P2
Software Architecture 
School of Computer Science University of Oviedo 
Metamodel (abstract syntax) 
• A metamodel defines the elements of a modeling language, 
the relationships among them and constraints 
CompositeState 
Event 
StateMachine 
0..n 
0..1 
Transition 
0..1 
+trigger 
State 
0..n 
0..n 
0..1 0..n 
0..n 
+transitions 
0..1 
1 
+top
Software Architecture 
School of Computer Science University of Oviedo 
Concrete syntax (graphical)
Software Architecture 
School of Computer Science University of Oviedo 
Concrete syntax (textual) 
State machine: an example of a state machine 
State: state1 
State: state2 
State: state3 
Transition: state1 – state2 
Transition: state1 – state3 
Transition: state2 – state3
Software Architecture 
School of Computer Science University of Oviedo 
Metamodel (abstract syntax)
Software Architecture 
School of Computer Science University of Oviedo 
Concrete syntax (textual) 
table Country do 
field name, varchar(100),primary_key 
field area, integer 
end 
table Person do 
field id, autoinc, primary_key 
field name, varchar(200) 
field id_country, varchar(100), foreign_key(:Country) 
end
Software Architecture 
School of Computer Science University of Oviedo 
• Key in model-driven engineering 
• It is imperative to: 
1. Build domain-specific languages 
2. Validate models 
3. Transform models 
4. Generate artifacts (code, documentation, 
etc.) 
5. Integration of tools 
40 
Benefits of the use of a metamodel
Software Architecture 
School of Computer Science University of Oviedo
Software Architecture 
School of Computer Science University of Oviedo 
• Defined by the Object Management Group OMG, approach whereby the 
system design is geared towards models 
• OMG Object Management Group 1989 
▫ International consortium of the software industry 
▫ Composed of many organizations, IBM, Eclipse Foundation, W3C, 
Microsoft, HP, etc. 
▫ Definition of standards 
• http://www.omg.org/mda 
42 
Introduction to MDA
Software Architecture 
School of Computer Science University of Oviedo 
• Computation Independent Model 
(CIM) 
• Platform Independent Model (PIM) 
• Platform Specific Model (PSM) 
• Implementation Specific Model (ISM) 
43 
Points of view 
CIM 
PIM 
PSM 1 PSM n 
… 
ISM 1 ISM n 
…
Software Architecture 
School of Computer Science University of Oviedo 
Vertical transformations 
PIM 
Transformation 
PSM 
J2EE 
Transformation 
ISM 
Java 
Definition of automatic 
transformation 1 
Definition of automatic 
transformation 2
Software Architecture 
School of Computer Science University of Oviedo 
45 
Four-layer architecture 
MOF 
UML SysML 
UML models SysMLmodels 
… 
… 
System 
Meta-metamodel 
(M3) 
Metamodel (M2) 
Model (M1) 
Reality (M0)
Software Architecture 
School of Computer Science University of Oviedo 
Standards of the OMG 
• UML (Unified Model Language) 
• MOF (Meta Object Facility) 
• XMI (XML Metadata Interchange) 
• OCL (Object Constraint Language) 
• QVT (Query View Transformation) 
• There are others…
Software Architecture 
School of Computer Science University of Oviedo 
Meta-Object Facility (MOF)  ECORE 
• Ecore 
ECORE META-METAMODEL
Software Architecture 
School of Computer Science University of Oviedo
Software Architecture 
School of Computer Science University of Oviedo 
Introduction to Architectures based on 
Models, Models and Metamodels. 
Model-Driven Architecture 
Thank you

More Related Content

What's hot (20)

Cloud Foundry Overview
Cloud Foundry OverviewCloud Foundry Overview
Cloud Foundry Overview
Patrick Chanezon
 
Models of Distributed System
Models of Distributed SystemModels of Distributed System
Models of Distributed System
Ashish KC
 
Cloud security Presentation
Cloud security PresentationCloud security Presentation
Cloud security Presentation
Ajay p
 
Google App Engine
Google App EngineGoogle App Engine
Google App Engine
Software Park Thailand
 
Mulesoft corporate template final
Mulesoft corporate template  final Mulesoft corporate template  final
Mulesoft corporate template final
Bui Kiet
 
My Final year project on Android app development
My Final year project on Android app developmentMy Final year project on Android app development
My Final year project on Android app development
rahulkumargiri
 
Processor Allocation (Distributed computing)
Processor Allocation (Distributed computing)Processor Allocation (Distributed computing)
Processor Allocation (Distributed computing)
Sri Prasanna
 
Cloud computing security
Cloud computing security Cloud computing security
Cloud computing security
Akhila Param
 
Assignment on Cloud Computing
Assignment on Cloud ComputingAssignment on Cloud Computing
Assignment on Cloud Computing
Al Shahriar
 
Cloud Computing
Cloud ComputingCloud Computing
Cloud Computing
Samit Kumar Kapat
 
Project Management in the Cloud: Dynamic Communication
Project Management in the Cloud: Dynamic Communication Project Management in the Cloud: Dynamic Communication
Project Management in the Cloud: Dynamic Communication
International Institute for Learning
 
Service Oriented Architecture
Service Oriented ArchitectureService Oriented Architecture
Service Oriented Architecture
Syed Mustafa
 
Cloud Computing for Education & Learning.
Cloud Computing for Education & Learning.Cloud Computing for Education & Learning.
Cloud Computing for Education & Learning.
Friend Porag
 
Cloud Computing Principles and Paradigms: 10 comet cloud-an autonomic cloud e...
Cloud Computing Principles and Paradigms: 10 comet cloud-an autonomic cloud e...Cloud Computing Principles and Paradigms: 10 comet cloud-an autonomic cloud e...
Cloud Computing Principles and Paradigms: 10 comet cloud-an autonomic cloud e...
Majid Hajibaba
 
Caching
CachingCaching
Caching
Nascenia IT
 
Cloud Computing
Cloud ComputingCloud Computing
Cloud Computing
Aniket Saxena
 
Cloud Computing
Cloud ComputingCloud Computing
Cloud Computing
International School Of Management Excellence
 
Cloud Computing
Cloud Computing Cloud Computing
Cloud Computing
MANVENDRA PRIYADARSHI
 
Service Oriented Architecture (SOA)
Service Oriented Architecture (SOA)Service Oriented Architecture (SOA)
Service Oriented Architecture (SOA)
Biniam Asnake
 
Chapter 6 synchronization
Chapter 6 synchronizationChapter 6 synchronization
Chapter 6 synchronization
Alagappa Government Arts College, Karaikudi
 
Models of Distributed System
Models of Distributed SystemModels of Distributed System
Models of Distributed System
Ashish KC
 
Cloud security Presentation
Cloud security PresentationCloud security Presentation
Cloud security Presentation
Ajay p
 
Mulesoft corporate template final
Mulesoft corporate template  final Mulesoft corporate template  final
Mulesoft corporate template final
Bui Kiet
 
My Final year project on Android app development
My Final year project on Android app developmentMy Final year project on Android app development
My Final year project on Android app development
rahulkumargiri
 
Processor Allocation (Distributed computing)
Processor Allocation (Distributed computing)Processor Allocation (Distributed computing)
Processor Allocation (Distributed computing)
Sri Prasanna
 
Cloud computing security
Cloud computing security Cloud computing security
Cloud computing security
Akhila Param
 
Assignment on Cloud Computing
Assignment on Cloud ComputingAssignment on Cloud Computing
Assignment on Cloud Computing
Al Shahriar
 
Service Oriented Architecture
Service Oriented ArchitectureService Oriented Architecture
Service Oriented Architecture
Syed Mustafa
 
Cloud Computing for Education & Learning.
Cloud Computing for Education & Learning.Cloud Computing for Education & Learning.
Cloud Computing for Education & Learning.
Friend Porag
 
Cloud Computing Principles and Paradigms: 10 comet cloud-an autonomic cloud e...
Cloud Computing Principles and Paradigms: 10 comet cloud-an autonomic cloud e...Cloud Computing Principles and Paradigms: 10 comet cloud-an autonomic cloud e...
Cloud Computing Principles and Paradigms: 10 comet cloud-an autonomic cloud e...
Majid Hajibaba
 
Service Oriented Architecture (SOA)
Service Oriented Architecture (SOA)Service Oriented Architecture (SOA)
Service Oriented Architecture (SOA)
Biniam Asnake
 

Similar to Introduction to architectures based on models, models and metamodels. model driven architecture (20)

02 architectures in_context
02 architectures in_context02 architectures in_context
02 architectures in_context
Majong DevJfu
 
Systems and Software Architecture: an introduction to architectural modelling
Systems and Software Architecture: an introduction to architectural modellingSystems and Software Architecture: an introduction to architectural modelling
Systems and Software Architecture: an introduction to architectural modelling
CARLOS III UNIVERSITY OF MADRID
 
Software Patterns
Software PatternsSoftware Patterns
Software Patterns
Sudarsun Santhiappan
 
Software Architecture Course - Part III Taxonomies - Definitions
Software Architecture Course - Part III Taxonomies - DefinitionsSoftware Architecture Course - Part III Taxonomies - Definitions
Software Architecture Course - Part III Taxonomies - Definitions
Jose Emilio Labra Gayo
 
Software Architecture: views and viewpoints
Software Architecture: views and viewpointsSoftware Architecture: views and viewpoints
Software Architecture: views and viewpoints
Henry Muccini
 
Software Architecture: Introduction to the abstraction (May 2014_Split)
Software Architecture: Introduction to the abstraction (May 2014_Split)Software Architecture: Introduction to the abstraction (May 2014_Split)
Software Architecture: Introduction to the abstraction (May 2014_Split)
Henry Muccini
 
Web technologies: Model Driven Engineering
Web technologies: Model Driven EngineeringWeb technologies: Model Driven Engineering
Web technologies: Model Driven Engineering
Piero Fraternali
 
5
55
5
Majong DevJfu
 
10 Hinweise für Architekten
10 Hinweise für Architekten10 Hinweise für Architekten
10 Hinweise für Architekten
adesso AG
 
Ten Advices for Architects
Ten Advices for ArchitectsTen Advices for Architects
Ten Advices for Architects
Eberhard Wolff
 
Software architecture styles families_research_gssi_nov2013
Software architecture styles families_research_gssi_nov2013Software architecture styles families_research_gssi_nov2013
Software architecture styles families_research_gssi_nov2013
Henry Muccini
 
ALT
ALTALT
ALT
frolikat
 
V5 i3201613
V5 i3201613V5 i3201613
V5 i3201613
kisekkaVicent2
 
Design and Implementation in Software Engineering
Design and Implementation in Software EngineeringDesign and Implementation in Software Engineering
Design and Implementation in Software Engineering
Kourosh Sajjadi
 
CS587 Project - Raychaudhury,Shaalmali
CS587 Project - Raychaudhury,ShaalmaliCS587 Project - Raychaudhury,Shaalmali
CS587 Project - Raychaudhury,Shaalmali
sagar.247
 
Software Engineering: Education and Industry in Portugal
Software Engineering: Education and Industry in PortugalSoftware Engineering: Education and Industry in Portugal
Software Engineering: Education and Industry in Portugal
Carlos J. Costa
 
2
22
2
Majong DevJfu
 
UML01
UML01UML01
UML01
ClarkTony
 
Software Modeling and Design for Real-Time Embedded Systems
Software Modeling and Design for Real-Time Embedded SystemsSoftware Modeling and Design for Real-Time Embedded Systems
Software Modeling and Design for Real-Time Embedded Systems
NouraBaccar1
 
Miso-McGill
Miso-McGillMiso-McGill
Miso-McGill
miso_uam
 
02 architectures in_context
02 architectures in_context02 architectures in_context
02 architectures in_context
Majong DevJfu
 
Systems and Software Architecture: an introduction to architectural modelling
Systems and Software Architecture: an introduction to architectural modellingSystems and Software Architecture: an introduction to architectural modelling
Systems and Software Architecture: an introduction to architectural modelling
CARLOS III UNIVERSITY OF MADRID
 
Software Architecture Course - Part III Taxonomies - Definitions
Software Architecture Course - Part III Taxonomies - DefinitionsSoftware Architecture Course - Part III Taxonomies - Definitions
Software Architecture Course - Part III Taxonomies - Definitions
Jose Emilio Labra Gayo
 
Software Architecture: views and viewpoints
Software Architecture: views and viewpointsSoftware Architecture: views and viewpoints
Software Architecture: views and viewpoints
Henry Muccini
 
Software Architecture: Introduction to the abstraction (May 2014_Split)
Software Architecture: Introduction to the abstraction (May 2014_Split)Software Architecture: Introduction to the abstraction (May 2014_Split)
Software Architecture: Introduction to the abstraction (May 2014_Split)
Henry Muccini
 
Web technologies: Model Driven Engineering
Web technologies: Model Driven EngineeringWeb technologies: Model Driven Engineering
Web technologies: Model Driven Engineering
Piero Fraternali
 
10 Hinweise für Architekten
10 Hinweise für Architekten10 Hinweise für Architekten
10 Hinweise für Architekten
adesso AG
 
Ten Advices for Architects
Ten Advices for ArchitectsTen Advices for Architects
Ten Advices for Architects
Eberhard Wolff
 
Software architecture styles families_research_gssi_nov2013
Software architecture styles families_research_gssi_nov2013Software architecture styles families_research_gssi_nov2013
Software architecture styles families_research_gssi_nov2013
Henry Muccini
 
Design and Implementation in Software Engineering
Design and Implementation in Software EngineeringDesign and Implementation in Software Engineering
Design and Implementation in Software Engineering
Kourosh Sajjadi
 
CS587 Project - Raychaudhury,Shaalmali
CS587 Project - Raychaudhury,ShaalmaliCS587 Project - Raychaudhury,Shaalmali
CS587 Project - Raychaudhury,Shaalmali
sagar.247
 
Software Engineering: Education and Industry in Portugal
Software Engineering: Education and Industry in PortugalSoftware Engineering: Education and Industry in Portugal
Software Engineering: Education and Industry in Portugal
Carlos J. Costa
 
Software Modeling and Design for Real-Time Embedded Systems
Software Modeling and Design for Real-Time Embedded SystemsSoftware Modeling and Design for Real-Time Embedded Systems
Software Modeling and Design for Real-Time Embedded Systems
NouraBaccar1
 
Miso-McGill
Miso-McGillMiso-McGill
Miso-McGill
miso_uam
 
Ad

More from Vicente García Díaz (16)

Creating a textual domain specific language
Creating a textual domain specific languageCreating a textual domain specific language
Creating a textual domain specific language
Vicente García Díaz
 
jBPM
jBPMjBPM
jBPM
Vicente García Díaz
 
Wikitude. KML y ARML
Wikitude. KML y ARMLWikitude. KML y ARML
Wikitude. KML y ARML
Vicente García Díaz
 
Wikitude. ARchiect
Wikitude. ARchiectWikitude. ARchiect
Wikitude. ARchiect
Vicente García Díaz
 
Sorting algorithms
Sorting algorithmsSorting algorithms
Sorting algorithms
Vicente García Díaz
 
Introducción a la ingeniería dirigida por modelos
Introducción a la ingeniería dirigida por modelosIntroducción a la ingeniería dirigida por modelos
Introducción a la ingeniería dirigida por modelos
Vicente García Díaz
 
Iniciación a OpenGL
Iniciación a OpenGLIniciación a OpenGL
Iniciación a OpenGL
Vicente García Díaz
 
Iniciación a la realidad aumentada
Iniciación a la realidad aumentadaIniciación a la realidad aumentada
Iniciación a la realidad aumentada
Vicente García Díaz
 
Iniciación a ARToolKit
Iniciación a ARToolKitIniciación a ARToolKit
Iniciación a ARToolKit
Vicente García Díaz
 
Desarrollo robótico - Robot Operating System (ROS)
Desarrollo robótico - Robot Operating System (ROS)Desarrollo robótico - Robot Operating System (ROS)
Desarrollo robótico - Robot Operating System (ROS)
Vicente García Díaz
 
Wikitude. Servicios Seb
Wikitude. Servicios SebWikitude. Servicios Seb
Wikitude. Servicios Seb
Vicente García Díaz
 
LaTeX
LaTeXLaTeX
LaTeX
Vicente García Díaz
 
Automatización y Microsoft Word
Automatización y Microsoft WordAutomatización y Microsoft Word
Automatización y Microsoft Word
Vicente García Díaz
 
Árboles
ÁrbolesÁrboles
Árboles
Vicente García Díaz
 
Dispersión y tablas hash
Dispersión y tablas hashDispersión y tablas hash
Dispersión y tablas hash
Vicente García Díaz
 
Grafos
GrafosGrafos
Grafos
Vicente García Díaz
 
Ad

Recently uploaded (20)

iOS Developer Resume 2025 | Pramod Kumar
iOS Developer Resume 2025 | Pramod KumariOS Developer Resume 2025 | Pramod Kumar
iOS Developer Resume 2025 | Pramod Kumar
Pramod Kumar
 
Topic 26 Security Testing Considerations.pptx
Topic 26 Security Testing Considerations.pptxTopic 26 Security Testing Considerations.pptx
Topic 26 Security Testing Considerations.pptx
marutnand8
 
Software Risk and Quality management.pptx
Software Risk and Quality management.pptxSoftware Risk and Quality management.pptx
Software Risk and Quality management.pptx
HassanBangash9
 
Oliveira2024 - Combining GPT and Weak Supervision.pdf
Oliveira2024 - Combining GPT and Weak Supervision.pdfOliveira2024 - Combining GPT and Weak Supervision.pdf
Oliveira2024 - Combining GPT and Weak Supervision.pdf
GiliardGodoi1
 
The rise of e-commerce has redefined how retailers operate—and reconciliation...
The rise of e-commerce has redefined how retailers operate—and reconciliation...The rise of e-commerce has redefined how retailers operate—and reconciliation...
The rise of e-commerce has redefined how retailers operate—and reconciliation...
Prachi Desai
 
Internship in South western railways on software
Internship in South western railways on softwareInternship in South western railways on software
Internship in South western railways on software
abhim5889
 
Rebuilding Cadabra Studio: AI as Our Core Foundation
Rebuilding Cadabra Studio: AI as Our Core FoundationRebuilding Cadabra Studio: AI as Our Core Foundation
Rebuilding Cadabra Studio: AI as Our Core Foundation
Cadabra Studio
 
How a Staff Augmentation Company IN USA Powers Flutter App Breakthroughs.pdf
How a Staff Augmentation Company IN USA Powers Flutter App Breakthroughs.pdfHow a Staff Augmentation Company IN USA Powers Flutter App Breakthroughs.pdf
How a Staff Augmentation Company IN USA Powers Flutter App Breakthroughs.pdf
mary rojas
 
AI-ASSISTED METAMORPHIC TESTING FOR DOMAIN-SPECIFIC MODELLING AND SIMULATION
AI-ASSISTED METAMORPHIC TESTING FOR DOMAIN-SPECIFIC MODELLING AND SIMULATIONAI-ASSISTED METAMORPHIC TESTING FOR DOMAIN-SPECIFIC MODELLING AND SIMULATION
AI-ASSISTED METAMORPHIC TESTING FOR DOMAIN-SPECIFIC MODELLING AND SIMULATION
miso_uam
 
Optimising Claims Management with Claims Processing Systems
Optimising Claims Management with Claims Processing SystemsOptimising Claims Management with Claims Processing Systems
Optimising Claims Management with Claims Processing Systems
Insurance Tech Services
 
Top 10 Mobile Banking Apps in the USA.pdf
Top 10 Mobile Banking Apps in the USA.pdfTop 10 Mobile Banking Apps in the USA.pdf
Top 10 Mobile Banking Apps in the USA.pdf
LL Technolab
 
Issues in AI Presentation and machine learning.pptx
Issues in AI Presentation and machine learning.pptxIssues in AI Presentation and machine learning.pptx
Issues in AI Presentation and machine learning.pptx
Jalalkhan657136
 
SQL-COMMANDS instructionsssssssssss.pptx
SQL-COMMANDS instructionsssssssssss.pptxSQL-COMMANDS instructionsssssssssss.pptx
SQL-COMMANDS instructionsssssssssss.pptx
Ashlei5
 
Build enterprise-ready applications using skills you already have!
Build enterprise-ready applications using skills you already have!Build enterprise-ready applications using skills you already have!
Build enterprise-ready applications using skills you already have!
PhilMeredith3
 
Design by Contract - Building Robust Software with Contract-First Development
Design by Contract - Building Robust Software with Contract-First DevelopmentDesign by Contract - Building Robust Software with Contract-First Development
Design by Contract - Building Robust Software with Contract-First Development
Par-Tec S.p.A.
 
Secure and Simplify IT Management with ManageEngine Endpoint Central.pdf
Secure and Simplify IT Management with ManageEngine Endpoint Central.pdfSecure and Simplify IT Management with ManageEngine Endpoint Central.pdf
Secure and Simplify IT Management with ManageEngine Endpoint Central.pdf
Northwind Technologies
 
zOS CommServer support for the Network Express feature on z17
zOS CommServer support for the Network Express feature on z17zOS CommServer support for the Network Express feature on z17
zOS CommServer support for the Network Express feature on z17
zOSCommserver
 
AI Alternative - Discover the best AI tools and their alternatives
AI Alternative - Discover the best AI tools and their alternativesAI Alternative - Discover the best AI tools and their alternatives
AI Alternative - Discover the best AI tools and their alternatives
AI Alternative
 
aswjkdwelhjdfshlfjkhewljhfljawerhwjarhwjkahrjar
aswjkdwelhjdfshlfjkhewljhfljawerhwjarhwjkahrjaraswjkdwelhjdfshlfjkhewljhfljawerhwjarhwjkahrjar
aswjkdwelhjdfshlfjkhewljhfljawerhwjarhwjkahrjar
muhammadalikhanalikh1
 
Marketing And Sales Software Services.pptx
Marketing And Sales Software Services.pptxMarketing And Sales Software Services.pptx
Marketing And Sales Software Services.pptx
julia smits
 
iOS Developer Resume 2025 | Pramod Kumar
iOS Developer Resume 2025 | Pramod KumariOS Developer Resume 2025 | Pramod Kumar
iOS Developer Resume 2025 | Pramod Kumar
Pramod Kumar
 
Topic 26 Security Testing Considerations.pptx
Topic 26 Security Testing Considerations.pptxTopic 26 Security Testing Considerations.pptx
Topic 26 Security Testing Considerations.pptx
marutnand8
 
Software Risk and Quality management.pptx
Software Risk and Quality management.pptxSoftware Risk and Quality management.pptx
Software Risk and Quality management.pptx
HassanBangash9
 
Oliveira2024 - Combining GPT and Weak Supervision.pdf
Oliveira2024 - Combining GPT and Weak Supervision.pdfOliveira2024 - Combining GPT and Weak Supervision.pdf
Oliveira2024 - Combining GPT and Weak Supervision.pdf
GiliardGodoi1
 
The rise of e-commerce has redefined how retailers operate—and reconciliation...
The rise of e-commerce has redefined how retailers operate—and reconciliation...The rise of e-commerce has redefined how retailers operate—and reconciliation...
The rise of e-commerce has redefined how retailers operate—and reconciliation...
Prachi Desai
 
Internship in South western railways on software
Internship in South western railways on softwareInternship in South western railways on software
Internship in South western railways on software
abhim5889
 
Rebuilding Cadabra Studio: AI as Our Core Foundation
Rebuilding Cadabra Studio: AI as Our Core FoundationRebuilding Cadabra Studio: AI as Our Core Foundation
Rebuilding Cadabra Studio: AI as Our Core Foundation
Cadabra Studio
 
How a Staff Augmentation Company IN USA Powers Flutter App Breakthroughs.pdf
How a Staff Augmentation Company IN USA Powers Flutter App Breakthroughs.pdfHow a Staff Augmentation Company IN USA Powers Flutter App Breakthroughs.pdf
How a Staff Augmentation Company IN USA Powers Flutter App Breakthroughs.pdf
mary rojas
 
AI-ASSISTED METAMORPHIC TESTING FOR DOMAIN-SPECIFIC MODELLING AND SIMULATION
AI-ASSISTED METAMORPHIC TESTING FOR DOMAIN-SPECIFIC MODELLING AND SIMULATIONAI-ASSISTED METAMORPHIC TESTING FOR DOMAIN-SPECIFIC MODELLING AND SIMULATION
AI-ASSISTED METAMORPHIC TESTING FOR DOMAIN-SPECIFIC MODELLING AND SIMULATION
miso_uam
 
Optimising Claims Management with Claims Processing Systems
Optimising Claims Management with Claims Processing SystemsOptimising Claims Management with Claims Processing Systems
Optimising Claims Management with Claims Processing Systems
Insurance Tech Services
 
Top 10 Mobile Banking Apps in the USA.pdf
Top 10 Mobile Banking Apps in the USA.pdfTop 10 Mobile Banking Apps in the USA.pdf
Top 10 Mobile Banking Apps in the USA.pdf
LL Technolab
 
Issues in AI Presentation and machine learning.pptx
Issues in AI Presentation and machine learning.pptxIssues in AI Presentation and machine learning.pptx
Issues in AI Presentation and machine learning.pptx
Jalalkhan657136
 
SQL-COMMANDS instructionsssssssssss.pptx
SQL-COMMANDS instructionsssssssssss.pptxSQL-COMMANDS instructionsssssssssss.pptx
SQL-COMMANDS instructionsssssssssss.pptx
Ashlei5
 
Build enterprise-ready applications using skills you already have!
Build enterprise-ready applications using skills you already have!Build enterprise-ready applications using skills you already have!
Build enterprise-ready applications using skills you already have!
PhilMeredith3
 
Design by Contract - Building Robust Software with Contract-First Development
Design by Contract - Building Robust Software with Contract-First DevelopmentDesign by Contract - Building Robust Software with Contract-First Development
Design by Contract - Building Robust Software with Contract-First Development
Par-Tec S.p.A.
 
Secure and Simplify IT Management with ManageEngine Endpoint Central.pdf
Secure and Simplify IT Management with ManageEngine Endpoint Central.pdfSecure and Simplify IT Management with ManageEngine Endpoint Central.pdf
Secure and Simplify IT Management with ManageEngine Endpoint Central.pdf
Northwind Technologies
 
zOS CommServer support for the Network Express feature on z17
zOS CommServer support for the Network Express feature on z17zOS CommServer support for the Network Express feature on z17
zOS CommServer support for the Network Express feature on z17
zOSCommserver
 
AI Alternative - Discover the best AI tools and their alternatives
AI Alternative - Discover the best AI tools and their alternativesAI Alternative - Discover the best AI tools and their alternatives
AI Alternative - Discover the best AI tools and their alternatives
AI Alternative
 
aswjkdwelhjdfshlfjkhewljhfljawerhwjarhwjkahrjar
aswjkdwelhjdfshlfjkhewljhfljawerhwjarhwjkahrjaraswjkdwelhjdfshlfjkhewljhfljawerhwjarhwjkahrjar
aswjkdwelhjdfshlfjkhewljhfljawerhwjarhwjkahrjar
muhammadalikhanalikh1
 
Marketing And Sales Software Services.pptx
Marketing And Sales Software Services.pptxMarketing And Sales Software Services.pptx
Marketing And Sales Software Services.pptx
julia smits
 

Introduction to architectures based on models, models and metamodels. model driven architecture

  • 1. Software Architecture School of Computer Science University of Oviedo University of Oviedo Software Architecture Part III Class #1 Introduction to Architectures based on Models, Models and Metamodels. Model-Driven Architecture 2014 Vicente García Díaz
  • 2. Software Architecture School of Computer Science University of Oviedo
  • 3. Software Architecture School of Computer Science University of Oviedo 3 Source: http://blog.drummondhouseplans.com/category/multi-family/
  • 4. Software Architecture School of Computer Science University of Oviedo 4 Source: http://www.flightglobal.com//
  • 5. Software Architecture School of Computer Science University of Oviedo Formula 1 car (domain) What is a model? (I) Model describes
  • 6. Software Architecture School of Computer Science University of Oviedo 6 What is a model? (II) 1. Point of reference to imitate or reproduce 2. Element, that, for its perfection must be followed and reproduced 3. Small representation of something 4. It is a theoretical scheme, usually mathematical, of a system or of a complex reality, as the economic development of a country, which is made to facilitate the understanding and the study of its behavior Source: http://www.rae.es/rae.html
  • 7. Software Architecture School of Computer Science University of Oviedo • Of course… 7 Models in software development? Model Development Product
  • 8. Software Architecture School of Computer Science University of Oviedo • Classical engineering is based on the use of models to produce a product after conducting a development ▫ Is not possible to fully automate the development 8 Typical development process
  • 9. Software Architecture School of Computer Science University of Oviedo • Peculiarity: software products can be designed and created without “going out" of the computer • Informatics  Information + Automatic 9 Software development process Model Development Product
  • 10. Software Architecture School of Computer Science University of Oviedo Could we automate the software development process? Model-Driven Engineering (MDE) 10
  • 11. Software Architecture School of Computer Science University of Oviedo 11 Motivation • Growth of software complexity • It is not being reused the technological and domain knowledge • It is necessary to industrialize software development • The term software crisis is still valid The major cause of the software crisis is that the machines have become several orders of magnitude more powerful! To put it quite bluntly: as long as there were no machines, programming was no problem at all; when we had a few weak computers, programming became a mild problem, and now we have gigantic computers, programming has become an equally gigantic problem [Dijkstra, 1972] [Standish Group, 2004]
  • 12. Software Architecture School of Computer Science University of Oviedo • The level of abstraction of languages is growing ▫ Binary ▫ Assembly ▫ Procedural ▫ Object oriented • Towards the solution space of the problem • In the 80s CASE tools emerge ▫ They did not have much success 12 Brief History (I) + number of errors in the development + level of abstraction
  • 13. Software Architecture School of Computer Science University of Oviedo 13 Brief History (II)
  • 14. Software Architecture School of Computer Science University of Oviedo Goals (I) • Reduce the complexity of current platforms 14 • Express the concepts of different domains in a more approximate way Domain concepts Domain concepts Mental work of developers Concepts of the technology used Concepts of the technology used
  • 15. Software Architecture School of Computer Science University of Oviedo • Abstract the specification of systems from the implementation in the target platform • Improve portability, interoperability and reusability • Optimize productivity 15 Goals (II)
  • 16. Software Architecture School of Computer Science University of Oviedo For what is mainly used MDE? • To create software models 16 • Such models define the concepts of a particular domain • Existing technologies encompassed in MDE allowed to work with the models as if they were programming languages of high-level abstraction ▫ Usually domain-specific languages
  • 17. Software Architecture School of Computer Science University of Oviedo
  • 18. Software Architecture School of Computer Science University of Oviedo Mobile applications Source: http://www.metacase.com/support/45/manuals/S60%20Phone%20Example.pdf
  • 19. Software Architecture School of Computer Science University of Oviedo Insurance Products Source: [Kelly and Tolvanen, 2008]
  • 20. Software Architecture School of Computer Science University of Oviedo IP telephony Source: [Kelly and Tolvanen, 2008]
  • 21. Software Architecture School of Computer Science University of Oviedo Digital watches Source: [Kelly and Tolvanen, 2008]
  • 22. Software Architecture School of Computer Science University of Oviedo Home automation Source: [Kelly and Tolvanen, 2008]
  • 23. Software Architecture School of Computer Science University of Oviedo Food traceability systems
  • 24. Software Architecture School of Computer Science University of Oviedo GADE4ALL (I)
  • 25. Software Architecture School of Computer Science University of Oviedo GADE4ALL (II)
  • 26. Software Architecture School of Computer Science University of Oviedo Others Fuente: http://www.pleus.net/articles/boodsl/boodsl.htm http://sandervanderburg.blogspot.com.es/2011/05/deployment-abstractions-for-webdsl.html http://mpov.timmorgan.org/cascadingrubies-ruby-dsl-for-generating-css/
  • 27. Software Architecture School of Computer Science University of Oviedo
  • 28. Software Architecture School of Computer Science University of Oviedo • Cascading relationship between models and metamodels 28 The metamodel Elements of the real world (domain) describe describe Model Metamodel
  • 29. Software Architecture School of Computer Science University of Oviedo 29 Conceptual space Meta-metamodel <<instanceof>> Domain Metamodel Abstract syntax Semantics Concrete syntax Domain-specific language Formal model Describe concepts of <<instanceof>> Based on Respects Sub-domains
  • 30. Software Architecture School of Computer Science University of Oviedo
  • 31. Software Architecture School of Computer Science University of Oviedo 31 The domain of Petri Nets • They were defined in the 60's by Carl Adam Petri • They are a specialization of automata theory which allows to express concurrent events • They have places, transitions and arcs • Application areas: data analysis, software design, reliability, workflows ... P1 P2 T1 T2 15 4 17 3 4 6 P3 P1 P5 P4
  • 32. Software Architecture School of Computer Science University of Oviedo 32 A metamodel for the domain Node +Name : string Arc +weight : int Place Transition PetriNet 1 0..* 1 0..* P1 P2 T1 T2 15 4 17 3 4 6 P3 P1 P5
  • 33. Software Architecture School of Computer Science University of Oviedo 33 A meta-meta model for the domain Model Element Generalizable Element Typed Element Attribute Association Class Node +Name : string Arc +weight : int Place Transition PetriNet 1 0..* 1 0..*
  • 34. Software Architecture School of Computer Science University of Oviedo 34 Mapping between concrete and abstract syntaxes Node +Name : string Arc +weight : int T1 15 17 Place Transition PetriNet 1 0..* 1 0..* P1 P2
  • 35. Software Architecture School of Computer Science University of Oviedo Metamodel (abstract syntax) • A metamodel defines the elements of a modeling language, the relationships among them and constraints CompositeState Event StateMachine 0..n 0..1 Transition 0..1 +trigger State 0..n 0..n 0..1 0..n 0..n +transitions 0..1 1 +top
  • 36. Software Architecture School of Computer Science University of Oviedo Concrete syntax (graphical)
  • 37. Software Architecture School of Computer Science University of Oviedo Concrete syntax (textual) State machine: an example of a state machine State: state1 State: state2 State: state3 Transition: state1 – state2 Transition: state1 – state3 Transition: state2 – state3
  • 38. Software Architecture School of Computer Science University of Oviedo Metamodel (abstract syntax)
  • 39. Software Architecture School of Computer Science University of Oviedo Concrete syntax (textual) table Country do field name, varchar(100),primary_key field area, integer end table Person do field id, autoinc, primary_key field name, varchar(200) field id_country, varchar(100), foreign_key(:Country) end
  • 40. Software Architecture School of Computer Science University of Oviedo • Key in model-driven engineering • It is imperative to: 1. Build domain-specific languages 2. Validate models 3. Transform models 4. Generate artifacts (code, documentation, etc.) 5. Integration of tools 40 Benefits of the use of a metamodel
  • 41. Software Architecture School of Computer Science University of Oviedo
  • 42. Software Architecture School of Computer Science University of Oviedo • Defined by the Object Management Group OMG, approach whereby the system design is geared towards models • OMG Object Management Group 1989 ▫ International consortium of the software industry ▫ Composed of many organizations, IBM, Eclipse Foundation, W3C, Microsoft, HP, etc. ▫ Definition of standards • http://www.omg.org/mda 42 Introduction to MDA
  • 43. Software Architecture School of Computer Science University of Oviedo • Computation Independent Model (CIM) • Platform Independent Model (PIM) • Platform Specific Model (PSM) • Implementation Specific Model (ISM) 43 Points of view CIM PIM PSM 1 PSM n … ISM 1 ISM n …
  • 44. Software Architecture School of Computer Science University of Oviedo Vertical transformations PIM Transformation PSM J2EE Transformation ISM Java Definition of automatic transformation 1 Definition of automatic transformation 2
  • 45. Software Architecture School of Computer Science University of Oviedo 45 Four-layer architecture MOF UML SysML UML models SysMLmodels … … System Meta-metamodel (M3) Metamodel (M2) Model (M1) Reality (M0)
  • 46. Software Architecture School of Computer Science University of Oviedo Standards of the OMG • UML (Unified Model Language) • MOF (Meta Object Facility) • XMI (XML Metadata Interchange) • OCL (Object Constraint Language) • QVT (Query View Transformation) • There are others…
  • 47. Software Architecture School of Computer Science University of Oviedo Meta-Object Facility (MOF)  ECORE • Ecore ECORE META-METAMODEL
  • 48. Software Architecture School of Computer Science University of Oviedo
  • 49. Software Architecture School of Computer Science University of Oviedo Introduction to Architectures based on Models, Models and Metamodels. Model-Driven Architecture Thank you

Editor's Notes

  • #19: http://www.metacase.com/support/45/manuals/S60%20Phone%20Example.pdf
  • #41: El metamodelado (o meta-metamodelo) es uno de los temas más importantes de MDE. ES LA BASE. Se necesita para todo: -Para definir la sintaxis abstracta de los lenguajes en función de un meta-metamodelo origen -Para definir la sintaxis concreta de los lenguajes en función de un meta-metamodelo origen Los modelos (equivalente a los programas que se hacen con Java, por ejemplo) pueden ser validados en base a las restricciones puestas en el metamodelo (que a su vez se basan en el meta-metamodelo origen) Se pueden realizar transformaciones de modelos en base a reglas de transformación entre los metamodelos Generar código, artefactos en base a las reglas de las plantillas de transformación Como todos los lenguajes se basan en un mismo meta-metamodelo, entonces se consigue que las herramientas se integren entre sí.