Construction of Complex UML Profiles

Similar documents
MDE components specification (Task 4.2)

Transforming models with ATL

Model handling with EMF

Metamodeling with Metamodels. Using. UML/MOF including OCL

An ATL Example. The BibTeXML to DocBook Transformation

Introduction to XML Metadata Interchange (XMI)

Knowledge Discovery: How to Reverse-Engineer Legacy Systems

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

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

Softwaretechnik Model Driven Architecture Meta Modeling

Introduction To Model-to-Model Transformation

Design and Prototypical Implementation of a Pivot Model as Exchange Format for Models and Metamodels in a QVT/OCL Development Environment

Introduction to MDE and Model Transformation

Eclipse Development Tools for Epsilon

Modelling in Enterprise Architecture. MSc Business Information Systems

Semantics-Based Integration of Embedded Systems Models

Metamodeling. Janos Sztipanovits ISIS, Vanderbilt University

Coral: A Metamodel Kernel for Transformation Engines

Softwaretechnik. Lecture 19: Model Driven Engineering. Peter Thiemann. University of Freiburg, Germany

Model Driven Development Unified Modeling Language (UML)

INTRODUCTION. Chapter #1

Towards a Transformation Chain Modeling Language

A UML SIMULATOR BASED ON A GENERIC MODEL EXECUTION ENGINE

UML 2.5: Specification Simplification

The Eclipse Modeling Framework and MDA Status and Opportunities

Model Driven Engineering (MDE)

WP14: DBE Knowledge Base. Deliverable D14.6: Final Release of the Recommender

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

UML Modeling I. Instructor: Yongjie Zheng September 3, CS 490MT/5555 Software Methods and Tools

MOMOCS D2.1 XIRUP S UPPORTING T OOLS R EQUIREMENTS. Model driven Modernisation of Complex Systems. Dissemination Level: Work package:

MDSE PRINCIPLES. Chapter #2

Copying Subgraphs within Model Repositories

Model Querying with Graphical Notation of QVT Relations

UML 2.0 State Machines

It s all Done with Mirrors Patterns and OCL. KMF Kent Modelling Framework D.H.Akehurst and O.Patrascoiu

Unified Modeling Language 2

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

Traceability in Model to Text Transformations

The Model Driven Architecture. Dennis Wagelaar Viviane Jonckers Software Languages Lab

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

Towards a Data Consistency Modeling and Testing Framework for MOF Defined Languages

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

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

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

Grammars. Prof. Andreas Prinz. Introduction, Compilers. Examples Meta-models vs. Grammars Summary

Transformational Design with

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

Software Architecture

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

CWM: Model Driven Architecture

SUMMARY: MODEL DRIVEN SECURITY

Kermeta tutorial. How to create a metamodel. François Tanguy, Didier Vojtisek. Abstract

A Standard for Representing Multidimensional Properties: The Common Warehouse Metamodel (CWM)

A Practical Approach to Bridging Domain Specific Languages with UML profiles

Analysis of the combined use of SCADE and UML 2.x models. Project description. Ramin Hedayati. Member of GRADUIERTENKOLLEG EINGEBETTETE SYSTEME

A Methodological Proposal and Tool Support for the HL7 Standards Compliance in the Development of Health Information Systems

UML PROFILING AND DSL

Model Driven Engineering

Orthographic Software Modeling A Practical Approach to View Based Development

A UML 2 Profile for Variability Models and their Dependency to Business Processes

From U2TP Models to Executable Tests with TTCN-3 - An Approach to Model Driven Testing -

Enabling Component-Based Model Transformations with QVT. Li Dan

UNIT II. Syllabus. a. An Overview of the UML: Visualizing, Specifying, Constructing, Documenting

OCL for the Specification of Model Transformation Contracts

INF5120 Model-Based System Development

Methods for the Development

Chapter 8: Enhanced ER Model

OMG Modeling Glossary B

ISO/IEC CD :200x(E) Title: Information technology - Framework for Metamodel interoperability Part 2: Reference model Project:

Outline. A little history. Outline. The Unified Modeling Language Opportunities and Challenges for Formal Methods

IDERA ER/Studio Software Architect Evaluation Guide. Version 16.5/2016+ Published February 2017

ISO INTERNATIONAL STANDARD. Financial services Universal financial industry message scheme Part 3: Modelling

An Introduction to MDE

Model Driven Development with xtuml and BridgePoint

UML Proposal to the Object Management Group

Modelling QoS: Towards a UML Profile *

Model Driven Architecture - The Vision

UML Semantics 2. Contents. Section Title. This chapter contains the following sections.

CHAPTER 1. Topic: UML Overview. CHAPTER 1: Topic 1. Topic: UML Overview

Reverse Engineering Process for Extracting Views from Domain Ontology

Software Industrialization

Pervasive and Mobile Computing. Context modelling and a context-aware framework for pervasive service creation: A model-driven approach

Event Metamodel and Profile (EMP) Proposed RFP Updated Sept, 2007

16 Evaluation Framework for Model-Driven Product Line Engineering Tools

Introduction to Dependable Systems: Meta-modeling and modeldriven

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

Tree Based Domain-Specific Mapping Languages

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

Supporting and Applying the UML Conceptual Framework

MODEL DRIVEN ARCHITECTURE (MDA)

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

On the link between Architectural Description Models and Modelica Analyses Models

Multidimensional Modeling using UML and XML

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

Ontology-based Model Transformation

Better Metadata Management through Better Metamodels

Automatic Generation of Security-Aware GUI Models

Sequence Diagram Generation with Model Transformation Technology

BLU AGE 2009 Edition Agile Model Transformation

UML Profiles Radovan Cervenka

Transcription:

Construction of Complex UML Profiles UPM ETSI Telecomunicación Ciudad Universitaria s/n Madrid 28040, Spain mmiguel@dit.upm.es!1

Context of this work Profiles Construction The present courseware has been elaborated in the context of the MODELWARE European IST FP6 project (http://www.modelwareist.org/). 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.!2

UML Profiles : Table of content Profiles Construction UML Extension of Complex Concepts Conceptual Models Metamodels Construction Profile Construction Mappings of Profiles and Metamodels!3

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!4

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.!5

Environments to put in practice MDA Profiles Construction 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!6

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 MetaModel Standard UML Semantics Profile!7

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.!8

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!9

Conceptual Models Examples Profiles Construction 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!10

MetaModels Profiles Construction The Metamodel defines the modeling elements that represent the concepts that include the conceptual model It represents the abstract syntax of a modeling language <<metaclass>> QoSValue The metamodel includes the OCL well-formed rules The new modeling elements can make reference to other metamodels MOF models specify the metamodels * ValidValues Evaluates IncludedIn * * 0..1 <<metaclass>> QoSContext Context 1..* Supports * Includes <<metaclass>> QoSConstraint * Context * BasedOn <<metaclass>> QoSCharacteristic!11

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!12

MetaModels Profiles Construction 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!13

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 <<metaclass>> ::UML::Classes::Kernel::Package <<metaclass>> ::UML::Classes::Kernel::Feature <<metaclass>> ::UML::Classes::Kernel::Class <<metaclass>> ::UML::AuxiliaryConstructs::Templates::Classifier <<stereotype>> QoSCategory <<stereotype>> QoSDimension statisticalqualifier : QoSStatisticalAttribute direction : DirectionKind unit : string <<stereotype>> QoSCharacteristic isinvariant : boolean 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!14

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!15

Constraints 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!16

Model Libraries Profiles Construction 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!17

Combination of Extension Approaches Profiles Construction Stereotyped Constraints: Specific types of constraints CCGFacade +addinitialflightplan() +assume() 1 <<cyclicrt>> PTGFacade <<concurrentrt>> +addfpldata() +operationperiodic() <<concurrentrt>> +getfpldata() 1 1 <<cyclicrt>> ScenarioManager +operationperiodic() 1 localincludeplan <<periodictimingconstraintrt>> {(Every 1000000 with 0) and (wcrt <= 1000000)} Stereotyped Model libraries: Semantic of model libraries are improved with the stereotypes!18

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 UML Profile: Modeling Language UML + Extensions QoSCharacteristicStp/QoSCharacteristic:Stereotype OneCharacteristic/:Classifier specification CharacteristicAsso/:AssociationEnd extendedelement stereotype CharacteristicDefinitions/:Attribute QoSDefinitionValueStp/QoSDefinitionValue:Stereotype Values/:QoSValue Links Linker extendedelement specifiedend stereotype instance owner associationend feature ValuesDefinitionLinks/:QoSValueDefinitionLink classifier extendedelement stereotype attribute Meta-Model: Significant Concepts of Domain Problem Values/:Instance instance linkend ValueLinks/:LinkEnd slot DefinitionLinks/:AttributeLink OneCharacteristic/:QoScharacteristic CharacteristicsDefinitions/:QoSValueDefinition evaluate value type value Describes DescribedBy evaluate Describes DescribedBy CharacteristicDefLinks/:QoSValueDefinition!19

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!20

Specification of Mapping Profile to Metamodel (2) Profiles Construction <<BusinessEntity>> Account What is the Expression to represent? <<UniqueId>> number : integer balance : real BusinessEntityStp/BusinessEntity:Stereotype Name=BusinessEntity stereotype extendedeelement UniqueIdStp/UniqueId:Stereotype BusinessClass/:Class Name="UniqueId" owner stereotype owner feature extendedeelement feature Id/:Attribute Others/:Attribute type IdType/:Primitive 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!21