Modell alapú rendszertervezés

Hasonló dokumentumok
Declarative Specification of Domain Specific Visual Languages. Master s Thesis. Dr. Dániel Varró assistant professor

Simulation and transformation of domain-specific languages. Master s Thesis

FOSS4G-CEE Prágra, 2012 május. Márta Gergely Sándor Csaba

Szoftver-technológia II. Tervezési minták. Irodalom. Szoftver-technológia II.

Cloud computing. Cloud computing. Dr. Bakonyi Péter.

Orvosi eszközök gyártmányfejlesztése Aktív orvosi eszköz szoftver verifikálása, validálása (V&V) Dolgos Márton Budapest,

Using the CW-Net in a user defined IP network

KOGGM614 JÁRMŰIPARI KUTATÁS ÉS FEJLESZTÉS FOLYAMATA

Felnőttképzés Európában

Cloud computing Dr. Bakonyi Péter.

Miért is transzformáljunk modelleket? Varró Dániel

A modern e-learning lehetőségei a tűzoltók oktatásának fejlesztésében. Dicse Jenő üzletfejlesztési igazgató

Metamodellezés. Simon Balázs BME IIT, 2011.

Introduction. Szolgáltatásorientált rendszerintegráció Service-Oriented System Integration. Dr. Balázs Simon BME, IIT

Széchenyi István Egyetem

BKI13ATEX0030/1 EK-Típus Vizsgálati Tanúsítvány/ EC-Type Examination Certificate 1. kiegészítés / Amendment 1 MSZ EN :2014

A szoftver tesztelés alapjai

Web Services. (webszolgáltatások): egy osztott alkalmazásfejlesztési plattform

Az M2M szabványosítási helyzete

ANGOL NYELV KÖZÉPSZINT SZÓBELI VIZSGA I. VIZSGÁZTATÓI PÉLDÁNY

Excel vagy Given-When-Then? Vagy mindkettő?

Pletykaalapú gépi tanulás teljesen elosztott környezetben

Construction of a cube given with its centre and a sideline

Eladni könnyedén? Oracle Sales Cloud. Horváth Tünde Principal Sales Consultant március 23.

Miskolci Egyetem Gazdaságtudományi Kar Üzleti Információgazdálkodási és Módszertani Intézet. Hypothesis Testing. Petra Petrovics.

EEA, Eionet and Country visits. Bernt Röndell - SES

A Continental Automotive Hungary beszállítói stratégiája Beszállítók kiválasztása és fejlesztése helyben és globálisan

Performance Modeling of Intelligent Car Parking Systems

EN United in diversity EN A8-0206/419. Amendment

SOPHOS simple + secure. A dobozba rejtett biztonság UTM 9. Kókai Gábor - Sophos Advanced Engineer Balogh Viktor - Sophos Architect SOPHOS

Ráth István. DECOS Nemzeti Nap október 15. Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék

4. Gyakorlat: Csoportházirend beállítások

Correlation & Linear Regression in SPSS

Könnyen bevezethető ITIL alapú megoldások a Novell ZENworks segítségével. Hargitai Zsolt Sales Support Manager Novell Hungary

építészet & design ipari alkalmazás teherautó felépítmény

Földtani térképek kartografálásának segítése térinformatikai módszerekkel

Nemzetközi vállalat - a vállalati szoftvermegoldások egyik vezető szállítója

Ráth István. A fejlesztés evolúciója

Cluster Analysis. Potyó László

ANGOL NYELV KÖZÉPSZINT SZÓBELI VIZSGA I. VIZSGÁZTATÓI PÉLDÁNY

Angol Középfokú Nyelvvizsgázók Bibliája: Nyelvtani összefoglalás, 30 kidolgozott szóbeli tétel, esszé és minta levelek + rendhagyó igék jelentéssel

Professional competence, autonomy and their effects

2. Local communities involved in landscape architecture in Óbuda

problémák elvárások megoldások EAI MDA MOF CWM köztes Sw eszközök hatékonyság konklúzió 09:09 problémák elvárások megoldások EAI MDA MOF CWM

Materiális javak - az Oracle Database tárgyi emlékei az elmúlt 25 évből. HOUG Konferencia Siófok Kovács József, John Milton Kft.

Phenotype. Genotype. It is like any other experiment! What is a bioinformatics experiment? Remember the Goal. Infectious Disease Paradigm

SAS Enterprise BI Server

Mérnök informatikus (BSc) alapszak levelező tagozat (BIL) / BSc in Engineering Information Technology (Part Time)

BÍRÁLATOK ÉS KONFERENCIÁK

Code Generation. Ákos Horváth Gábor Bergmann Dániel Varró Model Driven Systems Development Lecture 8. Budapesti Műszaki és Gazdaságtudományi Egyetem

KÉPI INFORMÁCIÓK KEZELHETŐSÉGE. Forczek Erzsébet SZTE ÁOK Orvosi Informatikai Intézet. Összefoglaló

SZAKMAI BESZÁMOLÓ EVK SZAKKOLLÉGIUM. BESZÁMOLÓ: A 2014/2015 A Pallas Athéné Domus Scientiae Alapítvány pályázatára 2014/2015-ÖS TANÉV

A KUTATÁS EREDMÉNYEI ZÁRÓJELENTÉS

Bevándorlás Tanulás. Tanulás - Egyetem. Beiratkozás. Jelentkezés képzésre. Képzés típusa. Képzés típusa. Képzés típusa. Képzés típusa.

Az Open Data jogi háttere. Dr. Telek Eszter

Ákos Horváth Gábor Bergmann Dániel Varró István Ráth Model Driven Software Development Lecture 3

CMMI modell v1.2 verziójának bemutatása. Tartalom. Dr. Balla Katalin A CMMI v1.2 bemutatása

Nagyvállalati Linux üzemeltetés Horváth Gábor Kálmán

A forrás pontos megnevezésének elmulasztása valamennyi hivatkozásban szerzői jogsértés (plágium).

Miskolci Egyetem Gazdaságtudományi Kar Üzleti Információgazdálkodási és Módszertani Intézet. Correlation & Linear. Petra Petrovics.

Galileo Signal Priority A new approach to TSP

Innovative Drug Research Initiative: a Hungarian National Technological Platform. Adam Vas MD PhD Platform Leader

Cashback 2015 Deposit Promotion teljes szabályzat

EN United in diversity EN A8-0206/473. Amendment

Ákos Horváth Gábor Bergmann Dániel Varró István Ráth Model Driven Software Development Lecture 3

On The Number Of Slim Semimodular Lattices

Osztott alkalmazások fejlesztési technológiái Áttekintés

Hasznos és kártevő rovarok monitorozása innovatív szenzorokkal (LIFE13 ENV/HU/001092)

Diagnosztikai szemléletű talajtérképek szerkesztése korrelált talajtani adatrendszerek alapján

Adatbázis-kezelés ODBC driverrel

Önkiszolgáló BI infrastruktúra az adatvezérelt teljesítménymenedzsmentben

Mangalica: The VM-MOE Treaty. Olmos és Tóth Kft. Monte Nevado

Választási modellek 3

Sebastián Sáez Senior Trade Economist INTERNATIONAL TRADE DEPARTMENT WORLD BANK

± ± ± ƒ ± ± ± ± ± ± ± ƒ. ± ± ƒ ± ± ± ± ƒ. ± ± ± ± ƒ

Decision where Process Based OpRisk Management. made the difference. Norbert Kozma Head of Operational Risk Control. Erste Bank Hungary

Összegzés és hogyan tovább

IEC Basic Engineering -től a Leszerelésig

A kreatív iparág és az új média összefonódása

Statistical Dependence

KELET-ÁZSIAI DUPLANÁDAS HANGSZEREK ÉS A HICHIRIKI HASZNÁLATA A 20. SZÁZADI ÉS A KORTÁRS ZENÉBEN

Bevezetés a kvantum-informatikába és kommunikációba 2015/2016 tavasz

Utolsó frissítés / Last update: február Szerkesztő / Editor: Csatlós Árpádné

Életciklus modellek a rendszer és szoftverrendszer-fejlesztésben. SDLC System Development Life Cycle Software Development Life Cycle

IT Asset Management. IBM Tivoli Asset Management for IT Kubicsek Tamás IBM Corporation

Az angol nyelv tantárgy 9. évfolyamos osztályozó vizsga témakörei (heti 2 óra)

Szoftver min ség és menedzsment

Miskolci Egyetem Gazdaságtudományi Kar Üzleti Információgazdálkodási és Módszertani Intézet Nonparametric Tests

SZOLGÁLTATÁS-VALIDÁCIÓ ITU-T AJÁNLÁSOK ALAPJÁN

STUDENT LOGBOOK. 1 week general practice course for the 6 th year medical students SEMMELWEIS EGYETEM. Name of the student:

Utolsó módosítás:

Statistical Inference

DR. BOROMISZA ZSOMBOR. A zalakarosi termáltó tájbaillesztése


EN United in diversity EN A8-0206/445. Amendment

Tudományos Ismeretterjesztő Társulat

MINO V2 ÁLLVÁNY CSERÉJE V4-RE

Genome 373: Hidden Markov Models I. Doug Fowler

Rotary District 1911 DISTRICT TÁMOGATÁS IGÉNYLŐ LAP District Grants Application Form

TERMÉKFEJLESZTÉS I. (PhD szig.) PRODUCT DEVELOPMENT I. (PhD final exam)

Átírás:

Modell alapú rendszertervezés Tematika, követelmények Varró Dániel varro@mit.bme.hu

A tárgyról Modell alapú rendszertervezés= Model-driven Systems Design (MDSD) Előadások o Csütörtök 10:15-12:00, IB146 Gyakorlatok o Páratlan hét: Csütörtök 14:15-16:00, IL405 (azaz már ma) o Előadások+gyakorlatok pontos beosztása a honlapon, Google Calendarban Honlap o http://www.inf.mit.bme.hu/edu/courses/mdsd

Előadók o Prof. Varró Dániel A tárgy oktatói Gyakorlatok: o Nagy András Szabolcs További/korábbi fő közreműködők: o Dr. Horváth Ákos Dr. Ráth István o Dr. Hegedüs Ábel Dr. Bergmann Gábor o Ujhelyi Zoltán Dr. Polgár Balázs o Szárnyas Gábor Semeráth Oszkár Debreceni Csaba

Követelmények Mottó: a gyakorlat teszi a mestert o A félév során 3 összefüggő házi feladatot kell megoldani Határidőre 3 fős csapatmunkában o Célkitűzés Modellezési nyelv + validálás + kódgenerálás + szimuláció o Kiírás: https://www.inf.mit.bme.hu/edu/courses/mdsd/homework Szóbeli vizsga: o A házi feladatok eredménye beszámít o Extra feladatok a félév során a megajánlott jegyért Segédanyagok: Angol nyelvű fóliák + o Angol könyv: Model driven software engineering in practice by Brambilla, Cabot and Wimmer (fóliák is részben)

Hogyan alakítsunk csapatot? Gyakori kérdések o Rátok bízzuk. Három fős csapatok legyenek o A csapat nevét és a tagok névsorát feb. 24-ig küldjétek el emailben a nagya@mit.bme.hu címre Mi lesz, ha valaki nem talál magának csapatot? o Majd mi találunk neki. (De csak végső esetben.) Mikor lesz az első gyakorlat? o Február 18: Eclipse bevezető, Git+Trac használata Hogyan kell beadni a házi feladatot? o A határidő előtti nap éjfélig Git-be feltölteni o A beadás külön időpontban lesz o Mindhárman legyetek jelen o Projekt menedzsment: Basecamp o Ügyeljetek a precíz munkanapló vezetésére! (Részletek az első gyakorlaton)

Tanácsok A legfontosabb: a házi feladatot időben el kell kezdeni! Használjátok ki a lehetőségeket: o A gyakorlatokon bemutatjuk a technológiákat. o A demonstrátoroktól nyugodtan lehet emailben segítséget, tanácsokat kérni. Vegyétek komolyan a csapatmunkát! o Ellenőrizni fogjuk, és figyelembe vesszük a végső értékelésnél. Olvassátok el figyelmesen a feladatkiírásokat a honlapon! o A házi feladat nem pusztán szakmai kihívás, o projekttervezési és munkaszervezési is! Az előadásokra határozottan megéri bejárni. A vendégelőadókéra különösen! Mindig kérdezzetek bátran: modeling@inf.mit.bme.hu

Model-based System Design outline Modeling Requirement analysis Domain modeling and constraints Behavioral modeling Development process Domain-Specific Languages and Techniques Domain specific languages Model queries Code generators Model transformations Eclipse-based Technologies

Timeline Modeling (Week 6: March 24th, Thursday): o Requirements o Domain modeling (metamodeling) o Well-formedness constraints Domain-specific language design (Week 10) o Graphical or Textual modeling language Code generation and Simulation (Week 14) o Code generator o Integrated simulator

MODEL-DRIVEN SOFTWARE ENGINEERING IN PRACTICE Marco Brambilla, Teaching material for the book Model-Driven Jordi Cabot, Software Engineering in Practice by Manuel Marco Brambilla, Wimmer. Jordi Cabot, Manuel Wimmer. Morgan & Claypool, USA, 2012. Morgan & Claypool, USA, 2012. www.mdse-book.com www.morganclaypool.com or buy it on www.amazon.com www.mdse-book.com

Motivations for MDSD

Development Process for Critical Systems Unique Development Process (Traditional V-Model) Critical Systems Design requires a certification process to develop justified evidence that the system is free of flaws DO-178C IEC 61508 Innovative Tool Better System Software Tool Qualification obtain certification credit for a software tool used in critical system design Qualified Tool Certified Output

Model-Driven Engineering of Critical Systems Traditional V-Model Model-Driven Engineering DO-178B/C: Software Considerations in Airborne Systems and Equipment Certification (RTCA, EUROCAE) Steven P. Miller: Certification Issues in Model Based Development (Rockwell Collins) Main ideas of MDE early validation of system models automatic source code generation quality++ tools ++ development cost--

Models and Transformations in Critical Systems Vertical Model Transformations System Design Model Design rules Design rules Refine Architecture Design Model Design rules Refine Component Design Model Code Generation Related projects CESAR, SAVI, HIDE, DECOS, DIANA, MOGENTES, CERTIMOT, GENESYS, SENSORIA Horizontal Model Transformations Model generation Back-Annotation Model generation Back-Annotation Model generation Back-Annotation Test Generation Design + V&V Artifacts (Source code, Glue code, Config. Tables, Test Cases, Monitors, Fault Trees, etc.) Use Use Component V&V Model Architecture V&V Model System V&V Model Formal methods Formal methods Model Transformations systematic foundation of knowledge transfer: theoretical results tools bridge / integrate existing languages&tools

MDSD principles Languages and Models

Models What is a model? System represents Model Mapping Feature Reduction Feature Pragmatic Feature A model is based on an original (=system) A model only reflects a (relevant) selection of the original s properties A model needs to be usable in place of an original with respect to some purpose Purposes: descriptive purposes prescriptive purposes

Concepts Model Engineering basic architecture Application Application domain Meta-Level Model Reuse Transformation / Code generation Modeling language Abstraction (bottom-up) Transformation definition Metamodeling language Transformation language Construction (top-down) Artifacts (e.g. code) Platform defined using defined by uses

Modeling Languages Domain-Specific Languages (DSLs): languages that are designed specifically for a certain domain or context DSLs have been largely used in computer science. Examples: HTML, Logo, VHDL, Mathematica, SQL General Purpose Modeling Languages (GPMLs, GMLs, or GPLs): languages that can be applied to any sector or domain for (software) modeling purposes The typical examples are: UML, Petri-nets, or state machines

Domain Specific Modeling Languages Concrete syntax (Graphical/Textual) Abstract syntax (Metamodel) Well-formedness constraints Behavioural semantics, Simulation Mapping Code generation Foundations Viewof many modern tool (design, analysis, V&V) Domains: avionics, automotive, business modeling Source Code (Documentation, Configuration file)

Types of models Static models: Focus on the static aspects of the system in terms of managed data and of structural shape and architecture of the system. Dynamic models: Emphasize the dynamic behavior of the system by showing the execution Just think about UML! Usage / Purpose: Traceability Models: Execution Trace Models Analysis Models Simulation Models

Metamodeling To represent the models themselves as instances of some more abstract models. Metamodel = yet another abstraction, highlighting properties of the model itself Metamodels can be used for: defining new languages defining new properties or features of existing information (metadata)

Tool support Drawing vs. modeling

MDSD principles Model Transformations

Some Well-known MDSE Concepts Code generation Generative programming Model Code Model Query Model Refactoring Re-engineering Program comprehension Query Refactoring

A Classification of Transformations Model M2T: Model-to-Text Code T2M: Text-to- Model M2M: Model-to-Model T2T: Text-to-Text

Model Transformation Overview: Metamodels Metamodel: Precise spec of a modeling language Source metamodel Modeling tool MT rule Target metamodel Source model Target model

Model Transformation Overview: Models Eclipse Modeling Framework (EMF): De facto modeling standard for Eclipse based modeling tools Design metamodel auto-generate Modeling tool interface, implementation, tree editor Examples: Source MT rule UML, AADL, metamodel SysML, BPMN, AUTOSAR >30 in a single IBM tool Target metamodel Source model Model: Description of a concrete system Target model a1:ptarc t1:transition a2:tparc p1:place tk:token p2:place a4:tparc t2:transition a3:ptarc

Model Transformation Overview: Rules Source metamodel Modeling tool MT rule Model Transformation: How to generate a target equivalent of an arbitrary source model Target metamodel Source model Target model LHS a1:inarc Place Tran. Token ttn1:tokens a2:outarc Place Place RHS a1:inarc a2:outarc Tran. Plan tkn2:tokens Token

Model Transformation Overview: Rule Execution Eclipse Framework Model Transformation Tool Source metamodel Modeling tool MT rule Target metamodel Source model MT engine Target model EMF-IncQuery: http://www.eclipse.org/incquery/ VIATRA2: http://www.eclipse.org/gmt/viatra2/ Transformation engine: Support for querying and manipulating large models QVT ATL

Rule Based Model Transformations Eclipse Framework Model Transformation Tool Source metamodel Modeling tool MT rule Target metamodel Source model MT engine Target model query/match update LHS a1:inarc Place Tran. Token ttn1:tokens a2:outarc Place Place RHS a1:inarc a2:outarc Tran. Plan tkn2:tokens Token

Concepts Consequences or Preconditions Modified development process Two levels of development application and infrastructure Infrastructure development involves modeling language, platform (e.g. framework) and transformation definition Application development only involves modeling efficient reuse of the infrastructure(s) Strongly simplified application development Automatic code generation replaces programmer Working on the code level (implementation, testing, maintenance) becomes unnecessary Under which conditions is this realistic or just futuristic? New development tools Tools for language definition, in particular meta modeling Editor and engine for model transformations Customizable tools like model editors, repositories, simulation, verification, and testing tools

The MD* Jungle of Acronyms Model-Driven Development (MDD) is a development paradigm that uses models as the primary artifact of the development process. Model-Driven Architecture (MDA) is the particular vision of MDD proposed by the Object Management Group (OMG) Model-Driven Engineering (MDE) is a superset of MDD because it goes beyond of the pure development Model-Based Engineering (or model-based development ) (MBE) is a softer version of ME, where models do not drive the process.

MDA = Model-Driven Architecture

The MDA Approach Goals Interoperability through Platform Independent Models Standardization initiative of the Object Management Group (OMG), based on OMG Standards, particularly UML Counterpart to CORBA on the modeling level: interoperability between different platforms Applications which can be installed on different platforms portability, no problems with changing technologies, integration of different platforms, etc. Modifications to the basic architecture Segmentation of the model level Platform Independent Models (PIM): valid for a set of (similar) platforms Platform Specific Models (PSM): special adjustments for one specific platform Requires model-to-model transformation (PIM-PSM; compare QVT) and model-to-code transformation (PSM-Code) Platform development is not taken into consideration in general industry standards like J2EE,.NET, CORBA are considered as platforms [www.omg.org/mda/]

Modeling Levels CIM, PIM, PSM Computation independent (CIM): describe requirements and needs at a very abstract level, without any reference to implementation aspects (e.g., description of user requirements or business objectives); Platform independent (PIM): define the behavior of the systems in terms of stored data and performed algorithms, without any technical or technological details; Platform-specific (PSM): define all the technological aspects in detail.

Modeling levels MDA Computation Independent Model (CIM) E.g., business process

Modeling levels MDA Platform Independent Model (PIM) specification of structure and behaviour of a system, abstracted from technologicical details Using the UML(optional) Abstraction of structure and behaviour of a system with the PIM simplifies the following: Validation for correctness of the model Create implementations on different platforms Tool support during implementation

Modeling levels MDA Platform Specific Model (PSM) Specifies how the functionality described in the PIM is realized on a certain platform Using a UML-Profile for the selected platform, e.g., EJB

The MDA Approach MDA development cycle Base Level: UML Platform-Independent Model of Business Functionality & Behavior Modeling in a technologyindependent UML profile allows a precise representation of business process/rules Automated Transformation? Executed by MDA tool which follows OMG standard mappings. Resulting PSM may need some hand adjustments based on infrastructure decisions Intermediate Level UML Platform-Specific Model s on selected platforms generated from PIM Modeled in a technologyspecific UML profile. Represents every aspect of a coded application, but still as a model Automated Transformation? Executed by MDA tool. Many tools on the market execute this step very well today Implementation generated from PSMs Generated code and auxiliary files ready for compilation, linking with legacy or other code, and deployment

Approaches MDA Reverse Engineering / Roundtrip Engineering Re-integration onto new platforms via Reverse Engineering of an existing application into a PIM und subsequent code generation MDA tools for Reverse Engineering automate the model construction from existing code PIM (UML) Legacy App COTS App Reverse-engineer existing application into a model and redeploy Other Model Other

Approaches Excursus: OMG Standards CORBA - Common Object Request Broker Architecture Language- and platform-neutral interoperability standard (similar to WSDL, SOAP and UDDI) UML - Unified Modeling Language Standardized modeling language, industry standard CWM - Common Warehouse Metamodel Integrated modeling language for Data Warehouses MOF Meta Object Facility A standard for metamodels and model repositories XMI - XML Metadata Interchange XML-based exchange of models QVT Queries/Views/Transformations Standard language for Model-to-Model transformations

Summary MDSE = Models + Languages + Transformations Motivation o Early validation of design o Automated generation of design artifacts o + Interoperability, Productivity, Abstraction, Reuse MDA = Model Driven Architecture o 3 modeling levels: CIM + PlM + PSM o Automated transformations: PIM PSM Code (?)

History of MD*

Approaches Executable UML CASE with UML UML-Subset: Class Diagram, State Machine, Package/Component Diagram, as well as UML Action Semantic Language (ASL) as programming language Niche product Several specialized vendors like Kennedy/Carter Mainly used for the development of Embedded Systems One part of the basic architecture implemented Modeling language is predetermined (xuml) Transformation definitions can be adapted or can be established by the user (via ASL) Advantages compared to trad. CASE tools Standardized modeling language based on the UML Disadvantages compared to trad. CASE tools Limited extent of the modeling language [S.J. Mellor, M.J. Balcer: Executable UML: a foundation for model-driven architecture. Addison-Wesley, 2002]

Approaches MDA with UML Problems when using UML as PIM/PSM Method bodies? Incomplete diagrams, e.g. missing attributes Inconsistent diagrams For the usage of the UML in Model Engineering special guidelines have to be defined and adhered to Different requirements to code generation get/set methods Serialization or persistence of an object Security features, e.g. Java Security Policy Using adaptable code generators or PIM-to-PSM transformations Expressiveness of the UML UML is mainly suitable for generic software platforms like Java, EJB,.NET Lack of support for user interfaces, code, etc. MDA tools often use proprietary extensions

Approaches MDA Many UML tools are expanded to MDA tools UML profiles and code generators Stage of development partly still similar to CASE: proprietary UML profiles and transformations, limited adaptability Advantages of MDA Standardization of the Meta-Level Separation of platform independent and platform specific models (reuse) Disadvantages of MDA No special support for the development of the execution platform and the modeling language Modeling language practically limited to UML with profiles Therefore limited code generation (typically no method bodies, user interface)

Approaches AC-MDSD Efficient reuse of architectures Special attention to the efficient reuse of infrastructures/frameworks (= architectures) for a series of applications Specific procedure model Development of a reference application Analysis in individual code, schematically recurring code and generic code (equal for all applications) Extraction of the required modeling concepts and definition of the modeling language, transformations and platform Software support (www.openarchitectureware.org) Basic architecture almost completely covered When using UML profiles there is the problem of the method bodies The recommended procedure is to rework these method bodies not in the model but in the generated code Advantages compared to MDA Support for platform- and modeling language development Disadvantages compared to MDA Platform independence and/or portability not considered

Approaches MetaCASE/MetaEdit+ Free configurable CASE Meta modeling for the development of domain-specific modeling languages (DSLs) The focus is on the ideal support of the application area, e.g. mobilephone application, traffic light pre-emption, digital clock Intentional Programming Procedural method driven by the DSL development Support in particular for the modeling level Strong Support for meta modeling, e.g. graphical editors Platform development not assisted specifically, the usage of components and frameworks is recommended Advantages Domain-specific languages Disadvantages Tool support only focuses on graphical modeling [www.metacase.com]

Approaches Software Factories Series production of software products Combines the ideas of different approaches (MDA, AC-MDSD, MetaCASE/DSLs) as well as popular SWD-technologies (patterns, components, frameworks) Objective is the automatically processed development of software product series, i.e., a series of applications with the same application area and the same infrastructure The SW-Factory as a marketable product Support of the complete basic architecture Refinements in particular on the realization level, e.g. deployment Advantages Comprehensive approach Disadvantages Approach not clearly delimited (similar MDA) Only little tool support [J. Greenfield, K. Short: Software Factories. Wiley, 2004]

Eclipse and EMF Eclipse Modeling Framework Full support for metamodeling and language design Fully MD (vs. programming-based tools) Used in this course!

Conclusion Modeling in the last century Critical Statements of Software Developers»When it comes down to it, the real point of software development is cutting codediagrams are, after all, just pretty picturesno user is going to thank you for pretty pictures; what a user wants is software that executes«m. Fowler, UML Distilled, 1st edition, Addison Wesley, 1997

Conclusion Modeling in the new millennium Much has changed!»when it comes down to it, the real point of software development is cutting code«to model or to program, that is not the question! Instead: Talk about the right abstraction level»diagrams are, after all, just pretty pictures«models are not just notation! Instead: Models have a well-defined syntax in terms of metamodels»no user is going to thank you for pretty pictures; what a user wants is software that executes«models and code are not competitors! Instead: Bridge the gap between design and implementation by model transformations What about the managers? M. Fowler, UML Distilled, 1st edition, Addison Wesley, 1997 (revisited in 2009)

Chapter #2 MDSE PRINCIPLES Teaching material for the book Model-Driven Software Engineering in Practice by Morgan & Claypool, USA, 2012. www.mdse-book.com