Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Model-Driven Software Engineering in Practice - Chapter 1 - Introduction

20,439 views

Published on

Slides for the mdse-book.com chapter 1: Introduction

Complete set of slides now available:
Chapter 1 - http://www.slideshare.net/mbrambil/modeldriven-software-engineering-in-practice-chapter-1-introduction
Chapter 2 - http://www.slideshare.net/mbrambil/modeldriven-software-engineering-in-practice-chapter-2-mdse-principles
Chapter 3 - http://www.slideshare.net/jcabot/model-driven-software-engineering-in-practice-chapter-3-mdse-use-cases
Chapter 4 - http://www.slideshare.net/jcabot/modeldriven-software-engineering-in-practice-chapter-4
Chapter 5 - https://www.slideshare.net/mbrambil/modeldriven-software-engineering-in-practice-chapter-5-integration-of-modeldriven-in-development-processes
Chapter 6 - http://www.slideshare.net/jcabot/mdse-bookslideschapter6
Chapter 7 - http://www.slideshare.net/mbrambil/model-driven-software-engineering-in-practice-book-chapter-7-developing-your-own-modeling-language
Chapter 8 - http://www.slideshare.net/jcabot/modeldriven-software-engineering-in-practice-chapter-8-modeltomodel-transformations
Chapter 9 - https://www.slideshare.net/mbrambil/model-driven-software-engineering-in-practice-book-chapter-9-model-to-text-transformations-and-code-generation
Chapter 10 - http://www.slideshare.net/jcabot/mdse-bookslideschapter10managingmodels

This book discusses how approaches based on modeling can improve the daily practice of software professionals. This is known as Model-Driven Software Engineering (MDSE) or, simply, Model-Driven Engineering (MDE).

MDSE practices have proved to increase efficiency and effectiveness in software development. MDSE adoption in the software industry is foreseen to grow exponentially in the near future, e.g., due to the convergence of software development and business analysis.

This book is an agile and flexible tool to introduce you to the MDE and MDSE world, thus allowing you to quickly understand its basic principles and techniques and to choose the right set of MDE instruments for your needs so that you can start to benefit from MDE right away.

The first part discusses the foundations of MDSE in terms of basic concepts (i.e., models and transformations), driving principles, application scenarios and current standards, like the wellknown MDA initiative proposed by OMG (Object Management Group) as well as the practices on how to integrate MDE in existing development processes.

The second part deals with the technical aspects of MDSE, spanning from the basics on when and how to build a domain-specific modeling language, to the description of Model-to-Text and Model-to-Model transformations, and the tools that support the management of MDE projects.

The book covers introductory and technical topics, spanning definitions and orientation in the MD* world, metamodeling, domain specific languages, model transformations, reverse engineering, OMG's MDA, UML, OCL, ATL, QVT, MOF, Eclipse, EMF, GMF, TCS, xText.

http://www.mdse-book.com

