TIENE EN SU CESTA DE LA COMPRA
en total 0,00 €
Features
Provides a comprehensive introduction to modeling languages and Model Driven Engineering (MDE)
Describes different kinds of (domain-specific) modeling languages and their instrumentation with tools such as editors, interpreters, generators, and validation tools
Includes industrial case studies, across a range of application domains
Presents a variety of simple worked examples and exercises to help readers reflect on what was learned
Features examples of models and code snippets on the accompanying website: http://mdebook.irisa.fr
Summary
Written by foremost experts in the field, Engineering Modeling Languages provides end-to-end coverage of the engineering of modeling languages to turn domain knowledge into tools.
The book provides a definition of different kinds of modeling languages, their instrumentation with tools such as editors, interpreters and generators, the integration of multiple modeling languages to achieve a system view, and the validation of both models and tools. Industrial case studies, across a range of application domains, are included to attest to the benefits offered by the different techniques. The book also includes a variety of simple worked examples that introduce the techniques to the novice user.
The book is structured in two main parts. The first part is organized around a flow that introduces readers to Model Driven Engineering (MDE) concepts and technologies in a pragmatic manner. It starts with definitions of modeling and MDE, and then moves into a deeper discussion of how to express the knowledge of particular domains using modeling languages to ease the development of systems in the domains.
The second part of the book presents examples of applications of the model-driven approach to different types of software systems. In addition to illustrating the unification power of models in different software domains, this part demonstrates applicability from different starting points (language, business knowledge, standard, etc.) and focuses on different software engineering activities such as Requirement Engineering, Analysis, Design, Implementation, and V&V.
Each chapter concludes with a small set of exercises to help the reader reflect on what was learned or to dig further into the examples. Many examples of models and code snippets are presented throughout the book, and a supplemental website features all of the models and programs (and their associated tooling) discussed in the book.
Table of Contents
What's a Model?
Introduction
Modeling in Science
Modeling in Engineering
Illustrative Example: Cellular Automata
Semantic Foundations of MDE: the Meaning of Models
Exercises
What's a Modeling Language?
Why we need Modeling Languages
Concrete Syntax
Abstract Syntax
Semantics of a Modeling Language
Exercises
Metamodeling With MOF and ECORE
Metamodel, Meta-language, Language Workbench and Meta-metamodel
Meta-Object Facility (MOF)
Ecore and EMF
Representations for Machine Consumption
Illustrative Example: Metamodels for Cellular Automaton
Exercises
Metamodeling With OCL
The Object Constraint Language - OCL
Advanced features of OCL
Usage of OCL for MOF
Exercises
Building Editors and Viewers
Introduction
Generic versus Specific Concrete Syntax
Visual Representations for Human Reading
Tree Editors
Diagram View (Box and Line)
Textual View
Tabular View
Other Views
Model Transformation: from Contemplative
Models to Productive Models
Motivations
Overview of Model Transformations
The Executable Meta-Modeling Approach
Exercises
Interpreter
Ingredients
Design pattern Interpreter
Combining the design patterns Interpreter and Visitor
Aspect Weaving with Static Introduction
Exercises
Refactoring and Refinement
Foundations
Applying Model Refactoring
Illustrative Example: CAIR-Lite Refactoring
Illustrative Example: CAER Refactoring
Applying Model Refinement
Exercises
Generators
Usefulness of text and code generation
Model-to-text transformations
Code Generation
Documentation Generation
Model Generation
Test Generation: Model-Based Validation And Verification
Exercises
Variability Management
Context of Software Product-Lines
Modeling Variability with Feature Diagrams
Advanced Variability Modeling Methods
Amalgamated Approach
Separating the Assets and the Variability Concern
Exploitation of Variability Models
MDE for SPL: Wrap up
Scaling up Modeling
Heterogeneous Modeling
Model Merging and Weaving
Language Reuse with Model Typing
Model Slicing
Software Language Engineering
Exercises
Wrap-up: Metamodeling Process
Actors
Tools to build
Metamodeling process
Metamodeling process variants
Metamodeling Guidelines
Illustrative Example: Process followed to build Cellular Automaton tooling
Language Engineering: The Logo Example
Introduction
Meta-Modeling Logo
Weaving static semantics
Weaving dynamic semantics to get an interpreter
Compilation as a kind of Model Transformation
Model to Model Transformation
Concrete Syntax
Exercices
Model Driven Engineering of a Role Playing Game
Introduction
Meta-Modeling the SRD 3.5
Weaving dynamic semantics to get an interpreter
Compilation to get a Web based editor
Testing a Rule Set
Exercices
Civil/Construction Engineering: The BIM Example
Introduction
Abstract Syntax of Buildings
Model Storage: Large Models
Concrete Syntax
Case Study: Clash Detection
Case Study: Quantity Takeoff
Application examples
Legal Information on the SRD