MDD Tutorial for managers Eclipse ECESIS Project A presentation of MDD basics Model-driven development (MDD) tutorial for managers EUROPEAN SOFTWARE INSTITUTE,

Slides:



Advertisements
Similar presentations
Copyright © 2006 Data Access Technologies, Inc. Open Source eGovernment Reference Architecture Approach to Semantic Interoperability Cory Casanave, President.
Advertisements

Language Specification using Metamodelling Joachim Fischer Humboldt University Berlin LAB Workshop Geneva
Profiles Construction Eclipse ECESIS Project Construction of Complex UML Profiles UPM ETSI Telecomunicación Ciudad Universitaria s/n Madrid 28040,
1Model Driven Architecture – 3. März 2008 – Siegfried Nolte 1.UML – What is it and what is it good for ? 2.MDA – What is it and what is it good for ? 3.MDA.
Automated Test Design ™ © 2011 Conformiq, Inc. CONFORMIQ DESIGNER On ES v1.2.1 Stephan Schulz MBT Working Meeting/MTS#56, Göttingen.
Production Rule Representation Team Response Presentation to BEIDTF OMG Montreal Aug 2004 Ruleml.org.
Formal Techniques in Software Engineering Universiteit AntwerpenIntroduction 1.1 Formal Techniques in Software Engineering 3de BAC Informatica Chapter.
Amit, Keyur, Sabhay and Saleh Model Driven Architecture in the Enterprise.
Page 1 Model Based Software Development - a pragmatic view Mikkel Lauritsen Intentia R&D A/S
7 July 2003 MDA presentation Dennis Wagelaar 1 Model-Driven Architecture The current state of affairs.
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.
Model Driven Architecture (MDA) Partha Kuchana. Agenda What is MDA Modeling Approaches MDA in a NutShell MDA Models SDLC MDA Models (an Example) MDA -
Creating Architectural Descriptions. Outline Standardizing architectural descriptions: The IEEE has published, “Recommended Practice for Architectural.
CS 290C: Formal Models for Web Software Lecture 6: Model Driven Development for Web Software with WebML Instructor: Tevfik Bultan.
Comparing M2T & M2M Complementary Approaches © 2008 INRIA, University of York & SINTEF Comparing M2T & M2M Complementary Approaches Hugo Bruneliere,
Roles and Responsibilities Jahangheer Shaik. Service Specification Specification requires development of three inter-related documents CIM, PIM and PSM.
1 Ivano Malavolta, University of L’aquila, Computer Science Department Ivano Malavolta DUALLy: an Eclipse platform for architectural languages interoperability.
ARCH-6: UML Modeling with Enterprise Architect Phillip Magnay Technical Architect.
Spectra Software Defined Radio Products Applying Model Driven Design, Generative Programming, and Agile Software Techniques to the SDR Domain OOPSLA '05.
Advanced Applications Of Model-to-Model Transformation © 2008 INRIA Advanced Applications Of Model-to-Model Transformation Hugo Bruneliere & Frédéric.
MDA Guide Version CYT. 2 Outline OMG Vision and Process Introduction to MDA How is MDA Used? MDA Transformations Other MDA Capabilities Using the.
Modeling XML. XML Schema Languages DTD, XML Schema, Relax NG Specification of structure of XML documents What elements and attributes can be used Problems.
Faculty of Informatics and Information Technologies Slovak University of Technology Peter Kajsa and Ľubomír Majtás Design.
Executable UML The Models are the Code - Executable UML CS387 Paul Krause.
Workshop on Integrated Application of Formal Languages, Geneva J.Fischer Mappings, Use of MOF for Language Families Joachim Fischer Workshop on.
Slide 1 Wolfram Höpken RMSIG Reference Model Special Interest Group Second RMSIG Workshop Methodology and Process Wolfram Höpken.
MDA and QVT  Tom Gullion, Director of Product Management, Together Products.
TC Methodology Massimo Cossentino (Italian National Research Council) Radovan Cervenka (Whitestein Technologies)
An Introduction to Software Architecture
Software Models (Cont.) 9/22/2015ICS 413 – Software Engineering1 -Component-based software engineering -Formal Development Model.
MDE Model Driven Engineering Xavier Blanc Université Pierre et Marie Curie
3 April SOA: Services Oriented Architecture MDA: Model Driven Architecture.
Introduction to MDA (Model Driven Architecture) CYT.
Secure Systems Research Group - FAU Securing Service-Oriented Architectures using a Model-driven Approach Nelly A Delessy.
Alignment of ATL and QVT © 2006 ATLAS Nantes Alignment of ATL and QVT Ivan Kurtev ATLAS group, INRIA & University of Nantes, France
I T & S A e r o s p a c eD e f e n c e THALES Research & Technology THALES recommendations for the final OMG standard on Query / Views / Transformations.
2nd TTCN-3 User Conference, June The TTCN-3 Metamodel – A Basis for Tool Integration Ina Schieferdecker TU Berlin/Fraunhofer Fokus Hajo Eichler,
UML Profiles Eclipse ECESIS Project The UML Profile technology SOFTEAM 144 Ave des Champs Elysées Paris, France
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
© DATAMAT S.p.A. – Giuseppe Avellino, Stefano Beco, Barbara Cantalupo, Andrea Cavallini A Semantic Workflow Authoring Tool for Programming Grids.
University of Southern California Center for Systems and Software Engineering Model-Based Software Engineering Supannika Koolmanojwong Spring 2013.
WP 3.3 © Copyright Xactium, TUBS & TUD How to build a set of DSLs: from Theory to Practise Xactium, TUBS, Jendrik Johannes (TUD)
MODA-TEL An IST project on Model Driven Architectures for Telecommunications System Development and Operation.
© 2012 xtUML.org Bill Chown – Mentor Graphics Model Driven Engineering.
Model Driven Development An introduction. Overview Using Models Using Models in Software Feasibility of MDA MDA Technologies The Unified Modeling Language.
MDA – Model Driven Architecture Olivier Riboux. Overview What is MDA? The Challenges MDA addresses Developing in the MDA Benefits / Conclusion Case Study:
FDT Foil no 1 On Methodology from Domain to System Descriptions by Rolv Bræk NTNU Workshop on Philosophy and Applicablitiy of Formal Languages Geneve 15.
1 ECCF Training 2.0 Introduction ECCF Training Working Group January 2011.
SPE-RFI-R : FEB.1999 : NUL-ITD-Iwata 2-01 Needs for Software Development Model Hiromichi Iwata Information Technologies.
MDD approach for the Design of Context-Aware Applications.
UML Profile BY RAEF MOUSHEIMISH. Background Model is a description of system or part of a system using well- defined language. Model is a description.
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.
An Introduction to Metamodelling Eclipse ECESIS Project An Introduction to Metamodelling Principles & Fundamentals Department of Computer Science,
Ontologies Reasoning Components Agents Simulations An Overview of Model-Driven Engineering and Architecture Jacques Robin.
Model Driven Performance Analysis University College London James Skene –
Model Driven Architecture MDA SE-548 Lale Doğan
Informatics for Scientific Data Bio-informatics and Medical Informatics Week 9 Lecture notes INF 380E: Perspectives on Information.
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.
CHESS Methodology and Tool Federico Ciccozzi MBEES Meeting Sälen, January 2011 January 2011.
SysML v2 Formalism: Requirements & Benefits
Web Application Modeling
Model-Driven Analysis Frameworks for Embedded Systems
Evaluating Compuware OptimalJ as an MDA tool
UML profiles.
Constructing MDA-based Application Using Rational XDE for .NET
An Introduction to Software Architecture
Model Driven Software Development
Software Architecture & Design
Presentation transcript:

MDD Tutorial for managers Eclipse ECESIS Project A presentation of MDD basics Model-driven development (MDD) tutorial for managers EUROPEAN SOFTWARE INSTITUTE, Corporación Tecnológica Tecnalia Parque Tecnológico, # 204 E Zamudio Bizkaia (Spain)

MDD Tutorial for managers Eclipse ECESIS Project Context of this work The present courseware has been elaborated in the context of ModelWare European IST FP6 project ( ist.org/) The MODELWARE project (Modelling solution for software systems) brings together 19 partners from Europe and Israel. Its main objectives are to develop a solution to reduce the cost of software systems large-scale deployment by the means of Model Driven Development techniques. To achieve the goals of large-scale dissemination of MDD techniques, ModelWare is also promoting the idea of collaborative development of courseware in this domain. The MDD courseware provided here with the status of open source software is produced under the EPL 1.0 license.

MDD Tutorial for managers Eclipse ECESIS Project Contents Model-Driven Development What is MDA? MDA Basic Elements: Models Metamodels Transformations MDA Technology and Standards MDA Development Process Marketing MDA vs. Real MDA Climbing MDA mountain: Benefits Difficulties MDA in practice

MDD Tutorial for managers Eclipse ECESIS Project Model Driven Development (MDD) Software is getting easier to develop thanks to languages, tools and processes, but getting from the user requirements to the final solution is still difficult. Complexity is an ever-raising property of software systems Abstraction and subjects separation help managing complexity Abstraction allows to concentrate in what’s important Abstraction may remove important implementation details in order to increase the productivity we need Automation Reuse Capitalisation of designs Modelling is a natural way for doing this. A model is an abstract representation or a simplification of something. Focus on business not code !