Published in: Software
  • Was a little hesitant about using ⇒⇒⇒WRITE-MY-PAPER.net ⇐⇐⇐ at first, but am very happy that I did. The writer was able to write my paper by the deadline and it was very well written. So guys don’t hesitate to use it.
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • I have always found it hard to meet the requirements of being a student. Ever since my years of high school, I really have no idea what professors are looking for to give good grades. After some google searching, I found this service ⇒ www.HelpWriting.net ⇐ who helped me write my research paper.
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • I’ve personally never heard of companies who can produce a paper for you until word got around among my college groupmates. My professor asked me to write a research paper based on a field I have no idea about. My research skills are also very poor. So, I thought I’d give it a try. I chose a writer who matched my writing style and fulfilled every requirement I proposed. I turned my paper in and I actually got a good grade. I highly recommend ⇒ www.WritePaper.info ⇐
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Você pode obter ajuda de ⇒ www.boaaluna.club ⇐ Sucesso e cumprimentos!
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (2019 Update) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://soo.gd/irt2 } ......................................................................................................................... Download Full EPUB Ebook here { https://soo.gd/irt2 } ......................................................................................................................... Download Full doc Ebook here { https://soo.gd/irt2 } ......................................................................................................................... Download PDF EBOOK here { https://soo.gd/irt2 } ......................................................................................................................... Download EPUB Ebook here { https://soo.gd/irt2 } ......................................................................................................................... Download doc Ebook here { https://soo.gd/irt2 } ......................................................................................................................... ......................................................................................................................... ................................................................................................................................... eBook is an electronic version of a traditional print book THIS can be read by using a personal computer or by using an eBook reader. (An eBook reader can be a software application for use on a computer such as Microsoft's free Reader application, or a book-sized computer THIS is used solely as a reading device such as Nuvomedia's Rocket eBook.) Users can purchase an eBook on diskette or CD, but the most popular method of getting an eBook is to purchase a downloadable file of the eBook (or other reading material) from a Web site (such as Barnes and Noble) to be read from the user's computer or reading device. Generally, an eBook can be downloaded in five minutes or less ......................................................................................................................... .............. Browse by Genre Available eBooks .............................................................................................................................. Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, ......................................................................................................................... ......................................................................................................................... .....BEST SELLER FOR EBOOK RECOMMEND............................................................. ......................................................................................................................... Blowout: Corrupted Democracy, Rogue State Russia, and the Richest, Most Destructive Industry on Earth,-- The Ride of a Lifetime: Lessons Learned from 15 Years as CEO of the Walt Disney Company,-- Call Sign Chaos: Learning to Lead,-- StrengthsFinder 2.0,-- Stillness Is the Key,-- She Said: Breaking the Sexual Harassment Story THIS Helped Ignite a Movement,-- Atomic Habits: An Easy & Proven Way to Build Good Habits & Break Bad Ones,-- Everything Is Figureoutable,-- What It Takes: Lessons in the Pursuit of Excellence,-- Rich Dad Poor Dad: What the Rich Teach Their Kids About Money THIS the Poor and Middle Class Do Not!,-- The Total Money Makeover: Classic Edition: A Proven Plan for Financial Fitness,-- Shut Up and Listen!: Hard Business Truths THIS Will Help You Succeed, ......................................................................................................................... .........................................................................................................................
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

Model-Driven Software Engineering in Practice - Chapter 1 - Introduction

  1. 1. Marco Brambilla, Jordi Cabot, Manuel Wimmer. Model-Driven Software Engineering In Practice. Morgan & Claypool 2012. Teaching material for the book Model-Driven Software Engineering in Practice by Marco Brambilla, Jordi Cabot, Manuel Wimmer. Morgan & Claypool, USA, 2012. www.mdse-book.com INTRODUCTION Chapter #1
  2. 2. Marco Brambilla, Jordi Cabot, Manuel Wimmer. Model-Driven Software Engineering In Practice. Morgan & Claypool 2012. Introduction Contents § Human cognitive processes § Models § Structure of the book
  3. 3. Marco Brambilla, Jordi Cabot, Manuel Wimmer. Model-Driven Software Engineering In Practice. Morgan & Claypool 2012. Abstraction and human mind •  The human mind continuously re-works reality by applying cognitive processes •  Abstraction: capability of finding the commonality in many different observations: •  generalize specific features of real objects (generalization) •  classify the objects into coherent clusters (classification) •  aggregate objects into more complex ones (aggregation) •  Model: a simplified or partial representation of reality, defined in order to accomplish a task or to reach an agreement
  4. 4. Marco Brambilla, Jordi Cabot, Manuel Wimmer. Model-Driven Software Engineering In Practice. Morgan & Claypool 2012. Models What is a model? Mapping Feature A model is based on an original (=system) Reduction Feature A model only reflects a (relevant) selection of the original‘s properties Pragmatic Feature A model needs to be usable in place of an original with respect to some purpose ModelrepresentsSystem Purposes: •  descriptive purposes •  prescriptive purposes
  5. 5. Marco Brambilla, Jordi Cabot, Manuel Wimmer. Model-Driven Software Engineering In Practice. Morgan & Claypool 2012. Motivation What is Model Engineering? §  Model as the central artifact of software development §  Related terms §  Model Driven Engineering (MDE), §  Model Driven [Software] Development (MDD/MDSD), §  Model Driven Architecture (MDA) §  Model Integrated Computing (MIC) Model Rapid prototyping Static analysis Code generation Automated testing Refactoring/ Transformation Documentation [Illustration by Bernhard Rumpe]
  6. 6. Marco Brambilla, Jordi Cabot, Manuel Wimmer. Model-Driven Software Engineering In Practice. Morgan & Claypool 2012. Motivation Why Model Engineering? §  Increasing complexity of software §  Increasing basic requirements, e.g., adaptable GUIs, security, network capabilities, … §  Complex infrastructures, e.g., operating system APIs, language libraries, application frameworks §  Software for specific devices §  Web browser, mobile phone, navigation system, video player, etc. §  Technological progress … §  Integration of different technologies and legacy systems, migration to new technologies §  … leads to problems with software development §  Software finished too late §  Wrong functionality realized §  Software is poorly documented/commented §  and can not be further developed, e.g., when the technical environment changes, business model/ requirements change, etc.
  7. 7. Marco Brambilla, Jordi Cabot, Manuel Wimmer. Model-Driven Software Engineering In Practice. Morgan & Claypool 2012. Motivation Why Model Engineering? § Quality problems in software development [Balzert, H.: Lehrbuch der Softwaretechnik: Software-Entwicklung, Spektrum, Akad. Verlag, 1996] [Slide by Bernhard Rumpe]
  8. 8. Marco Brambilla, Jordi Cabot, Manuel Wimmer. Model-Driven Software Engineering In Practice. Morgan & Claypool 2012. Motivation Why Model Engineering? § Traditional usage of models in software development § Communication with customers and users (requirement specification, prototypes) § Support for software design, capturing of the intention § Task specification for programming § Code visualization for understanding § What is the difference to Model Engineering?
  9. 9. Marco Brambilla, Jordi Cabot, Manuel Wimmer. Model-Driven Software Engineering In Practice. Morgan & Claypool 2012. Motivation Usage of models § Do not apply models as long as you have not checked the underlying simplifications and evaluated its practicability. § Never mistake the model for the reality. § Attention: abstraction, abbreviation, approximation, visualization, … chlorine atom electron shell electron atom nucleus
  10. 10. Marco Brambilla, Jordi Cabot, Manuel Wimmer. Model-Driven Software Engineering In Practice. Morgan & Claypool 2012. Motivation Constructive models (Example: Electrical Engineering) [Slide by Bernhard Rumpe]
  11. 11. Marco Brambilla, Jordi Cabot, Manuel Wimmer. Model-Driven Software Engineering In Practice. Morgan & Claypool 2012. Motivation Declarative models (Example: Astronomy) § Heliocentric model by Kopernikus
  12. 12. Marco Brambilla, Jordi Cabot, Manuel Wimmer. Model-Driven Software Engineering In Practice. Morgan & Claypool 2012. Motivation Application area of modeling § Models as drafts § Communication of ideas and alternatives § Objective: modeling per se § Models as guidelines § Design decisions are documented § Objective: instructions for implementation § Models as programs § Applications are generated automatically § Objective: models are source code and vice versa t
  13. 13. Marco Brambilla, Jordi Cabot, Manuel Wimmer. Model-Driven Software Engineering In Practice. Morgan & Claypool 2012. Motivation Increasing abstraction in software development § The used artifacts of software development slowly converge to the concepts of the application area Assembler (001001) Assembler and mnemonic abbreviations (MV, ADD, GET) Procedural constructs (while, case, if) Libraries (GUI, lists) Components (provided/required interface) Business objects (course, account, customer) [Illustration by Volker Gruhn]
  14. 14. Marco Brambilla, Jordi Cabot, Manuel Wimmer. Model-Driven Software Engineering In Practice. Morgan & Claypool 2012. Structure of the book PART 1: MDSE Foundations §  1 Introduction §  1.1 Purpose and Use of Models §  1.2 Modeling for Software Development §  1.3 How to Read this Book §  2 MDSE Principles §  2.1 MDSE Basics §  2.2 Lost in Acronyms: The MD* Jungle §  2.3 Overview of the MDSE Methodology §  2.3.1 Overall Vision §  2.3.2 Target of MDSE: Domains, Platforms,Technical Spaces, and Scenarios §  2.3.3 Modeling Languages §  2.3.4 Metamodeling §  2.3.5 Transformations §  2.3.6 Model Classification §  2.4 MDSE Adoption in Industry §  2.5 Tool Support §  2.5.1 Drawing Tools vs Modeling Tools §  2.5.2 Model-Based vs Programming-Based MDSE Tools §  2.5.3 Eclipse and EMF §  2.6 Criticisms of MDSE
  15. 15. Marco Brambilla, Jordi Cabot, Manuel Wimmer. Model-Driven Software Engineering In Practice. Morgan & Claypool 2012. Structure of the book PART 1: MDSE Foundations (continued) §  3 MDSE Use Cases §  3.1 Automating Software Development §  3.1.1 Code Generation §  3.1.2 Model Interpretation §  3.1.3 Combining Code Generation and Model Interpretation §  3.2 System Interoperability §  3.3 Reverse Engineering §  4 Model-Driven Architecture (MDA) §  4.1 MDA Definitions and Assumptions §  4.2 The Modeling Levels: CIM, PIM, PSM §  4.3 Mappings §  4.4 General Purpose and Domain-Specific Languages in MDA §  4.5 Architecture-Driven Modernization §  5 Integration of MDSE in your Development Process §  5.1 Introducing MDSE in your Software Development Process §  5.1.1 Pains and Gains of Software Modeling §  5.1.2 Socio-Technical Congruence of the Development Process §  5.2 Traditional Development Processes and MDSE §  5.3 Agile and MDSE §  5.4 Domain-Driven Design and MDSE §  5.5 Test-Driven Development and MDSE §  5.5.1 Model-Driven Testing §  5.5.2 Test-Driven Modeling
  16. 16. Marco Brambilla, Jordi Cabot, Manuel Wimmer. Model-Driven Software Engineering In Practice. Morgan & Claypool 2012. Structure of the book PART 1: MDSE Foundations (continued) §  6 Modeling Languages at a Glance §  6.1 Anatomy of Modeling Languages §  6.2 General Purpose vs Domain-Specific Modeling Languages §  6.3 General-Purpose Modeling: The Case of UML §  6.4 UML Extensibility: The MiddleWay Between GPL and DSL §  6.5 Overview on DSLs (Domain Specific Languages) §  6.5.1 Principles of DSLs §  6.5.2 Some Examples of DSLs §  6.6 Defining Modeling Constraints (OCL) PART 2: MDSE Technologies §  7 Developing yourOwn Modeling Language §  7.1 Metamodel-Centric Language Design §  7.1.1 Abstract Syntax §  7.1.2 Concrete Syntax §  7.1.3 Language Ingredients at a Glance §  7.2 Example DSML: sWML §  7.3 Abstract Syntax Development §  7.3.1 Metamodel Development Process §  7.3.2 Metamodeling in Eclipse §  7.4 Concrete Syntax Development §  7.4.1 Graphical Concrete Syntax (GCS) §  7.4.2 Textual Concrete Syntax (TCS)
  17. 17. Marco Brambilla, Jordi Cabot, Manuel Wimmer. Model-Driven Software Engineering In Practice. Morgan & Claypool 2012. Structure of the book PART 2: MDSE Technologies (continued) §  8 Model-to-ModelTransformations §  8.1 Model Transformations and their Classification §  8.2 Exogenous, Out-Place Transformations §  8.3 Endogenous, In-Place Transformations §  8.4 Mastering Model Transformations §  8.4.1 Divide and Conquer: Model Transformation Chains §  8.4.2 HOT: Everything is a Model, Even Transformations! §  8.4.3 Beyond Batch: Incremental and Lazy Transformations §  8.4.4 Bi-Directional Model Transformations §  9 Model-to-TextTransformations §  9.1 Basics of Model-Driven Code Generation §  9.2 Code Generation Through Programming Languages §  9.3 Code Generation Through M2T Transformation Languages §  9.3.1 Benefits of M2T Transformation Languages §  9.3.2 Template-Based Transformation Languages: an Overview §  9.3.3 Acceleo: An Implementation of the M2T Transformation Standard §  9.4 Mastering Code Generation §  9.5 Excursus: Code Generation Through M2M Transformations and TCS
  18. 18. Marco Brambilla, Jordi Cabot, Manuel Wimmer. Model-Driven Software Engineering In Practice. Morgan & Claypool 2012. Structure of the book PART 2: MDSE Technologies (continued) §  10 Managing Models §  10.1 Model Interchange §  10.2 Model Persistence §  10.3 Model Comparison §  10.4 Model Versioning §  10.5 Model Co-Evolution §  10.6 Global Model Management §  10.7 Model Quality §  10.7.1 Verifying Models §  10.7.2 Testing and Validating Models §  10.8 Collaborative Modeling §  11 Summary §  Bibliography §  Authors’ Biographies
  19. 19. Marco Brambilla, Jordi Cabot, Manuel Wimmer. Model-Driven Software Engineering In Practice. Morgan & Claypool 2012. Teaching material for the book Model-Driven Software Engineering in Practice by Marco Brambilla, Jordi Cabot, Manuel Wimmer. Morgan & Claypool, USA, 2012. www.mdse-book.com MODEL-DRIVEN SOFTWARE ENGINEERING IN PRACTICE Marco Brambilla, Jordi Cabot, Manuel Wimmer. Morgan & Claypool, USA, 2012. www.mdse-book.com www.morganclaypool.com or buy it at: www.amazon.com

×