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

Flexible Method Pattern

Java and Enterprise Architect from Sparx Systems – Getting Started