MDD Tutorial for managers Eclipse ECESIS Project What is MDA? (I) Just like UML, MDA is a standard promoted by the OMG. A set of specifications defined by OMG’s open, worldwide process. Model-Driven Architecture (MDA) is a new way to look at software development, from the point of view of the models. Models are the core; Design is the focus. MDA supports technology-independent design. MDA divides domain knowledge and platform knowledge.

MDD Tutorial for managers Eclipse ECESIS Project What is MDA? (II) Separates the operational specification of a system from the details such as how the system uses the platform on which it is developed. MDA provides the means to: Specify a system independently of its platform Specify platforms Choose a platform for the system Transform the system specifications into a platform dependent system Three fundamental objectives: Portability Interoperability Reuse Productivity (derived objective)

MDD Tutorial for managers Eclipse ECESIS Project MDA Basic Elements: Models (I) Cornerstone of MDA Abstraction of a reality, different from it, and that can be used for (re)producing such reality. Expressed in a well-defined language (syntax and semantics) which is suitable for automated interpretation. In MDA, “everything is a model" One model may describe only part of the complete system. A model helps Focusing on essentials of a problem to better understand it. Moving towards an effective solution.

MDD Tutorial for managers Eclipse ECESIS Project MDA Basic Elements: Models (II) Types of models: Business models or Computation Independent Models (CIM) Defines the domain identifying fundamental business entity types and the relationships between them Say nothing about the software systems used within the company.

MDD Tutorial for managers Eclipse ECESIS Project MDA Basic Elements: Models (III)

MDD Tutorial for managers Eclipse ECESIS Project MDA Basic Elements: Models (IV) Types of models: Business models or Computation Independent Models (CIM) Defines the domain identifying fundamental business entity types and the relationships between them Say nothing about the software systems used within the company. System models These models are a description of the software system. Platform independent models (PIM): Resolves functional requirements through purely problem-space terms. No platform-specific details are necessary.

MDD Tutorial for managers Eclipse ECESIS Project MDA Basic Elements: Models (V)

MDD Tutorial for managers Eclipse ECESIS Project MDA Basic Elements: Models (VI) Types of models: Business models or Computation Independent Models (CIM) Defines the domain identifying fundamental business entity types and the relationships between them Say nothing about the software systems used within the company. System models These models are a description of the software system. Platform independent models (PIM): Resolves functional requirements through purely problem-space terms. No platform-specific details are necessary. Platform specific models (PSM): It is a solution model that resolves both functional and non-functional requirements. Requires information on specific platform related concepts and technologies. Platform independence is a relative term.

MDD Tutorial for managers Eclipse ECESIS Project MDA Basic Elements: Models (VII)

MDD Tutorial for managers Eclipse ECESIS Project MDA Basic Elements: Metamodels (I) Allows the exchange of models among modelling tools. Allows the representation of a specific domain elements Use of a common terminology. Reduce misunderstandings Production of a complete documentation Check of consistent processes Traceability of process artefacts: impact analysis A metamodel: Is also a model and must be written in a well- defined language. Defines structure, semantics and constraints for a family of models.

MDD Tutorial for managers Eclipse ECESIS Project MDA Basic Elements: Metamodels (II) The three-layer architecture: (M3) Metametamodel: One unique meta-meta-model, the Meta- Object Facility (MOF). It is some kind of "top level ontology” (M2) Metamodel: Defines structure, semantics and constraints for a family of models. (M1) Model: Each of the models are defined in the language of its unique metamodel. UML profiles are adapted modelling languages.

MDD Tutorial for managers Eclipse ECESIS Project MDA Basic Elements: Transformations (I) A transformation is the automatic generation of a target model from a source model, according to a transformation definition. A transformation definition is a set of transformation rules that together describe how a model in the source language can be transformed into a model in the target language. A transformation rule is a description of how one or more constructs in the source language can be transformed into one or more constructs in the target language.

MDD Tutorial for managers Eclipse ECESIS Project MDA Basic Elements: Transformations (II)

MDD Tutorial for managers Eclipse ECESIS Project MDA Basic Elements: Transformations (III) Composition: It is a special case of transformation. Allows bringing new details or “aspects” into a model. Allows splitting functionality across several platforms

MDD Tutorial for managers Eclipse ECESIS Project MDA Technologies and Standards MOF: Meta-modelling language, repository interface (JMI), interchange (XMI) UML: Standard modelling language. Instance of the MOF model. For developers and “meta-developers” CWM: Modelling languages for data warehousing applications. (e.g. Relational DBs) OCL: expression language, extends the expressive power of UML and MOF QVT: Transformations definition language. Also for Queries and Views of models. SPEM: metamodel and a UML profile used to describe a concrete software development process.

MDD Tutorial for managers Eclipse ECESIS Project MDA Development Process (I) A change in the approach to development requires a change in the processes and methodologies. New activities and work products will appear. It should not be a complete change to our way of working but an adoption of the technology, adapting our way of working Methodological tools are required for still keeping projects monitored and under control Some steps of the development are no more bureaucratic overhead but “real” development work through MDA

MDD Tutorial for managers Eclipse ECESIS Project CIM PIM PSM Metamodel MMx Conforms Model Mx SLA Combine Trust & Sec Combine Marking Note Model My Metamodel MMy Conforms TRANSFORMS QoSTrust & Sec Help Combine Generates Marking Note New generated information New Modelled Information Model Mz Metamodel MMz Conforms TRANSFORMS New generated information New Modelled information Help Generates Marking Note QoSTrust & Sec Combine -Software -Systems (sizing, HA,…) -Networks MDA Development Process (II)

MDD Tutorial for managers Eclipse ECESIS Project Climbing MDA mountain (I) Benefits of MDD: Flexible implementation: platform changes Simpler and more effective maintenance Effective development: Common language; Requirements traceability; Earlier testing and simulation Increased productivity: Automation; Increases reuse; Reduction of rework Quality improvement. Updated documentation of the system. Ensures customers, designers and architects understanding.

MDD Tutorial for managers Eclipse ECESIS Project Climbing MDA mountain (II) Difficulties of adopting MDD: Shift in development culture. Staff not ready for modelling. New roles are needed. Difficult to distinguish real MDA providers Lack of confidence on MDA promises being real Usually seen as a heavyweight methodology Transformations promises not a reality yet. Incomplete and not interoperable nor integrated Tool chain. Relatively high cost of adoption (training, infrastructure, tools) Definition of an extension mechanism to allow customization and specialization without breaking the code generation

MDD Tutorial for managers Eclipse ECESIS Project Marketing MDA vs. Real MDA (I) “You build a platform-independent model of your application with UML®, and from that model you can automatically generate platform-specific models and code for a variety of target platforms.” Flexible implementation: Platform independence is a relative term. Strong dependence on quality of models and transformations. High importance of maintaining the modelling approach (instead of tweaking the code). Derivation of different PSM is possible. Separation of concerns: allow stakeholders to be focused on a specific domain.

MDD Tutorial for managers Eclipse ECESIS Project Marketing MDA vs. Real MDA (II) Flexible and easier integration: Two different focuses: data integration and functionality integration. Model (conceptual) integration is easier than application integration Increased productivity: Requires people to be trained in modelling -> analysts vs. programmers Requires the development of basic “infrastructure” Automates steps of the development process Reduces the amount of rework due to errors Reduces the loss of information from logical to technical implementation

MDD Tutorial for managers Eclipse ECESIS Project Marketing MDA vs. Real MDA (III) Effective Development: Improves requirements traceability: changes and validation Facilitates early testing and simulation Simpler and more effective maintenance: Documentation exists for developed applications Changes can be done directly to existing designs

MDD Tutorial for managers Eclipse ECESIS Project Parque Tecnológico, # 204 E Zamudio Bizkaia (Spain) Tel.: Fax: Asier Azaceta R&D area Project leader Jason Mansell R&D area Project leader Parque Tecnológico, # 204 E Zamudio Bizkaia (Spain) Tel.: Fax: