Look at all the great content you get in the eBook

PART 1: Model-driven Software Engineering Foundations

Chapter 1 - Introduction
  • Purpose and Use of Models
  • Modeling for Software Development
  • How to Read this Book

Chapter 2 - MDSE Principles
  • MDSE Basics
  • Lost in Acronyms: The MD* Jungle
  • Overview of the MDSE Methodology
  • Tool Support
  • Adoption and Criticisms of MDSE

Chapter 3 - MDSE Use Cases
  • Automating Software Development: Code-generation and Model Interpretation
  • System Interoperability
  • Reverse Engineering
  • Modeling the organization: Business Processes and Enterprise Architecture

Chapter 4 - Model Driven Architecture (MDA)
  • MDA Definitions and Assumptions
  • The Modeling Levels: CIM, PIM, PSM
  • Mappings
  • General Purpose and Domain-Specific Languages in MDA
  • Architecture-Driven Modernization

Chapter 5 - Integration of MDSE in your Development Process
  • Introducing MDSE in your Software Development Process
  • Traditional Development Processes and MDSE
  • Agile and MDSE
  • Domain-Driven Design and MDSE
  • Test-Driven Development and MDSE
  • Software Product Lines and MDSE

Chapter 6 - Modeling Languages at a Glance
  • Anatomy of Modeling Languages
  • General Purpose vs Domain-Specific Modeling Languages
  • General-Purpose Modeling: The Case of UML
  • UML Extensibility: The MiddleWay Between GPL and DSL
  • Overview on DSLs (Domain Specific Languages)
  • Defining Modeling Constraints (OCL)

PART 2: Technical aspects of Model-driven Software Engineering

Chapter 7 - Developing your Own Modeling Language

 

  • Metamodel-Centric Language Design
  • Example DSML: sWML
  • Abstract Syntax Development
  • Concrete Syntax Development: Graphical and Textual Syntaxes
  • A Real-World Example: IFML

Chapter 8 - Model-to-Model Transformations

 

  • Model Transformations and their Classification
  • Exogenous, Out-Place Transformations
  • Endogenous, In-Place Transformations
  • Mastering Model Transformations: Transformations Chains, High-Order and Bidirectional Transformations

 

Chapter 9 - Model-to-Text Transformations

 

  • Basics of Model-Driven Code Generation
  • Code Generation Through Programming Languages
  • Code Generation Through M2T Transformation Languages
  • Mastering Code Generation
  • Excursus: Code Generation Through M2M Transformations and TCS

 

Chapter 10 - Managing Models

 

  • Model Interchange
  • Model Persistence
  • Model Comparison
  • Model Versioning
  • Model Co-Evolution
  • Global Model Management
  • Model Quality
  • Collaborative Modeling

 

Chapter 11 - Summary