Types of Model-Driven Architecture &
Transformation
Group Members :
NAMES--------------------------------------------REG_NO.
1. Saad-Bin-Syed--------------------------SP19-MCS-020
2. Bilal Najeeb Khan----------------------SP19-MCS-004
3. M. Mueed Alam------------------------SP19-MCS-013
4. Syed Abbas Haider---------------------SP19-MCS-026
5. Shahzaib Ali----------------------------SP19-MCS-024
Model DrivenArchitecture
• The Object Management Group (OMG) has
defined its own comprehensive proposal for
applying MDE practices to system’s
development:
• MDA (Model-DrivenArchitecture)
DefinitionsAccording ToMDA
• System: The subject of any MDA specification
(program, computer system, federation of systems)
• Problem Space/Domain: The context or environment
of the system
• Solution Space: The spectrum of possible solutions that
satisfy the requirements.
DefinitionsAccording ToMDA
• Model: Any representation of the system and/or its
environment
• 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
DefinitionsAccording ToMDA
• 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
Four principles ofMDA
1. Models must be expressed in a well-defined notation -
so as to enable effective communication and
understanding
2. Models must be compliant with metamodels
Four principles ofMDA
3. Increase acceptance, broad adoption and tool
competition for MDE
4. Systems specifications must be organized around a set
of models and associated transformations
MDA Tools
• Currently, there are no tools that implement MDA as envisioned by the
OMG community
– MDA itself is still being defined
• Existing tools allow partial transformations
• They are usually limited to
– specific platforms
– specific languages
– specific transformations
• Usually they are evolutions of tools born in other research fields
– Especially in Generative programming and Metaprogramming
CIM, PIM and PSM
 CIM: Computation Independent Model
 A vocabulary of a problem domain useful to a variety of
stakeholders
 PIM: Platform Independent Model
 A specification of a system that does not take into account technical
details of a specific platform
 PSM: Platform Specific Model
 A specification of a system expressed in terms of the specification model
of the platform
MDA Process
ModelingLevels
• Computation Independent Model (CIM): Describe
requirements and needs at a very abstract level, without any
reference to implementation aspects (e.g., description of user
requirements or business objectives).
• Platform Independent Model (PIM): Define the behavior of
the systems in terms of stored data and performed algorithms,
without any technical or technological details.
• Platform Specific Model (PSM): Define all the
technological aspects in detail.
CIM
For Example:
A sample CIM of a business process.
PIM
• Specification of
structure and behavior
of a system, abstracted
from technological
details.
• Abstraction of structure and behavior of a system with the PIM
simplifies the following:
– Validation for correctness of the model
– Create implementations on different platforms
PSM
• Specifies how the functionality described in the PIM is realized on a certain platform
• Using a UML-Profile for the selected platform, e.g., EJB
MDA Process For A Complex System
Model Driven Transformation
 A model transformation, is a way of modifying
and creating models.
 An example use of model transformation is
ensuring that models are consistent, in a precise
sense which the software engineer can define.
 The aim of using a model transformation is to
save effort and reduce errors by automating the
building and modification of models where
possible.
Model Driven Transformation
 Working with interrelated models requires to ensure
their consistency.
 This activity can be performed taking one or more
source models as input and producing one or more
target models as output
PIM To PSM Transformation
 It is used when the PIM is mapped into a
platform specific infrastructure
 The transformation is based on a set of platform
features
 These features should be described by UML
PIM To PIM Transformation
 It is used when models are enhanced, refined or
filtered during the development lifecycle without
needing any platform specific information
 Example: analysis-to-design model
transformation
PSM To PSM Transformation
 It is used for component realization and
deployment
 Generally, it is related to platform dependent
model refinement
PSM To PIM Transformation
 It is performed for abstracting models of existing
technology-dependent implementations into a
platform independent model
 It is a refactoring process hard to be fully
automated
Approaches To Model Transformations
 The tools performing model transformations can use:
 Direct transformations: internal model representation
manipulated by specific APIs
 Intermediate transformations: model exported in an external
standard form (e.g., XMI) that can be manipulated
 Transformation language: a language with specific
