
Understanding Model-Driven Architecture (MDA) Concepts
Model-Driven Architecture (MDA) is an approach focused on using models in software development to achieve goals like portability, interoperability, and reusability. This methodology emphasizes Separation of Concerns, basic system and model concepts, and the role of models in directing software lifecycle phases. MDA is not a framework for building distributed systems like OMA/CORBA but rather a strategy for leveraging models to enhance software quality and reduce costs.
Download Presentation

Please find below an Image/Link to download the presentation.
The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author. If you encounter any issues during the download, it is possible that the publisher has removed the file from their server.
You are allowed to download the files provided on this website for personal or commercial use, subject to the condition that they are used lawfully. All files are the property of their respective owners.
The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author.
E N D
Presentation Transcript
MDA . - .- . 2020-2021
Model-Driven Architecture (MDA) Unlike OMA/CORBA, is not a framework for implementing distributed systems Instead, it is an approach to using models in software development 3 MDA, .- . , 2020-2021
Goals portability interoperability reusability increased quality reduced cost 4 MDA, .- . , 2020-2021
Separation of Concerns Specifying a system independently of the platform that supports it (PIM) specifying platforms choosing a particular platform for the system transforming the specification into one for a particular platform (PSM) 5 MDA, .- . , 2020-2021
MDA Pattern 6 MDA, .- . , 2020-2021
Basic Concepts System and model Model-driven Architecture Viewpoint Platform Independence Transformation 7 MDA, .- . , 2020-2021
System A system is anything of interest both: as a whole and as comprised of parts Existing, planned, or to be modified The environment of a system is everything in a model of that system other than that system A system consists of one or more applications, supported by one or more platforms 8 MDA, .- . , 2020-2021
Model A model is a description or specification of something for a purpose 9 MDA, .- . , 2020-2021
Basic Concepts System and model Model-driven Architecture Viewpoint Platform Independence Transformation 10 MDA, .- . , 2020-2021
Model-Driven Model-driven because it provides a means for using models to direct the course of: Understanding Design Construction Deployment Operation Maintenance Modification 11 MDA, .- . , 2020-2021
Basic Concepts System and model Model-driven Architecture Viewpoint Platform Independence Transformation 12 MDA, .- . , 2020-2021
Architecture The architecture of a system is a specification of the parts and connectors of the system and the rules for the interactions of the parts using the connectors. [5] The architecture of a system is a set of rules to define the structure of a system and the interrelationships between its parts. [1] [1] ISO, RM-ODP [X.900]. www.joaquin.net/RM-ODP/ [5] Shaw and Garlan, Software Architecture, Prentice Hall ISBN 0-13-182957-2 13 MDA, .- . , 2020-2021
Basic Concepts System and model Model-driven Architecture Viewpoint Platform Independence Transformation 14 MDA, .- . , 2020-2021
Viewpoint A viewpoint on a system is a technique for abstraction using a selected set of architectural concepts and structuring rules, in order to focus on particular concerns within that system Abstraction is used to mean the process of suppressing selected detail to establish a simplified model or the result of that process 15 MDA, .- . , 2020-2021
MDA Viewpoints The Model-Driven Architecture specifies three viewpoints on a system: a computation independent viewpoint a platform independent viewpoint a platform specific viewpoint A viewpoint model or view of a system is a representation of that system from the perspective of a chosen viewpoint 16 MDA, .- . , 2020-2021
Basic Concepts System and model Model-driven Architecture Viewpoint Platform Independence Transformation 17 MDA, .- . , 2020-2021
Platform Generic platform types Object, Batch, Dataflow Technology specific platform types CORBA, CORBA Components, Java 2 Components Vendor specific platform types Borland VisiBroker, Iona Orbix BEA WebLogic, IBM WebSphere Microsoft .NET 18 MDA, .- . , 2020-2021
Basic Concepts System and model Model-driven Architecture Viewpoint Platform Independence Transformation 19 MDA, .- . , 2020-2021
Platform Independence Platform independence is a quality, which a model may exhibit: the quality that the model does not call for the support of a platform of a particular type 20 MDA, .- . , 2020-2021
MDA Viewpoints Computation independent viewpoint focuses on the system and its environment. the details of the structure of the system are hidden or as yet undetermined Platform independent viewpoint focuses on the operation of a system while hiding the details necessary for a particular platform shows that part of the complete specification that does not change from one platform to another 21 MDA, .- . , 2020-2021
MDA Viewpoints Platform specific viewpoint Combines the platform independent viewpoint with an additional focus on the detail of the use of a specific platform by a system 22 MDA, .- . , 2020-2021
MDA Model Types Computation independent model (CIM) Platform independent model (PIM) exhibits platform independence and is suitable for use with a number of different platforms of similar type Platform specific model (PSM) Combines the specifications in the PIM with the details that specify how that system uses a particular type of platform 23 MDA, .- . , 2020-2021
MDA Model Types Platform model provides a set of technical concepts, representing the different kinds of parts that make up a platform and the services provided by that platform provides, for use in a platform specific model, concepts representing the different kinds of elements to be used in specifying the use of the platform by an application specifies requirements on the connection and use of the parts of the platform, and the connections of an application to the platform 24 MDA, .- . , 2020-2021
Basic Concepts System and model Model-driven Architecture Viewpoint Platform Independence Transformation 25 MDA, .- . , 2020-2021
Model Transformation Model transformation is the process of converting one model to another model of the same system or a model of a different system 26 MDA, .- . , 2020-2021
How MDA is Used PIM Mapping Mark Transformation Record PSM 27 MDA, .- . , 2020-2021
PIM Domain model describes the situation in which a system will be used Computation independent model the system in the environment in which it will operate independent of how the system is implemented Platform independent model describes the system, but does not show details of its use of its platform 28 MDA, .- . , 2020-2021
How MDA is Used PIM Mapping Mark Transformation Record PSM 29 MDA, .- . , 2020-2021
Mapping Provides specifications for transformation of a PIM into a PSM for a particular platform Model type mapping: A mapping from any model built using types specified in the PIM language to models expressed, using types from a PSM language Metamodel mapping: A model type mapping, where the types specified, using MOF metamodels. 30 MDA, .- . , 2020-2021
How MDA is Used PIM Mapping Mark Transformation Record PSM 31 MDA, .- . , 2020-2021
Mark Represents a concept in the PSM Is applied to an element of the PIM to indicate how that element is to be transformed Not a part of the PIM In practice, a set of marks is not enough A model of the use of the marks is needed: A set of concepts and structuring rules 32 MDA, .- . , 2020-2021
Marking a Model The architect or engineer marks elements of the PIM to indicate the mappings to be used to transform that PIM into a PSM A model element may have several marks including marks for several mappings 33 MDA, .- . , 2020-2021
How MDA is Used PIM Mapping Mark Transformation Record PSM 34 MDA, .- . , 2020-2021
Transformation the process of converting one model to another model of the same system input is the PIM and the mapping result is the PSM and a record of the transformation 35 MDA, .- . , 2020-2021
How MDA is Used PIM Mapping Mark Transformation Record PSM 36 MDA, .- . , 2020-2021
Record of Transformation a map from each element of the PIM to the corresponding elements of the PSM also shows which parts of the mapping were used for each part of the transformation in some cases can be used to keep a PIM and PSM in synchronization, when changes are made to one or the other 37 MDA, .- . , 2020-2021
How MDA is Used PIM Mapping Mark Transformation Record PSM 38 MDA, .- . , 2020-2021
Platform Specific Model a model of the same system specified by the PIM specifies how that system makes use of the chosen platform will be an implementation, if it provides all the information needed to construct a system and to put it into operation 39 MDA, .- . , 2020-2021
MDA Pattern 40 MDA, .- . , 2020-2021
Additional Information 41 MDA, .- . , 2020-2021
Transformation with Marks 42 MDA, .- . , 2020-2021
Metamodel Transformation 43 MDA, .- . , 2020-2021
Model Transformation 44 MDA, .- . , 2020-2021
Pattern Application 45 MDA, .- . , 2020-2021
MDA Transformations Model transformations are carried out in many ways: Manual Value added: PIM PSM distinctions & record Using a profile Using patterns and markings Automatic The PIM contains all implementation information 46 MDA, .- . , 2020-2021
Multiple Model Transformations 47 MDA, .- . , 2020-2021
MDA & BPM (1): PBMN to BPEL CIM: BPMN PIM: BPEL PSM: Implementation for Specific Engine Activiti, BizTalk Server, Open ESB, Oracle BPEL Process Manager, SAP Exchange Infrastructure, WebSphere Process Server 48 MDA, .- . , 2020-2021
MDA & BPM (2): PBMN to Process Apps CIM: BPMN (Visagi Modeler) PIM: BPMN + App Info (Visagi Studio) PSM: Deployed Application (Visagi Engine) 49 MDA, .- . , 2020-2021
MDA & BPM (3): PBMN to Simulation Code CIM: BPMN (Visagi Modeler) PIM: BPMN + BPSim Scenario (input) (Visagi Simulation View) PSM: Simulation Code (Visagi Simulator) 50 MDA, .- . , 2020-2021