MDSE In Practice - Chapter 4 - Reading Notes

Chapter 4 - Model Driven Architecture (MDA)
  • OMG (Object Management Group) Standard
  • Not a specification, rather an approach to system development.  Relies on 
    • UML - Unified Modeling Language
    • MOF - Meta Object Facility
    • UML Profiles - SysML, SoaML, MARTE, CCM
4.1 MDA Definitions & Assumptions
  • Core Definitions: System, Model, Architecture, Platform, Viewpoint, View, Transformation
4.2 The Modeling Levels: CIM, PIM, PSM
  • CIM - Computation Independent Model
    • Most abstract.  It represents exactly what the solution is expected to do, but hides all IT related specifications.
    • Also referred to as a business model or domain model.  Use vocabulary familiar with SMEs.
  • PIM - Platform Independent Model
    • Represents aspects of the CIM that will be solved using a software-based solution while remaining independent of any concrete implementation framework.
  • PSM - Platform Specific Model
4.3 Mappings
  • Correspondence between elements of two different models
  • Mappings also referred to as "traces".
  • Mappings at meta-model level are called "intensional", while mappings at model level are called "extensional".
  • Mapping specification, weavings, constraints
  • Mapping between models can be implemented through transformations.
  • "Marks" or annotations may be needed in the PIM to facilitate the transformation to the PSM.
4.4 General-Purpose And Domain-Specific Languages in MDA
  • UML - cornerstone of the MDA language infrastructure.
  • DSML - Domain Specific Modeling Language
    • Vertical (e.g. finance, utilities, etc)
    • Horizontal (e.g. web applications, SOAs)
  • OMG Support
    • UML Extensions -> UML Profiles
    • DSMLs -> MOF
  • Using a general purpose language usch as UML versus the use of a DSML comes with its own set of pros/cons.  MDA is agnostic with regards to this choice.
4.5 Architecture-Driven Modernization (ADM)
  • Reverse engineering of existing systems
  • Meta models
    • KDM - Knowledge Discovery Model
    • SMM - Software Measurement Metamodel
    • ASTM - Abstract Syntax Tree Metamodel

Comments

Popular posts from this blog

Creating Items in Sparx EA via Java

Module Management - Part 1 - getModule() Pattern

Traversing a EA Model via Java