constructs for defining and applying transformations
Classification Of Model Transformations
• Model transformations and languages for them have been
classified in many ways. Some of the more common
distinctions drawn are:
1. Number and type of inputs and outputs
2. Endogenous versus exogenous
3. Unidirectional versus bidirectional
Number And Type Of Inputs And Outputs
• In principle a model transformation may have many
inputs and outputs of various types; the only absolute
limitation is that a model transformation will take at least
one model as input. However, a model transformation
that did not produce any model as output would more
commonly be called a model analysis or model query.
Endogenous Versus Exogenous
• Endogenous transformations are transformations between
models expressed in the same language. Exogenous
transformations are transformations between models
expressed using different languages. For example, in a
process conforming to the OMG Model Driven
Architecture, a platform-independent model might be
transformed into a platform-specific model by an
exogenous model transformation.
Unidirectional Versus Bidirectional
• An Unidirectional Model transformation has only one mode of
execution.
– It means, it always takes the same type of input and produces
the same type of output.
• Unidirectional model transformations are useful in compilation-
like situations, where any output model is read-only.
• The relevant notion of consistency is then very simple
– The input model is consistent with the model that the
transformation would produce as output, only.
Unidirectional Versus Bidirectional
• A Bidirectional Model can sometimes be input and other times be
output.
• Bidirectional transformations are necessary in situations where people
are working on more than one model and the models must be kept
consistent.
• Then a change to either model might necessitate a change to the other, in
order to maintain consistency between the models.
• Because each model can incorporate information which is not reflected
in the other, there may be many models which are consistent with a
given model. Important special cases are:
Unidirectional Versus Bidirectional
• Bijective Transformations, in which there is exactly one model which is
consistent with any given model.
– It means, the consistency relation is bijective. A pair of models is consistent
if and only if it is related by the consistency bijection. Both models contain
the same information, but presented differently.
• View Transformations, in which a concrete model determines a single view
model, but the same view model might be produced from many different
concrete models.
– The view model is an abstraction of the concrete model. If the view may be
updated, a bidirectional transformation is needed. This situation is known in
the database field as view-update. Any concrete model is consistent with its
view.
Unidirectional Versus Bidirectional
• It is particularly important that a bidirectional model
transformation has appropriate properties to make it
behave sensibly.

