Profiles Construction Eclipse ECESIS Project - 1 - Construction of Complex UML Profiles UPM ETSI Telecomunicación Ciudad Universitaria s/n Madrid 28040,

Slides:



Advertisements
Similar presentations
Diagram Definition: an Overview Third OMG/Eclipse Symposium 25 March 2012 Maged Elaasar, Senior Software Engineer.
Advertisements

Design Patterns.
Chapter 7 System Models.
OMV Ontology Metadata Vocabulary April 10, 2008 Peter Haase.
Copyright © 2006 Data Access Technologies, Inc. Open Source eGovernment Reference Architecture Approach to Semantic Interoperability Cory Casanave, President.
Page 1 Copyright © 2010 Data Access Technologies, Inc. Model Driven Solutions May 2009 Cory Casanave Architecture of Services SOA for E-Government Conference.
Language Specification using Metamodelling Joachim Fischer Humboldt University Berlin LAB Workshop Geneva
Company LOGO Towards the Validation of Adaptive Educational Hypermedia using CAVIAr Mark Melia & Claus Pahl Dublin City University.
Visual Model-based Software Development EUD-Net Workshop, Pisa, Italy September 23 rd, 2002 University of Paderborn Gregor Engels, Stefan Sauer University.
MDI 2010, Oslo, Norway Behavioural Interoperability to Support Model-Driven Systems Integration Alek Radjenovic, Richard Paige The University of York,
Code Generation in CDE Remi Lequette ILOG.
Aligning Business and IT Models in Service-Oriented Architectures using BPMN and SoaML Brian Elvesæter, Dima Panfilenko, Sven Jacobi & Christian Hahn MDI2010.
1 UML ++ Mohamed T IBRAHIM University of Greenwich -UK.
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.
From Model-based to Model-driven Design of User Interfaces.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 2, Modeling with UML, Part 4 UML 2 Metamodel.
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.
UML CASE Tool. ABSTRACT Domain analysis enables identifying families of applications and capturing their terminology in order to assist and guide system.
Whole Platform Tesi di Dottorato di: RICCARDO SOLMI Università degli Studi di Bologna Facoltà di scienze matematiche, fisiche e naturali Corso di Dottorato.
MDD Tutorial for managers Eclipse ECESIS Project A presentation of MDD basics Model-driven development (MDD) tutorial for managers EUROPEAN SOFTWARE INSTITUTE,
Comparing M2T & M2M Complementary Approaches © 2008 INRIA, University of York & SINTEF Comparing M2T & M2M Complementary Approaches Hugo Bruneliere,
NIEM-UML Profile Justin Stekervetz, NIEM PMO
10 December, 2013 Katrin Heinze, Bundesbank CEN/WS XBRL CWA1: DPM Meta model CWA1Page 1.
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.
MDA Guide Version CYT. 2 Outline OMG Vision and Process Introduction to MDA How is MDA Used? MDA Transformations Other MDA Capabilities Using the.
OOPSLA 2003 DSM Workshop Diagram Definition Facilities Based on Metamodel Mappings Edgars Celms, Audris Kalnins, Lelde Lace University of Latvia, IMCS,
SEG4110 – Advanced Software Design and Reengineering
Faculty of Informatics and Information Technologies Slovak University of Technology Peter Kajsa and Ľubomír Majtás Design.
Ontology Development Kenneth Baclawski Northeastern University Harvard Medical School.
Workshop on Integrated Application of Formal Languages, Geneva J.Fischer Mappings, Use of MOF for Language Families Joachim Fischer Workshop on.
MDA and QVT  Tom Gullion, Director of Product Management, Together Products.
MDE Model Driven Engineering Xavier Blanc Université Pierre et Marie Curie
Introduction to MDA (Model Driven Architecture) CYT.
Model Handling with EMF Eclipse ECESIS Project Model handling with EMF An introduction to the Eclipse Modeling Framework ATLAS group (INRIA & LINA),
Agenda 1. Introduction 2. Overview of SU-MoVal 3. OCL-based Model Validation 4. QVT-based Transformations 5. Demo of SU-MoVal 6. Conclusion and Future.
Alignment of ATL and QVT © 2006 ATLAS Nantes Alignment of ATL and QVT Ivan Kurtev ATLAS group, INRIA & University of Nantes, France
Building Tools by Model Transformations in Eclipse Oskars Vilitis, Audris Kalnins, Edgars Celms, Elina Kalnina, Agris Sostaks, Janis Barzdins Institute.
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
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.
SaveUML System design. System overview Possible...
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.
Modeling Component-based Software Systems with UML 2.0 George T. Edwards Jaiganesh Balasubramanian Arvind S. Krishna Vanderbilt University Nashville, TN.
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.
Copyright © IBM Corp., | March | Creating Robust Scalable DSLs with UML Tutorial (172) James Bruck, Christian Damus IBM Rational Software.
Toolbased Language Development J. Fischer, E. Holz, A. Prinz, M. Scheidgen.
1 Technical & Business Writing (ENG-715) Muhammad Bilal Bashir UIIT, Rawalpindi.
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.
® IBM Software Group A Metamodeling Approach to Pattern Specification Maged Elaasar 1,2, Dr. Lionel Briand 1, Dr. Yvan Labiche 1 1 Carleton University,
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.
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.
© 2010 IBM Corporation RESTFul Service Modelling in Rational Software Architect April, 2011.
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.
SysML v2 Formalism: Requirements & Benefits
Model-Driven Ontology Engineering
Chapter 2, Modeling with UML, Part 4 UML 2 Metamodel
UML profiles.
Metadata Framework as the basis for Metadata-driven Architecture
Software Architecture & Design
Presentation transcript:

Profiles Construction Eclipse ECESIS Project Construction of Complex UML Profiles UPM ETSI Telecomunicación Ciudad Universitaria s/n Madrid 28040, Spain

Profiles Construction 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.

Profiles Construction Eclipse ECESIS Project UML Profiles : Table of content UML Extension of Complex Concepts Conceptual Models Metamodels Construction Profile Construction Mappings of Profiles and Metamodels

Profiles Construction Eclipse ECESIS Project UML: a Language with Semantic Non-Strict (1) UML is a general modeling language that can be applied in very different domains, development phases, or technologies Domain extensions (e.g. UML for the description of Avionic software architectures) Methodological adaptations (e.g. integration of incremental life cycles in modeling driven development) Technical extensions (e.g. modeling real-time applications) Technological extensions (e.g. web server applications construction) UML Family of Languages Each adaptation requires extend and restrict the UML semantic to the specific domain Most of them are complex concepts that require complex notations for their description

Profiles Construction Eclipse ECESIS Project UML: a Language with Semantic Non-Strict (2) The integration of new concepts in UML requires: Design new notations for the description of new concepts Integrate the new concepts with UML modeling notation Reuse UML modeling elements for the description of new concepts In the construction of extension we must: Identify the new concepts to be modeled Design new notations for the description of new concepts UML Extension is a solution for the support of MDA in specific platforms, domains and techniques.

Profiles Construction Eclipse ECESIS Project Environments to put in practice MDA Modeling languages is the central topic of MDA. Two approaches to support modeling languages: Languages for Modeling: Meta-Modeling Frameworks for the description of modeling notations Support of repositories, models interchange and management Profiling: Profile Builders for the construction of Profiles models Description of Stereotypes and attributes Relations of stereotypes: extension of metaclasses, stereotype inheritances, associations to metaclasses and stereotypes

Profiles Construction Eclipse ECESIS Project UML Profile vs. UML Meta Models: Two Different Approaches to Extend UML Profile: package that contains model elements that have been customized for a specific domain using stereotypes definition of attributes of stereotypes constraints model libraries metamodel subset that it extends MetaModel: A metamodel that extends other metamodel with new modeling elements Standard UML Semantics Profile MetaModel

Profiles Construction Eclipse ECESIS Project Phases for Modeling Extensions Construction Conceptual Models: A conceptual model is a simplified representation of new concepts that the models can include Metamodels: Abstract Syntax and Semantic. The metamodel defines a new modeling language that, often, is integrated with other metamodels Profiles: Concrete Syntax. Approach for the description of modeling notations based on UML model elements Mapping From UML+Profile to Metamodel: Integration of semantics, combination of two extensions methods Transformations: the automatic transformation reuses the software development knowledge.

Profiles Construction Eclipse ECESIS Project Conceptual Models A conceptual model is an analysis model to identify the concepts to be included in the new language It includes concepts extracted on the basis of an analysis of the domain, technique or technology to be supported Often, technological extensions (e.g. middleware interface description languages) are well specified and do not requires this model We need a conceptual model, when the concepts of the extension are imprecise

Profiles Construction Eclipse ECESIS Project Conceptual Models Examples UML Profile for Scheduling Performance and Time is an example of standard that includes conceptual models for the description of extensions There are many approaches to consider timing concepts. This profile represent aspects of time based on: TimeInterval Clock and ClockInterrupt Timer and Timeout TimeValue and TimeEvent

Profiles Construction Eclipse ECESIS Project MetaModels The Metamodel defines the modeling elements that represent the concepts that include the conceptual model It represents the abstract syntax of a modeling language The metamodel includes the OCL well-formed rules The new modeling elements can make reference to other metamodels MOF models specify the metamodels

Profiles Construction Eclipse ECESIS Project MetaModels Metamodels are the inputs for the construction of repositories in MetaModeling Frameworks (e.g. EMF) They provides the automatic generation of repositories of new abstract syntax We have a repository, but we haven t yet support for the concrete syntax of our new modeling language (e.g. graphical notations) We can follow two approaches in the construction of concrete syntax: Profiles: we reuse UML modeling elements for the concrete representation Graphic Editor Framework for the construction and representation of concrete syntax, editors, and representations

Profiles Construction Eclipse ECESIS Project MetaModels Metamodels are the inputs for the construction of repositories in MetaModeling Frameworks (e.g. EMF) They provides the automatic generation of repositories of new abstract syntax We have a repository, but we haven t yet support for the concrete syntax of our new modeling language (e.g. graphical notations) We can follow two approaches in the construction of concrete syntax: Profiles: we reuse UML modeling elements for the concrete representation Graphic Editor Framework for the construction and representation of concrete syntax, editors, and representations We are going to use this approach

Profiles Construction Eclipse ECESIS Project UML Profile UML profiles represent the modeling elements included in metamodels based on extended UML modeling elements It represents a concrete syntax of modeling language based on UML The profile includes the OCL well-formed rules. This depends on metamodel well-formed rules and UML modeling extension We reuse well-formed rules defined in metamodel, but the profile must take into account semantic of UML elements > QoSCharacteristic > QoSCategory > QoSDimension > ::UML::Classes::Kernel::Package > ::UML::Classes::Kernel::Feature > ::UML::Classes::Kernel::Class > ::UML::AuxiliaryConstructs::Templates::Classifier isInvariant : boolean statisticalQualifier : QoSStatisticalAttribute direction : DirectionKind unit : string

Profiles Construction Eclipse ECESIS Project Stereotypes A stereotype is a model element that defines additional values, additional constraints, and optionally a new graphical representation. Stereotypes augment the classification mechanism based on the built in UML metamodel class hierarchy Stereotype attributes specify new kinds of properties that may be attached to model elements. Slots represent the actual stereotypes properties of individual model elements simple datatype values or references to other model elements

Profiles Construction Eclipse ECESIS Project Application constraints provide additional information of modeling concepts They improve the semantic in structural models They restrict allowed objects at MOF level M0 They improve semantic of some modeling elements such as provided/required interfaces They define initial values of attributes and returned values in operations Constraints

Profiles Construction Eclipse ECESIS Project Model Libraries Model library is a package that contains model elements that are intended to be reused by other packages A Model library does not extend the metamodel using stereotypes and attributes definitions A Model library is analogous to a class library in some programming languages Example: Java, C++,... Profiles (or model configurations) of some UML tools include in the model standard interfaces and classes of these languages to be used in the model Libraries of reusable patterns Some UML extensions combine stereotypes extension and model libraries

Profiles Construction Eclipse ECESIS Project Stereotyped Constraints: Specific types of constraints Stereotyped Model libraries: Semantic of model libraries are improved with the stereotypes Combination of Extension Approaches

Profiles Construction Eclipse ECESIS Project Meta-Model: Significant Concepts of Domain Problem UML Profile: Modeling Language UML + Extensions Mapping From UML+Profile to Metamodel UML+Profile and Metamodel are two modeling languages that represent the same concept This mapping specifies how to express modeling elements of metamodel based on UML+profile This is mapping between abstract syntax and concrete syntax based on profiles

Profiles Construction Eclipse ECESIS Project Specification of Mapping Profile to Metamodel (1) QVT is the approach for the precise description of this mapping When there is not a direct relation between metamodel and profile high level specific can provide a high level description of mapping A high level specification defines the equivalence between modeling concepts represented in UML+Profile and the metamodel language Set of rules define the equivalence of same concept in two modeling languages UML+Profile models include instances of UML metamodel and profile slots

Profiles Construction Eclipse ECESIS Project > Account > number : integer balance : real Specification of Mapping Profile to Metamodel (2) What is the Expression to represent ? A collaboration of UML metamodel roles and OCL constraints describe the construction of a concept in UML A collaboration of metamodel roles and OCL constraints describe the same concept in the new language Both collaborations are the description of same concept in two languages