MDSE In Practice - Chapter 6 - Reading Notes

 Chapter 6 - Modeling Languages At A Glance

6.1 Anatomy of Modeling Languages
  • Ingredients: Abstract syntax, Concrete syntax, Semantics
  • GPL - General Pruposes Language.  DSL - Domain Specific Language.
  • Semantics can be defined as
    • Denotational
    • Operational
    • Transactional
6.2 Multi-View Modeling and Language Extensibility
  • Used to model orthogonal aspects of a system.
  • Typical: static/structural & dynamic.
  • Extensibility.  Sometimes GPL+specialization -> DSL
  • e.g. UML->SysML, SoaML
6.3 General-Purpose Vs Domain Specific Modeling Languages
  • DSLs - "are languages that are designed on purpose for a specific domain, context, or company, to support people who need to describe things in that domain."
  • GPL - "represent modeling notations that can be applied to any sector or domain for modeling purposes."
  • While UML might be faulty we know its faults.  Beware of creating your own UML.
6.4 General-Purpose Modeling: The case of UML
  • Well known & understood.
  • Full-fledged language suits.
  • Synthesis of a set of languages.
  • Complex, borne out of its history.
6.4.1 Design Practices
  • Uses a set of models.
  • Different levels of detail.
  • Extensible.
  • Supports pattern based design.
6.4.2 Structure Diagrams (or Static Diagrams)
  • Two levels
    • Conceptual Item
    • Architectural Representation
  • Conceptual ItemLevel
    • Class Diagram
    • Composite Structure Diagram
    • Object Diagram
  • Architectural Representation
    • Component Diagram
    • Package Diagram
    • Deployment Diagram
6.4.3 Behaviour Diagrams (or Dynamic Diagrams)
  • Use-Case Diagrams.
  • Activity Diagrams
  • State Machine Diagram
  • Interaction Diagrams
    • Sequence Diagram
    • Interaction Overview Diagram
    • Timing Diagram
6.4.4 UML Tools
- See Wikipedia

6.4.5 Criticisms and Evolution of UML
  • Criticism: Verbose, Cumbersome, Incoherent, Not easy to use in domain-specific scenarios.
  • Being addressed by OMG.
6.5 UML Extensibility: The Middle Way Between GPL and DSL

6.5.1 Stereotypes
  • Extend meta-classes
  • By
    • Base Metaclasses
    • Constraints
    • Tagged Values
    • Icon
6.5.2 Predicates
  • Restriction predicates. e.g. OCL

6.5.3 Tagged Values
  • tag-value pairs associated with a stereotype.
6.5.4 UML Profiling
  • A way of packaging extensions to define a DSL
  • Examples: SysML, SoaML, etc.
6.6 Overview of DSLs
  • Advantage is that it is suited specific domain& does not require users to learn a GPL.
6.6.1 Principles of DSLs
  • The language must provide good abstractions & be easy to use.
  • The language must not depend on a sole person's expertise.
  • The language must evolve.
  • The language must come with supporting tools & methods.
  • A good DSL must be open for extensions & closed for modifications.
  • Classification
    • Focus: Vertical (e.g. from an industry) or Horizontal (broad, e.g. SQL)
    • Style: Declarative or Imperative
    • Notation: Graphical or Textual
    • Internality: External (independent) or Internal (relies on extending a host language)
    • Execution: Model interpretation or Code generation
6.6.2 Some examples of DSLs
  • VHDL
  • I*
  • BPMN
  • IFML
6.7 Defining Modeling Constraints (OCL)
  • OCL - Object Constraint Language
  • A typed, declarative & side-effect-free specification language.
  • Constraints expressed as a set of invariants in the context of specified types.

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