Modal Driven Architecture In Software Engineering By NADEEM AHMED

  • 1.
    Types of Model-DrivenArchitecture & Transformation
  • 2.
    Group Members : NAMES--------------------------------------------REG_NO. 1.Saad-Bin-Syed--------------------------SP19-MCS-020 2. Bilal Najeeb Khan----------------------SP19-MCS-004 3. M. Mueed Alam------------------------SP19-MCS-013 4. Syed Abbas Haider---------------------SP19-MCS-026 5. Shahzaib Ali----------------------------SP19-MCS-024
  • 3.
    Model DrivenArchitecture • TheObject Management Group (OMG) has defined its own comprehensive proposal for applying MDE practices to system’s development: • MDA (Model-DrivenArchitecture)
  • 4.
    DefinitionsAccording ToMDA • System:The subject of any MDA specification (program, computer system, federation of systems) • Problem Space/Domain: The context or environment of the system • Solution Space: The spectrum of possible solutions that satisfy the requirements.
  • 5.
    DefinitionsAccording ToMDA • Model:Any representation of the system and/or its environment • 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
  • 6.
    DefinitionsAccording ToMDA • 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
  • 7.
    Four principles ofMDA 1.Models must be expressed in a well-defined notation - so as to enable effective communication and understanding 2. Models must be compliant with metamodels
  • 8.
    Four principles ofMDA 3.Increase acceptance, broad adoption and tool competition for MDE 4. Systems specifications must be organized around a set of models and associated transformations
  • 9.
    MDA Tools • Currently,there are no tools that implement MDA as envisioned by the OMG community – MDA itself is still being defined • Existing tools allow partial transformations • They are usually limited to – specific platforms – specific languages – specific transformations • Usually they are evolutions of tools born in other research fields – Especially in Generative programming and Metaprogramming
  • 10.
    CIM, PIM andPSM  CIM: Computation Independent Model  A vocabulary of a problem domain useful to a variety of stakeholders  PIM: Platform Independent Model  A specification of a system that does not take into account technical details of a specific platform  PSM: Platform Specific Model  A specification of a system expressed in terms of the specification model of the platform
  • 11.
  • 12.
    ModelingLevels • Computation IndependentModel (CIM): Describe requirements and needs at a very abstract level, without any reference to implementation aspects (e.g., description of user requirements or business objectives). • Platform Independent Model (PIM): Define the behavior of the systems in terms of stored data and performed algorithms, without any technical or technological details. • Platform Specific Model (PSM): Define all the technological aspects in detail.
  • 13.
    CIM For Example: A sampleCIM of a business process.
  • 14.
    PIM • Specification of structureand behavior of a system, abstracted from technological details. • Abstraction of structure and behavior of a system with the PIM simplifies the following: – Validation for correctness of the model – Create implementations on different platforms
  • 15.
    PSM • Specifies howthe functionality described in the PIM is realized on a certain platform • Using a UML-Profile for the selected platform, e.g., EJB
  • 16.
    MDA Process ForA Complex System
  • 17.
    Model Driven Transformation A model transformation, is a way of modifying and creating models.  An example use of model transformation is ensuring that models are consistent, in a precise sense which the software engineer can define.  The aim of using a model transformation is to save effort and reduce errors by automating the building and modification of models where possible.
  • 18.
    Model Driven Transformation Working with interrelated models requires to ensure their consistency.  This activity can be performed taking one or more source models as input and producing one or more target models as output
  • 19.
    PIM To PSMTransformation  It is used when the PIM is mapped into a platform specific infrastructure  The transformation is based on a set of platform features  These features should be described by UML
  • 20.
    PIM To PIMTransformation  It is used when models are enhanced, refined or filtered during the development lifecycle without needing any platform specific information  Example: analysis-to-design model transformation
  • 21.
    PSM To PSMTransformation  It is used for component realization and deployment  Generally, it is related to platform dependent model refinement
  • 22.
    PSM To PIMTransformation  It is performed for abstracting models of existing technology-dependent implementations into a platform independent model  It is a refactoring process hard to be fully automated
  • 23.
    Approaches To ModelTransformations  The tools performing model transformations can use:  Direct transformations: internal model representation manipulated by specific APIs  Intermediate transformations: model exported in an external standard form (e.g., XMI) that can be manipulated  Transformation language: a language with specific constructs for defining and applying transformations
  • 24.
    Classification Of ModelTransformations • Model transformations and languages for them have been classified in many ways. Some of the more common distinctions drawn are: 1. Number and type of inputs and outputs 2. Endogenous versus exogenous 3. Unidirectional versus bidirectional
  • 25.
    Number And TypeOf Inputs And Outputs • In principle a model transformation may have many inputs and outputs of various types; the only absolute limitation is that a model transformation will take at least one model as input. However, a model transformation that did not produce any model as output would more commonly be called a model analysis or model query.
  • 26.
    Endogenous Versus Exogenous •Endogenous transformations are transformations between models expressed in the same language. Exogenous transformations are transformations between models expressed using different languages. For example, in a process conforming to the OMG Model Driven Architecture, a platform-independent model might be transformed into a platform-specific model by an exogenous model transformation.
  • 27.
    Unidirectional Versus Bidirectional •An Unidirectional Model transformation has only one mode of execution. – It means, it always takes the same type of input and produces the same type of output. • Unidirectional model transformations are useful in compilation- like situations, where any output model is read-only. • The relevant notion of consistency is then very simple – The input model is consistent with the model that the transformation would produce as output, only.
  • 28.
    Unidirectional Versus Bidirectional •A Bidirectional Model can sometimes be input and other times be output. • Bidirectional transformations are necessary in situations where people are working on more than one model and the models must be kept consistent. • Then a change to either model might necessitate a change to the other, in order to maintain consistency between the models. • Because each model can incorporate information which is not reflected in the other, there may be many models which are consistent with a given model. Important special cases are:
  • 29.
    Unidirectional Versus Bidirectional •Bijective Transformations, in which there is exactly one model which is consistent with any given model. – It means, the consistency relation is bijective. A pair of models is consistent if and only if it is related by the consistency bijection. Both models contain the same information, but presented differently. • View Transformations, in which a concrete model determines a single view model, but the same view model might be produced from many different concrete models. – The view model is an abstraction of the concrete model. If the view may be updated, a bidirectional transformation is needed. This situation is known in the database field as view-update. Any concrete model is consistent with its view.
  • 30.
    Unidirectional Versus Bidirectional •It is particularly important that a bidirectional model transformation has appropriate properties to make it behave sensibly.