Professional Documents
Culture Documents
This is the instructor’s notes. Students has to read the required textbook to understand the covered concepts.
Outline
• General Concepts
• Metamodeling
• Model Transformation
• Types of Models
• Model-driven Architecture
• Modeling Levels
• Modeling Languages
Outline
• General Concepts
• Modeling Language
• Metamodeling
• Model Transformation
• Types of Models
• Model-driven Architecture
• Modeling Levels
Concepts
● Generating running code from a higher level model, very much like
compilers are able to produce executable binary files from source
code, Code-generators are sometimes referred to as model
compilers.
● e.g., generation of Java-APIs, XML Schemas, etc. from UML
● Requires expressive und precise models
● Increased productivity and efficiency (models stay up-to-date)
● Protects the intellectual property of the modeler
● Transforms many kinds of models to different artifacts (classes,
test cases, documentation, configuration files,..etc)
Code generation
Source: https://www.visual-paradigm.com
Concepts
• General Concepts
• Metamodeling
• Model Transformation
• Types of Models
• Model-driven Architecture
• Modeling Levels
• Modeling Languages
Metamodeling
• General Concepts
• Metamodeling
• Model Transformation
• Types of Models
• Model-driven Architecture
• Modeling Levels
• Modeling Languages
Model Transformations
▪ Model Transformation:
The conversion of a model into another model
Metamodel
class
«instanceOf» «conformsTo»
Model
object
Model Transformations
MOF and transformation setting
▪ Transformations
«conformsTo»
themselves can be
seen as models! MMM
«conformsTo» «conformsTo»
«conformsTo»
«uses» «uses»
MMa MT Language MMb
«conformsTo»
«conformsTo» «conformsTo»
Ma MT Definition Mb
«reads» «executes» «writes»
MT
Execution
Engine
Model Engineering Basic Architecture
Meta-
Modeling
Model modeling
language
language
defined using
Artifacts Platform defined by
(e.g. code) uses
Outline
• General Concepts
• Metamodeling
• Model Transformation
• Types of Models
• Model-driven Architecture
• Modeling Levels
• Modeling Languages
Types of models
▪ Static models
Focus on the static aspects of the system in terms
of managed data and of structural shape and
architecture of the system.
▪ Dynamic models
Emphasize the dynamic behavior of the system by
showing the execution.
• General Concepts
• Metamodeling
• Model Transformation
• Types of Models
• Model-driven Architecture
• Modeling Levels
• Modeling Languages
Model-Driven Architecture (MDA)
• Solution Space
The spectrum of possible solutions that satisfy the requirements
• Model
Any representation of the system and/or its environment
Model-Driven Architecture (MDA)
• Architecture
The specification of the parts and connectors of the system,
and the rules for the interactions of the parts using the
connectors
• Platform
Set of subsystems and technologies that provide a coherent
set of functionalities for a specified goal
• Viewpoint
A description of a system that focuses on one or more
particular concerns
• View
A model of a system seen under a specific viewpoint
• Transformation
The conversion of a model into another model
Model-Driven Architecture (MDA)
SWE 321
Software Design and Architecture
• General Concepts
• Metamodeling
• Model Transformation
• Types of Models
• Model-driven Architecture
• Modeling Levels
• Modeling Languages
Modeling Levels
Example:
the description of a business process performed
within an organization;
a firm’s invoicing process
Platform-independent (PIM)
● A set of mappings
between each level
and the
subsequent one
can be defined
through model
transformations
● Typically, every
CIM can map to
different PIMs,
which in turn can
map to different
PSMs
Outline
• General Concepts
• Metamodeling
• Model Transformation
• Types of Models
• Model-driven Architecture
• Modeling Levels
• Modeling Languages
Modeling Language Anatomy
• Abstract Syntax
Describes the structure of the language, and the way the
different primitives can be combined together,
independently of any particular representation or encoding.
• Concrete Syntax
Describes specific representations of the modeling
language, covering encoding and/or visual appearance.
• Semantics
Describing the meaning of the elements defined in the
language, and the meaning of the different ways of
combining them.
Modeling Language Anatomy