Engineering Modeling Languages: Turning Domain Knowledge into Tools

  • Engineering Modeling Languages: Turning Domain Knowledge into Tools
  • 版本:1
  • 作者 :Benoit Combemale, Robert France, Jean-Marc Jézéquel, Bernhard Rumpe, James Steel, Didier Vojtisek
  • 年份 :2017
  • 编号 :1466583738, 9781466583733, 9781315387932, 131538793X
  • 总页数 :402[403]
  • 语言 :English
  • 文件类型 :pdf
  • 大小 :21 Mb (21961760)
  • 秘钥 :D929DEFBE6D0263F6A73F7FADE5FA2
  • 简介 :
    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 : Content: 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 LanguageExercisesMetamodeling With MOF and ECORE Metamodel, Meta-language, Language Workbench and Meta-metamodelMeta-Object Facility (MOF) Ecore and EMF Representations for Machine Consumption Illustrative Example: Metamodels for Cellular AutomatonExercises Metamodeling With OCL The Object Constraint Language - OCLAdvanced 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 EditorsDiagram View (Box and Line) Textual View Tabular ViewOther ViewsModel Transformation: from ContemplativeModels to Productive ModelsMotivations Overview of Model Transformations The Executable Meta-Modeling Approach Exercises Interpreter Ingredients Design pattern Interpreter Combining the design patterns Interpreter and VisitorAspect Weaving with Static Introduction Exercises Refactoring and Refinement Foundations Applying Model Refactoring Illustrative Example: CAIR-Lite Refactoring Illustrative Example: CAER Refactoring Applying Model Refinement ExercisesGenerators 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 ProcessActors Tools to build Metamodeling process Metamodeling process variants Metamodeling Guidelines Illustrative Example: Process followed to build Cellular Automaton tooling Language Engineering: The Logo ExampleIntroduction 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.5Weaving 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 examplesLegal Information on the SRD 广州为民服装辅料有限公司专注研发生产五金皮标牌、绣花标、烫画、纽扣、拉链、滴塑商标、硅胶商标、织带、帽绳、裤腰绳、服装、箱包、鞋帽辅料等产品。官网: