Marco Brambilla, Jordi Cabot, Manuel Wimmer. Model-Driven Software Engineering In Practice. Morgan & Claypool 2012. Teaching material for the book Model-Driven.

Slides:



Advertisements
Similar presentations
Profiles Construction Eclipse ECESIS Project Construction of Complex UML Profiles UPM ETSI Telecomunicación Ciudad Universitaria s/n Madrid 28040,
Advertisements

Guaranteed Component Assembly with Round Trip Analysis for Energy Efficient High-integrity Multi-core Systems Artemis-AAL day 7 May, Budapest 1BME and.
Ch 3 System Development Environment
Software Modeling SWE5441 Lecture 3 Eng. Mohammed Timraz
Presented by: Thabet Kacem Spring Outline Contributions Introduction Proposed Approach Related Work Reconception of ADLs XTEAM Tool Chain Discussion.
Sixth Hour Lecture 10:30 – 11:20 am, September 9 Framework for a Software Management Process – Artifacts of the Process (Part II, Chapter 6 of Royce’ book)
Formal Techniques in Software Engineering Universiteit AntwerpenIntroduction 1.1 Formal Techniques in Software Engineering 3de BAC Informatica Chapter.
Automated Analysis and Code Generation for Domain-Specific Models George Edwards Center for Systems and Software Engineering University of Southern California.
A Model-Driven Framework for Architectural Evaluation of Mobile Software Systems George Edwards Dr. Nenad Medvidovic Center.
UML CASE Tool. ABSTRACT Domain analysis enables identifying families of applications and capturing their terminology in order to assist and guide system.
Ontologies Reasoning Components Agents Simulations An Overview of Model-Driven Engineering and Architecture Jacques Robin.
Whole Platform Tesi di Dottorato di: RICCARDO SOLMI Università degli Studi di Bologna Facoltà di scienze matematiche, fisiche e naturali Corso di Dottorato.
Supplement 02CASE Tools1 Supplement 02 - Case Tools And Franchise Colleges By MANSHA NAWAZ.
Mining Metamodels From Instance Models: The MARS System Faizan Javed Department of Computer & Information Sciences, University of Alabama at Birmingham.
Chapter 1 The Systems Development Environment Modern Systems Analysis and Design Sixth Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich.
Comparing M2T & M2M Complementary Approaches © 2008 INRIA, University of York & SINTEF Comparing M2T & M2M Complementary Approaches Hugo Bruneliere,
Chapter 1 The Systems Development Environment
1 Ivano Malavolta, University of L’aquila, Computer Science Department Ivano Malavolta DUALLy: an Eclipse platform for architectural languages interoperability.
Chapter 1 The Systems Development Environment
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
MDA Guide Version CYT. 2 Outline OMG Vision and Process Introduction to MDA How is MDA Used? MDA Transformations Other MDA Capabilities Using the.
Chapter 6 System Engineering - Computer-based system - System engineering process - “Business process” engineering - Product engineering (Source: Pressman,
2Object-Oriented Analysis and Design with the Unified Process Objectives  Explain the purpose and various phases of the traditional systems development.
Chapter 1 The Systems Development Environment
SWE 316: Software Design and Architecture – Dr. Khalid Aljasser Objectives Lecture 11 : Frameworks SWE 316: Software Design and Architecture  To understand.
Chapter 1 The Systems Development Environment Modern Systems Analysis and Design Sixth Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich.
©Ian Sommerville 2000, Mejia-Alvarez 2009 Slide 1 Software Processes l Coherent sets of activities for specifying, designing, implementing and testing.
MDE Model Driven Engineering Xavier Blanc Université Pierre et Marie Curie
Introduction to MDA (Model Driven Architecture) CYT.
Agenda 1. Introduction 2. Overview of SU-MoVal 3. OCL-based Model Validation 4. QVT-based Transformations 5. Demo of SU-MoVal 6. Conclusion and Future.
Alignment of ATL and QVT © 2006 ATLAS Nantes Alignment of ATL and QVT Ivan Kurtev ATLAS group, INRIA & University of Nantes, France
2nd TTCN-3 User Conference, June The TTCN-3 Metamodel – A Basis for Tool Integration Ina Schieferdecker TU Berlin/Fraunhofer Fokus Hajo Eichler,
 CS 5380 Software Engineering Chapter 2 – Software Processes Chapter 2 Software Processes1.
Chapter 1 The Systems Development Environment Modern Systems Analysis and Design Sixth Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich.
Domain-Specific Development Stuart Kent, Senior Program Manager, DSL Tools, Visual Studio Team System, Microsoft.
ISO/IEC CD and WD : Core Model and Model Mapping ISO/IEC JTC1/SC32/WG September 2005, Toronto SC32/WG2 Japan (Kanrikogaku Ltd) Masaharu.
Model-Driven Analysis Frameworks for Embedded Systems George Edwards USC Center for Systems and Software Engineering
University of Southern California Center for Systems and Software Engineering Model-Based Software Engineering Supannika Koolmanojwong Spring 2013.
Content The system development life cycle
Systems Analysis and Design in a Changing World, 3rd Edition
1 Introduction to Software Engineering Lecture 1.
Illustrations and Answers for TDT4252 exam, June
DSL Classification October 21-22, 2007 Benoît Langlois / Thales-EPM Consuela-Elena Jitia / Eric Jouenne, Thales Research & Technology The 7th OOPSLA Workshop.
Model Checking and Model-Based Design Bruce H. Krogh Carnegie Mellon University.
CS 772: Global Knowledge Networks V. “Juggy” Jagannathan CSEE, West Virginia University.
ModelPedia Model Driven Engineering Graphical User Interfaces for Web 2.0 Sites Centro de Informática – CIn/UFPe ORCAS Group Eclipse GMF Fábio M. Pereira.
Graphical Modeling Framework (GMF) Richard C. Gronback Project Lead.
An approach for Framework Construction and Instantiation Using Pattern Languages Rosana Teresinha Vaccare Braga Paulo Cesar Masiero ICMC-USP: Institute.
OOPSLA workshop on Domain-Specific Visual Languages 1 Juha-Pekka Tolvanen, Steven Kelly, Jeff Gray, Kalle Lyytinen.
Cooperative Computing & Communication Laboratory A Survey on Transformation Tools for Model-Based User Interface Development Robbie Schäfer – Paderborn.
Introduction to Modeling Extracted from textbook: Object Oriented Modeling and Design with UML M. Blaha, J. Rumbaugh.
Yu, et al.’s “A Model-Driven Development Framework for Enterprise Web Services” In proceedings of the 10 th IEEE Intl Enterprise Distributed Object Computing.
Ontologies Reasoning Components Agents Simulations An Overview of Model-Driven Engineering and Architecture Jacques Robin.
Design Pattern Support based on principles of model driven development Zihao Zhao.
© NALO Solutions Limited NALO Solutions, presents the – Revenue Collector App Using Mobile Phones to gather Revenue SOFTWARE ENGINEERING.
Marco Brambilla, Jordi Cabot, Manuel Wimmer. Model-Driven Software Engineering In Practice. Morgan & Claypool Teaching material for the book Model-Driven.
Marco Brambilla, Jordi Cabot, Manuel Wimmer. Model-Driven Software Engineering In Practice. Morgan & Claypool Teaching material for the book Model-Driven.
Mechanisms for Requirements Driven Component Selection and Design Automation 최경석.
Page 1 Hitachi Ltd. – FhI FOKUS TTCN-3 User Conference, June 2005 MDA based approach for generation of TTCN-3 test specifications Hideto Ogawa, Hitachi.
UNIT 1.
CIM Modeling for E&U - (Short Version)
Object-Oriented Software Engineering Using UML, Patterns, and Java,
Graduation Project Kick-off presentation - SET
Model-Driven Analysis Frameworks for Embedded Systems
The Extensible Tool-chain for Evaluation of Architectural Models
Evaluating Compuware OptimalJ as an MDA tool
UML profiles.
Execute your Processes
Automated Analysis and Code Generation for Domain-Specific Models
Software Architecture & Design
Presentation transcript:

Marco Brambilla, Jordi Cabot, Manuel Wimmer. Model-Driven Software Engineering In Practice. Morgan & Claypool Teaching material for the book Model-Driven Software Engineering in Practice by Marco Brambilla, Jordi Cabot, Manuel Wimmer. Morgan & Claypool, USA, INTRODUCTION Chapter #1

Marco Brambilla, Jordi Cabot, Manuel Wimmer. Model-Driven Software Engineering In Practice. Morgan & Claypool Introduction Contents  Human cognitive processes  Models  Structure of the book

Marco Brambilla, Jordi Cabot, Manuel Wimmer. Model-Driven Software Engineering In Practice. Morgan & Claypool 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

Marco Brambilla, Jordi Cabot, Manuel Wimmer. Model-Driven Software Engineering In Practice. Morgan & Claypool Models What is a model? Mapping FeatureA model is based on an original (=system) Reduction FeatureA model only reflects a (relevant) selection of the original‘s properties Pragmatic FeatureA model needs to be usable in place of an original with respect to some purpose Model represents System Purposes: descriptive purposes prescriptive purposes

Marco Brambilla, Jordi Cabot, Manuel Wimmer. Model-Driven Software Engineering In Practice. Morgan & Claypool 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]

Marco Brambilla, Jordi Cabot, Manuel Wimmer. Model-Driven Software Engineering In Practice. Morgan & Claypool 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.

Marco Brambilla, Jordi Cabot, Manuel Wimmer. Model-Driven Software Engineering In Practice. Morgan & Claypool Motivation Why Model Engineering?  Quality problems in software development [Balzert, H.: Lehrbuch der Softwaretechnik: Software-Entwicklung, Spektrum, Akad. Verlag, 1996] [Slide by Bernhard Rumpe]

Marco Brambilla, Jordi Cabot, Manuel Wimmer. Model-Driven Software Engineering In Practice. Morgan & Claypool 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 example in TogetherJ  What is the difference to Model Engineering?

Marco Brambilla, Jordi Cabot, Manuel Wimmer. Model-Driven Software Engineering In Practice. Morgan & Claypool 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

Marco Brambilla, Jordi Cabot, Manuel Wimmer. Model-Driven Software Engineering In Practice. Morgan & Claypool Motivation Constructive models (Example: Electrical Engineering) [Slide by Bernhard Rumpe]

Marco Brambilla, Jordi Cabot, Manuel Wimmer. Model-Driven Software Engineering In Practice. Morgan & Claypool Motivation Declarative models (Example: Astronomy)  Heliocentric model by Kopernikus

Marco Brambilla, Jordi Cabot, Manuel Wimmer. Model-Driven Software Engineering In Practice. Morgan & Claypool 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

Marco Brambilla, Jordi Cabot, Manuel Wimmer. Model-Driven Software Engineering In Practice. Morgan & Claypool 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) Assembler and mnemonic abbreviations (MV, ADD, GET) Procedural constructs (while, case, if) Procedural constructs (while, case, if) Libraries (GUI, lists) Components (provided/required interface) Business objects (course, account, customer) Business objects (course, account, customer) [Illustration by Volker Gruhn]

Marco Brambilla, Jordi Cabot, Manuel Wimmer. Model-Driven Software Engineering In Practice. Morgan & Claypool 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  Overall Vision  Target of MDSE: Domains, Platforms,Technical Spaces, and Scenarios  Modeling Languages  Metamodeling  Transformations  Model Classification  2.4 MDSE Adoption in Industry  2.5 Tool Support  Drawing Tools vs Modeling Tools  Model-Based vs Programming-Based MDSE Tools  Eclipse and EMF  2.6 Criticisms of MDSE

Marco Brambilla, Jordi Cabot, Manuel Wimmer. Model-Driven Software Engineering In Practice. Morgan & Claypool Structure of the book PART 1: MDSE Foundations (continued)  3 MDSE Use Cases  3.1 Automating Software Development  Code Generation  Model Interpretation  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  Pains and Gains of Software Modeling  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  Model-Driven Testing  Test-Driven Modeling

Marco Brambilla, Jordi Cabot, Manuel Wimmer. Model-Driven Software Engineering In Practice. Morgan & Claypool 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)  Principles of DSLs  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  Abstract Syntax  Concrete Syntax  Language Ingredients at a Glance  7.2 Example DSML: sWML  7.3 Abstract Syntax Development  Metamodel Development Process  Metamodeling in Eclipse  7.4 Concrete Syntax Development  Graphical Concrete Syntax (GCS)  Textual Concrete Syntax (TCS)

Marco Brambilla, Jordi Cabot, Manuel Wimmer. Model-Driven Software Engineering In Practice. Morgan & Claypool 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  Divide and Conquer: Model Transformation Chains  HOT: Everything is a Model, Even Transformations!  Beyond Batch: Incremental and Lazy Transformations  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  Benefits of M2T Transformation Languages  Template-Based Transformation Languages: an Overview  Acceleo: An Implementation of the M2T Transformation Standard  9.4 Mastering Code Generation  9.5 Excursus: Code Generation Through M2M Transformations and TCS

Marco Brambilla, Jordi Cabot, Manuel Wimmer. Model-Driven Software Engineering In Practice. Morgan & Claypool 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  Verifying Models  Testing and Validating Models  10.8 Collaborative Modeling  11 Summary  Bibliography  Authors’ Biographies

Marco Brambilla, Jordi Cabot, Manuel Wimmer. Model-Driven Software Engineering In Practice. Morgan & Claypool Teaching material for the book Model-Driven Software Engineering in Practice by Marco Brambilla, Jordi Cabot, Manuel Wimmer. Morgan & Claypool, USA, MODEL-DRIVEN SOFTWARE ENGINEERING IN PRACTICE Marco Brambilla, Jordi Cabot, Manuel Wimmer. Morgan & Claypool, USA, or buy it at: