An Introduction to MDE

Similar documents
Introduction to MDE and Model Transformation

Computation Independent Model (CIM): Platform Independent Model (PIM): Platform Specific Model (PSM): Implementation Specific Model (ISM):

Introduction to Dependable Systems: Meta-modeling and modeldriven

Sequence Diagram Generation with Model Transformation Technology

INTRODUCTION. Chapter #1

INF5120 Model-Based System Development

MDD with OMG Standards MOF, OCL, QVT & Graph Transformations

Horizontal transformations for models reuse and tool chaining

Overview of lectures today and Wednesday

MDSE PRINCIPLES. Chapter #2

innoq Deutschland GmbH innoq Schweiz GmbH D Ratingen CH-6330 Cham Tel Tel

PisaTel Meeting Roma, 29 novembre 2007

The Eclipse Modeling Framework and MDA Status and Opportunities

A UML SIMULATOR BASED ON A GENERIC MODEL EXECUTION ENGINE

Christian Doppler Laboratory

SPECIFICATION OF MODEL TRANSFORMATION AND WEAVING IN MODEL DRIVEN ENGINEERING

A Model-driven approach to NLP programming with UIMA

Model Abstraction versus Model to Text Transformation

developer.* The Independent Magazine for Software Professionals

ADT: Eclipse development tools for ATL

Model Driven Engineering (MDE)

Model driven Engineering & Model driven Architecture

The Unified Modelling Language. Example Diagrams. Notation vs. Methodology. UML and Meta Modelling

challenges in domain-specific modeling raphaël mannadiar august 27, 2009

Model Driven Engineering

Metamodeling. Janos Sztipanovits ISIS, Vanderbilt University

Ingegneria del Software Corso di Laurea in Informatica per il Management. Introduction to UML

Plan. Language engineering and Domain Specific Languages. Language designer defines syntax. How to define language

Small is Beautiful Building a flexible software factory using small DSLs and Small Models

Modellierung operationaler Aspekte von Systemarchitekturen. Master Thesis presentation. October 2005 March Mirko Bleyh - Medieninformatik

Language engineering and Domain Specific Languages

Object Management Group Model Driven Architecture (MDA) MDA Guide rev. 2.0 OMG Document ormsc/

Model-Based Social Networking Over Femtocell Environments

An Introduction to Model Driven Engineering (MDE) Bahman Zamani, Ph.D. bahmanzamani.com

BLU AGE 2009 Edition Agile Model Transformation

A Metamodel independent approach for Conflict Detection to support distributed development in MDE. Mostafa Pordel A THESIS

Second OMG Workshop on Web Services Modeling. Easy Development of Scalable Web Services Based on Model-Driven Process Management

MDA Driven xuml Plug-in for JAVA

Designing a System Engineering Environment in a structured way

Developing Web-Based Applications Using Model Driven Architecture and Domain Specific Languages

Model Driven Engineering (MDE) and Diagrammatic Predicate Logic (DPL)

Software Engineering from a

Model-Driven Systems Engineering for Netcentric System of Systems With DEVS Unified Process

The Model Driven (R)evolution. Richard Mark Soley, Ph.D. Chairman and CEO Object Management Group, Inc.

Bachelor of Engineering, IT Thesis

Ontology-based Model Transformation

Software Architecture

SCOS-2000 Technical Note

Model-Driven QoS Provisioning Techniques for CCM DRE Systems

A Formal Approach to Modeling and Model Transformations in Software Engineering

Current trends and frameworks for modeldriven approaches to software development

Collaborative Repositories in Model Driven Engineering

Model-Based Techniques in the Development of Net-Centric Applications. Timothy A. Anderson Basil C. Krikeles. June 20, 2007

On the link between Architectural Description Models and Modelica Analyses Models

An Open Source Domain-Specific Tools Framework to Support Model Driven Development of OSS

Semantics-Based Integration of Embedded Systems Models

Whole Platform Foundation. The Long Way Toward Language Oriented Programming

(Meta)Models between MetaEdit+

Modelling in Enterprise Architecture. MSc Business Information Systems

bahmanzamani.com Computer Engineering i Dept. University of Isfahan

Measuring Incrementally Developed Model Transformations Using Change Metrics

A universal PNML Tool. Lukasz Zoglowek

Model-Driven Architecture

Metamodeling and Metaprogramming Seminar

UML 2.5: Specification Simplification

CSSE 490 Model-Based Software Engineering: Introduction to Domain Engineering

Spemmet - A Tool for Modeling Software Processes with SPEM

Algebraic Semantics of EMOF/OCL Metamodels

Model-based Feedback for Software Performance Improvement

UNIVERSITY OF OSLO Department of Informatics. Metamodel-based Editor for Service Oriented Architecture (MED4SOA) Master thesis.

ATHABASCA UNIVERSITY RULE ENHANCED BUSINESS PROCESS MODELING OF SERVICE ORIENTED ARCHITECTURES LUIS ROCHA. A project submitted in partial fulfillment

Open Source egovernment Reference Architecture. Cory Casanave, President. Data Access Technologies, Inc.

UML big picture. Perdita Stevens. School of Informatics University of Edinburgh

Navigating the MetaMuddle

Requirements Modelling and Software Systems Implementation Using Formal Languages

Role of Executable UML in MDA. Presented by Shahid Alam

MDSE USE CASES. Chapter #3

Model Driven Development. Building Automated Code Generation Methods with Eclipse and DSL Tools. Vicente Pelechano

Practical Model-Driven Development with the IBM Software Development Platform

SysML Past, Present, and Future. J.D. Baker Sparx Systems Ambassador Sparx Systems Pty Ltd

Open-Source Development Tools for Domain-Specific Modeling: Results from a Systematic Literature Review

Kermeta. in compiled mode

Comparative analysis of MDA tools

This paper is more intended to set up a basis for a constructive discussion than to offer definitive answers and closed solutions.

ATL: Atlas Transformation Language. ATL User Manual

Improving Military Information Technology Through Common Conceptual Models

Dottorato di Ricerca in Informatica. Università di Bologna e Padova. Whole Platform. Riccardo Solmi. March 2005


Model Driven Architecture Targets Middleware Interoperability Challenges

Extending the Knowledge Discovery Metamodel to Support Aspect-Oriented Programming

QoS-aware model-driven SOA using SoaML

BIG MODELS AN ALTERNATIVE APPROACH

Automatically bridging UML profiles to MOF metamodels

From MDD back to basic: Building DRE systems

CISC836: Models in Software Development: Methods, Techniques and Tools

Coral: A Metamodel Kernel for Transformation Engines

Raising the Level of Development: Models, Architectures, Programs

Defining Domain-Specific Modeling Languages

Traceability in Model to Text Transformations

GMF Tooling 3.0 Vision, Architecture, Roadmap

Transcription:

An Introduction to MDE Alfonso Pierantonio Dipartimento di Informatica Università degli Studi dell Aquila alfonso@di.univaq.it.

Outline 2 2» Introduction» What is a Model?» Model Driven Engineering Metamodeling Model Transformation MDE Deployments» Domain Specific Languages» DSLs vs UML» MDD and Embedded Systems» Conclusions

What is a Model?» A simplification of a system built with an intended goal in mind. The model should be able to answer questions in place of the actual system [Bézivin et al 2001]» A set of a statements about a system under study [Seidewitz 2003] 3 3

What is a Model?» A coherent set of formal elements describing something built for some purpose that is amenable to a particular form of analysis [Mellor et al 2003] 4 4

What is a Model?» A description or specification of that system and its environment for some certain purpose. A model is often presented as a combination of drawings and text. [MDA Guide 2003] 5 5

What is a Model?» In our opinion these formulations do not conflict but rather complement one another. A model has a purpose A model is an abstraction, it does not describe details of the entity that are not of interest to the audience of the model 6 6

What is a Model?» In our opinion these formulations do not conflict but rather complement one another. A model has a purpose A model is an abstraction, it does not describe details of the entity that are not of interest to the audience of the model A model describes some entity that exists or is intended to exist in the future 7 7

What is a Model?» In our opinion these formulations do not conflict but rather complement one another. A model has a purpose A model is an abstraction, it does not describe details of the entity that are not of interest to the audience of the model A model describes some entity that exists or is intended to exist in the future 8 8

What is a Model?» In our opinion these formulations do not conflict but rather complement one another. A model has a purpose A model is an abstraction, it does not describe details of the entity that are not of interest to the audience of the model A model describes some entity that exists or is intended to exist in the future 9 9

What is a Model?» In our opinion these formulations do not conflict but rather complement one another. A model has a purpose A model is an abstraction, it does not describe details of the entity that are not of interest to the audience of the model A model describes some entity that exists or is intended to exist in the future 10 1 0

What is a Model?» In our opinion these formulations do not conflict but rather complement one another. A model has a purpose A model is an abstraction, it does not describe details of the entity that are not of interest to the audience of the model A model describes some entity that exists or is intended to exist in the future 11 1 1

12 1 2

13 1 3

Model Driven Engineering (MDE)» Designers can greatly benefit from leveraging the abstraction level by means of models in order to understand complex problems and their potential solutions» Models are artifacts that are understood by computers and manipulated through some form of automation to bridge different abstraction layers» Development by means of models defined with concepts that are much closer to the problem domain rather than to the underlying technologies 14 1 4

Model Driven Engineering (MDE)» The focus is shifted from coding to modeling: everything is a model paradigm [Bézivin 2005]» MDE is based on a conceptual infrastructure which consists at least of models, a metamodeling architecture, and model transformations.» Model algebras: operations, weaving, compare, differencing, evolution, conflicts, etc. 15 1 5

Metamodeling» It is a technique for defining the abstract syntax of models and the interrelationships between concepts within a domain 16 1 6 Meta Level MOF terms Examples M3 Metametamodel MOF models M2 M1 Metametadata, metamodel Metadata, model UML Metamodel, UML profiles UML Models (eg. Class diagrams) M0 Data Modeled systems

Metamodeling» It is a technique for defining the abstract syntax of models and the interrelationships between concepts within a domain 17 1 7 Meta Level MOF terms Examples M3 Metametamodel MOF models M2 M1 Metametadata, metamodel Metadata, model UML Metamodel, UML profiles UML Models (eg. Class diagrams) M0 Data Modeled systems

Metamodeling 18 1 8

Model Transformation» A model transformation is the automatic generation of a target model from a source model. 19 1 9» Different approaches Model to model, a model is derived from another model > Transformation languages: QVT, ATL, VIATRA, etc. Model to text, a textual artifact is derived from a model using templating techniques > Transformation approaches: Acceleo, JET, AndroMDA, etc Other approaches may include executable models > Action Semantics, Kennedy&Carter iuml, Xactium XMF

M2M Transformation 20 2 0 Meta Metamodel conformsto conformsto conformsto Transformation Laguage conformsto Source Metamodel from Transformation Rules to Target Metamodel conformsto exec conformsto Source Model source Transformation Engine target Target Model

MDE deployments» Model Driven Architecture (MDA) MDA is an effort defined by OMG around industrial standards, such as MOF, UML, QVT, etc.» Eclipse Modeling Framework (EMF) EMF project is a modeling framework and code generation facility for building tools and other applications based on a structured data model.» Software Factories Initiative (SFI) A Software Factory is a software product line that configures extensible development tools DSLs for building specific kinds of applications. 21 2 1

MDE deployments 22 2 2 Metamodeling M2M M2C MDA MOF/UML QVT Model to text RFP EMF Ecore ATL, VIATRA2 JET, Acceleo, etc. SFI DSL Tools X Text Templates

Domain Specific Languages (DSLs)» Small, highly focused languages for solving clearly identifiable problems within crispy boundaries» The development of DSLs is an intensive activity which requires skills and expertise which are beyond tools being used In fact, a prerequisite is the deep knowledge of the application domain which requires to be analyzed and engineered The domain engineering leads to an encapsulation accomplished by means of metamodels» Plenty of DSL are available since ever 23 2 3

UML vs DSLs» Depending on the framework, modeling is done by using UML/profiles or by defining metamodels/dsls.» These are two paradigmatic approaches which may have a very different impact on software development UML may be chosen also for historical reasons, eg. because of the existence of tools devoted to analyses Interoperability between UML and DSLs is sometimes necessary, eg. to perform at an early stage of development analysis which may lead to better software 24 2 4

UML vs DSLs 25 2 5 small artifacts, individual skills complex artifacts, more formal processes, established domains costs MDA UML Modeling Introducing UML at this level is too expensive and model-to-text the return is often unsatisfactory Granularity is too fine grained, ie. at the same level of programming Behavioral description are part of the model Designers are required to gain almost complete knowledge of UML model-to-model complexity

UML vs DSLs 26 2 6 small artifacts, individual skills complex artifacts, more formal processes, established domains costs Introducing a domain-specific formalism (ie. model-to-text a metamodel) has a convenient cognitive impedance MDA Designers already know the semantics of the domain, thus also the semantics of the Meta Model UML Modeling model-to-model complexity

UML vs DSLs 27 2 7 small artifacts, individual skills complex artifacts, more formal processes, established domains costs MDA UML Modeling model-to-text model-to-model Too Source big abstraction and target metamodels difference have between to be decided the PIM in and advance, code more Transformations formality are very complex and difficult Easier code to maintain generation due by to chaining the abstraction model-to-model jump and model-to-code ad-hoc transformations transformation design Metamodels are consequently difficult to maintain, because transformations are tailored on them model-to-text model-to-model complexity

A few considerations» Most of UML approaches does not generate business rules, but just code schemata, up to 70 90% of code lines (but less value)» How to improve it? By controlling the whole language process Designing a specific metamodel which has to be tailored over the application domain is crucial Adopting a model to model transformation language which offers usability and enough pragmatic qualities but also rigor Composition mechanisms, it should be possible to adapt, extend, modify and combine source metamodels and consequently the transformation programs 28 2 8

A few considerations» Most of UML approaches does not generate business rules, but just code schemata, up to 70 90% of code lines (but less value)» How to improve it? By controlling the whole language process Designing a specific metamodel which has to be tailored over the application domain is crucial Adopting a model to model transformation language which offers usability and enough pragmatic qualities but also rigor Composition mechanisms, it should be possible to adapt, extend, modify and combine source metamodels and consequently the transformation programs 29 2 9

MDD and Embedded System» Product Line Architectures (PLA) have been already adopted in the area of embedded systems they permit conditional code generation by means of feature diagrams 30 3 0

MDD and Embedded System» DSLs can be viewed as PLA where the features are described by means of an abstract syntax and not only by simple feature diagrams» DSLs can deploy the same application on several hardware platforms» iuml showed a certain effectiveness in this respect, ie. multi hardware code generation Multiplatform digital radio software F17 cockpit software» Interpretation of models can be also an option in case awareness and system reconfiguration are required 31 3 1

MDD and Embedded Systems» University of Berkeley Giotto, HyTech, Mocha, POLIS, etc.» University of Vanderbilt Generic Modeling Environment (GME)» IBM Corporation / Rational Software» Telelogic Rational Rose Developer (Formerly known as Rational Rose Real Time) Rhapsody: UML Model Driven Development» Kennedy Carter Ltd. Target Architecture 5 Code Generator 32 3 2

Conclusions» The principle everything is a model allows to deal with any kind of entity at any level of abstraction using standard tools» Model are not semantics, but are more than just syntax, eg. lessical vs design based conflicts» Embedded systems usually are defined over a welldefined domain which let appear the DSLs as very appealing 33 3 3

MDD at University of L Aquila» The work which has been done refers to the following research directions > Model Transformation and Weaving > Model Difference Representation > Change Propagation» Different formalism for the specification and the implementation of model operations, i.e. > Abstract State Machines and > Answer Set Programming» A lightweight MDD approach has been defined for data intensive web applications > becontent http://www.becontent.org 34 3 4