UML Profiles Eclipse ECESIS Project - 1 - The UML Profile technology SOFTEAM 144 Ave des Champs Elysées 75008 Paris, France

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

The role of OCL in the Model Driven Architecture Jos Warmer Klasse Objecten
UML an overview.
1 CIS224 Software Projects: Software Engineering and Research Methods Lecture 11 Brief introduction to the UML Specification (Based on UML Superstructure.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 2, Modeling with UML, Part 4 UML 2 Metamodel.
SEG4110 – Advanced Software Design and Reengineering TOPIC D Metamodelling.
June 9, 2006 Transforming models with ATL © 2006 ATLAS Nantes Transforming models with ATL The A TLAS Transformation Language Frédéric Jouault ATLAS.
OCL2 April A presentation of OCL 2 Object Constraint Language Christian Hein, Fraunhofer FOKUS April 2006.
Automated Test Design ™ © 2011 Conformiq, Inc. CONFORMIQ DESIGNER On ES v1.2.1 Stephan Schulz MBT Working Meeting/MTS#56, Göttingen.
1 © Wolfgang Pelz UML3 UML 3 Notations describe how to use reusable software. Package Component Deployment Node.
UML CASE Tool. ABSTRACT Domain analysis enables identifying families of applications and capturing their terminology in order to assist and guide system.
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.
Whole Platform Tesi di Dottorato di: RICCARDO SOLMI Università degli Studi di Bologna Facoltà di scienze matematiche, fisiche e naturali Corso di Dottorato.
Common Mechanisms in UML
MDE In A Sales Management System: A Case Study © 2008 INRIA, TUD & SAP MDE In A Sales Management System: A Case Study Mathias Fritzsche, Hugo Bruneliere,
MDD Tutorial for managers Eclipse ECESIS Project A presentation of MDD basics Model-driven development (MDD) tutorial for managers EUROPEAN SOFTWARE INSTITUTE,
XML Metadata Interchange (XMI)
Comparing M2T & M2M Complementary Approaches © 2008 INRIA, University of York & SINTEF Comparing M2T & M2M Complementary Approaches Hugo Bruneliere,
1 Ivano Malavolta, University of L’aquila, Computer Science Department Ivano Malavolta DUALLy: an Eclipse platform for architectural languages interoperability.
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
Advanced Applications Of Model-to-Model Transformation © 2008 INRIA Advanced Applications Of Model-to-Model Transformation Hugo Bruneliere & Frédéric.
Composing Models: Principles & Techniques © Copyright TUBS & TUD Composing Models: Principles & Techniques Steven Völkel & Jendrik Johannes.
SEG4110 – Advanced Software Design and Reengineering
Faculty of Informatics and Information Technologies Slovak University of Technology Peter Kajsa and Ľubomír Majtás Design.
MDA and QVT  Tom Gullion, Director of Product Management, Together Products.
MDE Model Driven Engineering Xavier Blanc Université Pierre et Marie Curie
1 Modeling Server-side Components with UML Junichi Suzuki, Ph.D. School of Information and Computer Science University.
Introduction to MDA (Model Driven Architecture) CYT.
Assessing the Suitability of UML for Modeling Software Architectures Nenad Medvidovic Computer Science Department University of Southern California Los.
Model Handling with EMF Eclipse ECESIS Project Model handling with EMF An introduction to the Eclipse Modeling Framework ATLAS group (INRIA & LINA),
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,
What is MOF? The Meta Object Facility (MOF) specification provides a set of CORBA interfaces that can be used to define and manipulate a set of interoperable.
Specializing and extending the UML
ISO/IEC CD and WD : Core Model and Model Mapping ISO/IEC JTC1/SC32/WG September 2005, Toronto SC32/WG2 Japan (Kanrikogaku Ltd) Masaharu.
Usage of OCL April Usage of OCL for design guidelines of models Christian Hein, Fraunhofer FOKUS April 2006.
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)
Model Driven Development An introduction. Overview Using Models Using Models in Software Feasibility of MDA MDA Technologies The Unified Modeling Language.
A language to describe software texture in abstract design models and implementation.
XASTRO-2 Overview Presentation CCSDS SAWG Athens Meeting 12 th April 2005.
Introduction to Model-Driven Simulation © 2008 SAP, TU Dresden, XJ Technologies Introduction to Model-Driven Simulation Mathias Fritzsche 1, Jendrik.
An ATL Example © 2005 ATLAS Nantes An ATL Example The BibTeXML to DocBook Transformation ATLAS group (INRIA & LINA), University of Nantes, France.
Dr. Darius Silingas | No Magic, Inc. Domain-Specific Profiles for Your UML Tool Building DSL Environments with MagicDraw UML.
Modelling Support for Quality of Service Eclipse ECESIS Project Modelling Support for Quality of Service Department for Cooperative and Trusted Systems.
Unified Modeling Language. Object Oriented Methods ► What are object-oriented (OO) methods?  OO methods provide a set of techniques for analyzing, decomposing,
Copyright © IBM Corp., | March | Creating Robust Scalable DSLs with UML Tutorial (172) James Bruck, Christian Damus IBM Rational Software.
® A Proposed UML Profile For EXPRESS David Price Seattle ISO STEP Meeting October 2004.
1 Technical & Business Writing (ENG-715) Muhammad Bilal Bashir UIIT, Rawalpindi.
XASTRO-2 Presentation CCSDS SAWG th November 2004.
CSCI 3428: Software Engineering Tami Meredith UML Unified Modeling Language.
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.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 2, Modeling with UML: UML 2 Metamodel Note to Instructor: The material in this.
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
© 2010 IBM Corporation RESTFul Service Modelling in Rational Software Architect April, 2011.
UML (Unified Modeling Language)
UML AN OVERVIEW. Topics covered in this Session 1. Introducing UML. 2. What constitutes the UML. 3. Concepts of UML.
Modeling with UML – Class Diagrams
IBM Rational Rhapsody Advanced Systems Training v7.5
SysML v2 Formalism: Requirements & Benefits
Systems Analysis and Design With UML 2
Chapter 2, Modeling with UML, Part 4 UML 2 Metamodel
Evaluating Compuware OptimalJ as an MDA tool
Constructing MDA-based Application Using Rational XDE for .NET
An Introduction to Software Architecture
Software Architecture & Design
Presentation transcript:

UML Profiles Eclipse ECESIS Project The UML Profile technology SOFTEAM 144 Ave des Champs Elysées Paris, France

UML Profiles Eclipse ECESIS Project Context of this work The present courseware has been elaborated in the context of the MODELWARE European IST FP6 project ( Co-funded by the European Commission, the MODELWARE project involves 19 partners from 8 European countries. MODELWARE aims to improve software productivity by capitalizing on techniques known as Model-Driven Development (MDD). To achieve the goal of large-scale adoption of these MDD techniques, MODELWARE promotes the idea of a collaborative development of courseware dedicated to this domain. The MDD courseware provided here with the status of open source software is produced under the EPL 1.0 license.

UML Profiles Eclipse ECESIS Project UML Profiles : Table of content Definition Benefits & positioning VS MOF History Notation Semantic & Mechanisms

UML Profiles Eclipse ECESIS Project Profiles (Definition) A profile is used to tailor a metamodel (like UML) to a specific platform or domain used to tag a design with information that is not captured in UML «profile» EJB «import» «profile» CORBA «profile» EAI «profile» SPEM «profile» Telecom «profile» Java «profile» Real-Time

UML Profiles Eclipse ECESIS Project Profiles (Definition) A profile defines a coherent extension to UML in order to adapt it to a specific target or domain. Stereotypes allow to define extensions : Kind of metaclasses that extend UML metaclasses. Extension is expressed by a new specific notation Tagged-values are defined as specific attributes of stereotypes.

UML Profiles Eclipse ECESIS Project Profiles extension feature (benefits) UML Profile is a restricted extension mechanism which : 1. Defines extensions that can be dynamically added to or retracted from an existing model (extension flexibility) 2. Guarantees that the model will remain consistent with the UML standard, even when extended by one or several profiles. (Standard UML conformance) Preserves UML semantics for the extended models Extended models can be exchanged with or without their extensions

UML Profiles Eclipse ECESIS Project Extending UML : Standard conformance guarantee (benefits) MDA requires a high degree of formalization of the different models, architectures, and methodologies In addition, mappings have to be specified in detail This involves highly skilled people, and implies a great risk to development. It necessitates investments in time and money before starting development, and getting ROI  Using UML profiles guarantees that the adapted models will still be legal UML models Many Standard Profile solutions exist for some PSM’s or PIMS (examples : CORBA, EJB, Test, SysML, Qos, CCM) Some very important targets have not yet standard profiles, but on the shelf solutions (RDB, C++, etc.) Build on a common basis: low learning curve, existing tools, interoperability, etc.

UML Profiles Eclipse ECESIS Project Example of a profile based (benefits) MDA configuration

UML Profiles Eclipse ECESIS Project UML for a specific purpose (benefits) = a specific profile Profiles exist for : technical targets (C++, RDB, Java, CORBA, XML, Real Time, etc.) specific disciplines (Analysis, Design, etc.) requirement analysis tests (test for Java, test for EJB, test for C++, etc.) metrics, quality checking, and profiles for managing configuration management rules. From early requirement down to final tests, UML profiles can drive each specific discipline involved.

UML Profiles Eclipse ECESIS Project MOF/Profile alignment (benefits) Core/MOF Package  Profile Core/MOF Class  Stereotype (restricted usage) Core/MOF Property  Property (was tagged definition) Core/MOF Operation  Operation Core/MOF Constraint  Constraint Core/MOF association  Association (restricted usage) Core/MOF association  Extension (specific "pattern")

UML Profiles Eclipse ECESIS Project Rationale for Using Profiles Vs MOF (benefits) Profiles Are used for extending the UML language (the « reference metamodel ») Are supported by UML Case tools Guarantee the UML conformance of the extensions Provide a dynamic extension capacity (i.e. extending an existing model) Typical example: UML for a certain purpose MOF extensions Are used to create new metamodels Apply to any metamodel New models are created from MOF extensions (no existing model updates) Are supported by MetaCase tools or infrastructure. Typical example: New metamodel (e.g. DSL, workflow, UML, etc.)

UML Profiles Eclipse ECESIS Project Profile: History UML 1.0: (1999) Stereotypes and tagged values were defined as specific strings attached to ModelElements. Stereotypes were defined at the level of the model itself. UML1.4: (2002) The notion of UML profile was more formally defined. Profiles organize Stereotypes, which may contain tagged values. Tagged values can be directly extend model elements, without stereotypes UML 2.0: (2005) Stereotypes are now defined at M2 (metaclass level). The Profile notion is completely formalized, in correspondence and conjunction with the metamodel (MOF). A notation is defined, and the “extension” capacity is formalized.

UML Profiles Eclipse ECESIS Project Profile’s position within the UML2/MOF2 architecture Superstructure Infrastructure

UML Profiles Eclipse ECESIS Project Profile : Notations 1 profile Extension link stereotypeAbstract stereotype Metaclass reference Attribute = Tagged valueconstraint

UML Profiles Eclipse ECESIS Project Profile : Notations 2 Defining the « Clock » stereotype Applying the Clock stereotype on the StopWatch class

UML Profiles Eclipse ECESIS Project Profile : Example (Usage of UML extensions) > Customer {storageMode = hash} > number : int Stereotype Tagged Value Class Attribute PROFILE UML Edit Check Generate SQL … Operation Below is a user model example, with extensions. That example supports extensions. We will see how they are defined at the profile definition level.

UML Profiles Eclipse ECESIS Project Profile : Example (Definition of the UML extension) Class Property > persistent storageMode : KindOfStorage > identifier Constraint {A persistent class, or one of its parent classes must have at least one > attribute} generateSQL () Attribute (== tagged value) Operation Stereotype The icon « » is a property of the stereotype

UML Profiles Eclipse ECESIS Project «profile» EJB Extending Metaclasses A profile consists primarily of stereotypes restricted metaclasses that can only be used to extend existing metaclasses «metaclass» Component «stereotype» Bean {required} «stereotype» Session «stereotype» Entity state: StateKind «enumeration» StateKind stateless stateful

UML Profiles Eclipse ECESIS Project Applying a Profile «profile» EJB «metaclass» Component «stereotype» Bean {required} «stereotype» Session «stereotype» Entity state: StateKind «enumeration» StateKind stateless stateful UserModel «apply» «session» Customer name: String state=stateless Applying a profile makes the profile extension available to the model packages to which it is applied.

UML Profiles Eclipse ECESIS Project Metamodel Excerpt Package Profile Class Stereotype Association Extension PackageImport ProfileApplication

UML Profiles Eclipse ECESIS Project Multiple Stereotypes «profile» EJB «metaclass» Interface «stereotype» Home «stereotype» Remote «profile» VM «metaclass» Component «metaclass» Interface «stereotype» Creator date: String UserModel «remote, creator» Customer Order order * «apply» Several stereotypes can be applied to a model element. A specific notation supports this feature

UML Profiles Eclipse ECESIS Project Stereotype extension semantics Extension is not to be confused with Generalization. It is indeed a delegation pattern. Below, a MOF equivalent construct is shown. The dynamic extensibility features of profiles are due to the capacity to add links to stereotype instances on existing model elements

UML Profiles Eclipse ECESIS Project ExtendedClass > Extension ExtendedClass Extension Semantics : Extension can extend existing « ExtendedClass » or subclass instances. Class2 instances can for example also be extended by « Extension » Class2 « Usual » Semantics : There will exist once for all separated « Extension » instances, « Class2 » instances and also « ExtendedClass only» instances Extension semantics (VS Generalization)

UML Profiles Eclipse ECESIS Project ExtendedClass1 > Extension Semantics : Extension can extend either (exclusively) ExtendedClass1 or ExtendedClass2. Extension does not define a « merge instance » of ExtendedClass1 and ExtendedClass2 « Usual » Semantics : « Extension » instance will always be also instances of ExtendedClass1 and ExtendedClass2 ExtendedClass2 ExtendedClass1 > Extension ExtendedClass2 Extension semantics (1)

UML Profiles Eclipse ECESIS Project ExtendedClass > Extension1 Semantics : An instance of « ExtendedClass » will be able to be simultaneously extended by « Extension1 » and « Extension2 » « Usual » Semantics : There may exist separate instance of « Extension1 » extending « ExtendedClass » and « Extension2 » extending « ExtendedClass » > Extension2 ExtendedClass Extension1 Extension2 Extension semantics (2)

UML Profiles Eclipse ECESIS Project Miscellaneous An extension can be “required”. In this case, when a profile is applied to a model, each element which metaclass is extended by a required stereotype will be extended by this stereotype. A stereotype cannot inherit a metaclass, nor the opposite The extended metamodel is called the reference metamodel. It is a “read only” metamodel. Stereotype properties can have complex types (such as classes/metaclasses) Associations can exist, navigable from a stereotype to a metaclass or stereotype.