PisaTel Meeting Roma, 29 novembre 2007

Similar documents
Introduction to MDE and Model Transformation

An Introduction to MDE

SCOS-2000 Technical Note

UML 2.5: Specification Simplification

Model Transformations for Embedded System Design and Virtual Platforms

MDA and Integration of Legacy Systems: An Industrial Case Study

A UML SIMULATOR BASED ON A GENERIC MODEL EXECUTION ENGINE

MDA Driven xuml Plug-in for JAVA

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

Industrial Strength Test Case

Role of Executable UML in MDA. Presented by Shahid Alam

ModelicaML: Getting Started Issue April 2012

INF5120 and INF9120 Modelbased System development

OMG SPECIFICATION DEVELOPMENT USING PAPYRUS (AND OTHER ECLIPSE TOOLING)

3rd Lecture Languages for information modeling

UML, SysML and MARTE in Use, a High Level Methodology for Real-time and Embedded Systems

Capella to SysML Bridge: A Tooled-up Methodology for MBSE Interoperability

Improving the Definition of UML

USING PAPYRUS IN A DESIGN SPACE EXPLORATION TOOLCHAIN CURRENT DEVELOPMENTS AT FLANDERS MAKE

MDA, META-MODELLING and MODEL TRANSFORMATION. Introducing new Technology into the Defence Industry

Modelling in Enterprise Architecture. MSc Business Information Systems

Model driven Engineering & Model driven Architecture

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

A Model-based, Single-Source approach to Design-Space Exploration and Synthesis of Mixed-Criticality Systems

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

ASSURING DATA INTEROPERABILITY THROUGH THE USE OF FORMAL MODELS OF VISA PAYMENT MESSAGES (Category: Practice-Oriented Paper)

An Infrastructure for MultiMedia Metadata Management

INTEGRATIONS. version user guide. with Eclipse, NetBeans, IntelliJ IDEA, CaliberRM, ProActivity, CVS, AndroMDA, and oaw

Towards a Model-Driven IEC Based Development Process in Industrial Automation*

Sequence Diagram Generation with Model Transformation Technology

Executive Summary. Round Trip Engineering of Space Systems. Change Log. Executive Summary. Visas

... SysML version SNAPSHOT User Guide.... Eclipse

F-16 Modular Mission Computer Application Software

NoMagic Product Comparison Brief

Semantics-Based Integration of Embedded Systems Models

UML PROFILING AND DSL

Spemmet - A Tool for Modeling Software Processes with SPEM

Model Driven Engineering (MDE)

MDSE USE CASES. Chapter #3

Applying Model Driven Technologies in the Creation. of Domain Specific Modeling Languages

Rich Hilliard 20 February 2011

* Corresponding Author

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

CIM-Compliant Model-to-Model Transformation

Introduction to Dependable Systems: Meta-modeling and modeldriven

Software Architecture

The rcos Modeler. ICTAC Summer School 2013 ECNU, Shanghai, China. Volker Stolz, Zhiming Liu. Friday, August 30, 13

Using AADL in Model Driven Development. Katholieke Universiteit Leuven Belgium

UMLEmb: UML for Embedded Systems. I. Introduction. Ludovic Apvrille Eurecom, office 470

Papyrus: Advent of an Open Source IME at Eclipse (Redux)

Introduction to Model-Driven System Development

Information Modeling Service-Oriented Architecture. Galen Mulrooney (contractor to VHA) June 3, 2009 V 1.1

Whole Platform Foundation. The Long Way Toward Language Oriented Programming

StP Administration Guide

First Steps Towards Conceptual Schema Testing

An integrated framework for automated simulation of SysML models using DEVS

BLU AGE 2009 Edition Agile Model Transformation

Transformation of the system sequence diagram to an interface navigation diagram

!MDA$based*Teaching*and* Research*in*Software*Engineering*!

All you need are models Anneke Kleppe, Klasse Objecten

OCL Support in MOF Repositories

SOFTWARE LIFE-CYCLE PROCESSES From Waterfall to Extreme Programming

MAENAD Modeling Workbench

What Is UML? The Goals and Features of UML. Overview. The goals of UML

Christian Doppler Laboratory

DKMS Brief No. Five: Is Data Staging Relational? A Comment

Introduction to Model Driven Engineering using Eclipse. Frameworks

Model Driven Architecture and Rhapsody

MAEANAD Modeling Workbench

Software Engineering with Objects and Components Open Issues and Course Summary

A Model-driven approach to NLP programming with UIMA

UMLexe UML virtual machine

developer.* The Independent Magazine for Software Professionals

UNIT V *********************************************************************************************

A Model Driven Approach based on Interaction Flow Modeling Language to Generate Rich Internet Applications

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

MDSE PRINCIPLES. Chapter #2

Tooling with EAST-ADL : Overview Q3 Tooling with EAST-ADL

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

Beginning To Define ebxml Initial Draft

MDA & Semantic Web Services Integrating SWSF & OWL with ODM

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

ATESST2 D4.2.1 Grant Agreement

MARTE Based Modeling Tools Usage Scenarios in Avionics Software Development Workflows

Towards flexible and efficient model-based testing, utilizing domain-specific modelling

Future Directions for SysML v2 INCOSE IW MBSE Workshop January 28, 2017

UNIT I. 3. Write a short notes on process view of 4+1 architecture. 4. Why is object-oriented approach superior to procedural approach?

Enabling Multi-View Modeling With SysML Profiles and Model Transformations. Aditya A. Shah, Dirk Schaefer and Christiaan J.J.

SUMMARY: MODEL DRIVEN SECURITY

Experiences in the Use of MDA and UML in Developing NATO Standards

GMF Tooling 3.0 Vision, Architecture, Roadmap

Model Driven Architecture

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

Model-based System Engineering for Fault Tree Generation and Analysis

Toolchain for Network Synthesis. Alex Malfatti, Davide Quaglia

Trace-Directed Modelling Mid-Project Meeting Report

Automation of Semantic Web based Digital Library using Unified Modeling Language Minal Bhise 1 1

Domain Engineering And Variability In The Reuse-Driven Software Engineering Business.

Index. business modeling syntax 181 business process modeling 57 business rule 40

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

Transcription:

Istituto di Scienza e Tecnologie dell'informazione A. Faedo Software Engineering Laboratory Tool support for model driven development in practice Antonino Sabetta ISTI-CNR, Pisa PisaTel Meeting Roma, 29 novembre 2007

MDD: what's it all about? Making software is a matter of: art and inspiration? craftsmanship? engineering best practices? industrial production (i.e. automated, repeatable)? Model Driven (MD) approaches advocate expressing design artifacts in a machine readable format automatically obtain new artifacts from existing ones model transformation code generation reverse engineering

What can I do with models that I can't do without Modeling as a means for... Better/easier/higher quality design Raising the level of abstraction Gain better understanding of design choices and their implications (Early) analysis functional verification extra functional verification (performance, schedulability) Automated implementation (i.e. code generation) you want code eventually, don't you?

Different tools for different purposes Metamodeling Model to model transformation UML modeling Code generation Model driven analysis

Different tools for different purposes Metamodeling Model to model transformation UML modeling methodology neutral methodology specific Code generation Model driven analysis

Papyrus UML feature highlights Eclipse based, free, open source, actively developed OMG standards compliant (v.2.0) open development process developed by knowledgeable people, directly involved in OMG standardization process (MARTE OMG profile for Modeling and Analysis of Real Time Embedded Systems) Both SysML and MARTE are already implemented in Papyrus (Papyrus's MARTE is the official reference implementation) Supports all the UML standard diagrams Extremely easy to extend with custom profiles (see next slides) Code generation (based on Acceleo); C++ and Java supported out of the box, other languages can be added with new templates

Why do I need extensions/annotations? The UML metamodel: is generic has several semantic variation points (bug or feature?) BUT it can be customized, specialized, constrained: UML profiles What can you do with UML profiles: tailor the language to your domain and to your development process and practices attach a semantics that suits your need (i.e. generate special code based on the information included in the stereotypes) augment the model with extra information that is necessary for performance predictions

Defining a custom profile with Papyrus

Defining a custom profile with Papyrus

Using a custom profile with Papyrus

Under the hood: XMI

Magicdraw (NoMagic Inc.) Pros: Compliant with v.2.0 family of OMG standards; interoperable Full support for Profiles and consistency checks with constraint language Actively developed and maintained Commercial support Cons: Proprietary tool, expensive Note: It's a general purpose UML modeling tool (does not attach a specific semantics to models, thus it is not capable e.g. to execute statecharts)

MagicDraw

MagicDraw

MagicDraw

UniMod Pros Development methodology based on statecharts and events Statecharts can be directly mapped to C++/Java code Note: UniMod assumes a particular semantics for UML statecharts and imposes a predefined design work flow. (All of this could be implemented under the hood via the UML profiling mechanism with a neutral modeling tool)

UniMod Cons UniMod 1.3 is based on obsolete UML 1.5 std. No support for custom annotations, no Profiles (neither custom nor standard profiles) No support for interchange, no interoperability UniMod 2 (was due for April 2007) seems to be dead

UniMod: structural modeling

UniMod: behavioral modeling

UniMod: behavioral modeling

UniMod code generation capabilities

iuml (Kennedy Carter) Distinguishing features (iumlite 2.2, free, March 2005) Executable models (simulates statecharts) Body of actions is specified with an action language (ASL), imperative with some declarative shortcuts for operation on sets Latest non free version claims to be capable of generating code from statemachines Shortcomings Based on obsolete UML standard (1.5) No profiles, no extensions (neither std nor custom) No import export in free edition

iuml (Kennedy Carter)

iuml (Kennedy Carter)

Modeling to automate implementation Code generation Acceleo Eclipse based incremental code generation produce code by populating templates the meaning of the model (how modeling elements map to actual code) is expressed in the code generation process Alternatives: AndroMDA, StringTemplate, JET

Conclusion Models are used for a number of purposes Tools cover different areas high level design, architectural modeling predictive analysis, early verification code generation, reverse engineering Different approaches some tools offer fuller use of the standard but require that the language and the design process be tailored for your purposes (very flexible, but exploit this flexibility implies making customizations) others come packaged with predefined design workflow and specialized features (quicker adoption, but less flexible)

Discussion Open vs closed vs proprietary interoperability is an issue support for std interchange formats Built in support for executable models Interfacing with 3rd party code generation engines Support for profiling/annotations Support for latest OMG standard specifications Active development; frequent updates and fixes Community support and good documentation