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.

Slides:



Advertisements
Similar presentations
Language Specification using Metamodelling Joachim Fischer Humboldt University Berlin LAB Workshop Geneva
Advertisements

An ASN.1 Profile Anders Ek
Profiles Construction Eclipse ECESIS Project Construction of Complex UML Profiles UPM ETSI Telecomunicación Ciudad Universitaria s/n Madrid 28040,
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.
1 Devon M. Simmonds The UML Metamodel SLIDES include some from tvarious sources including: (1)
A Brief Introduction. Acknowledgements  The material in this tutorial is based in part on: Concurrency: State Models & Java Programming, by Jeff Magee.
Metamodel Global view. Some sources Object Modeling with UML: Advanced Modeling, Karin Palmkvist, Bran Selic, and Jos Warmer, March 2000.
Detail Design Extending UML and Object Design. Object Design.
Introduction to UML Visual modeling Models and its importance
UML CASE Tool. ABSTRACT Domain analysis enables identifying families of applications and capturing their terminology in order to assist and guide system.
R R R CSE870: Advanced Software Engineering: Extending and Using UML (Cheng) Supplementary: Using and Extending UML.
Common Mechanisms in UML
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.
UML Packages & Related Diagrams
SEG4110 – Advanced Software Design and Reengineering
Faculty of Informatics and Information Technologies Slovak University of Technology Peter Kajsa and Ľubomír Majtás Design.
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.
Metadata Tools and Methods Chris Nelson Metanet Conference 2 April 2001.
MDE Model Driven Engineering Xavier Blanc Université Pierre et Marie Curie
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.
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.
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.
Object-Oriented Analysis and Design An Introduction.
Specializing and extending the UML
UML Profiles Eclipse ECESIS Project The UML Profile technology SOFTEAM 144 Ave des Champs Elysées Paris, France
1 Devon M. Simmonds Metadata & The UML Metamodel SLIDES include some from tvarious sources including: (1)
SaveUML System design. System overview Possible...
Uml is made similar by the presence of four common mechanisms that apply consistently throughout the language. After constructing or developing the architecture.
RTAS 2003 Workshop on Model-Driven Embedded Systems Washington, D.C., May 27-30, 2003 Juan Pablo Zamora Zapata Francis Bordeleau Defining UML Profiles.
Systems Analysis and Design in a Changing World, 3rd Edition
Modeling Component-based Software Systems with UML 2.0 George T. Edwards Jaiganesh Balasubramanian Arvind S. Krishna Vanderbilt University Nashville, TN.
1 Advanced Software Architecture Muhammad Bilal Bashir PhD Scholar (Computer Science) Mohammad Ali Jinnah University.
Dr. Darius Silingas | No Magic, Inc. Domain-Specific Profiles for Your UML Tool Building DSL Environments with MagicDraw UML.
UML 2 Models for ODP Engineering/Technology Viewpoints – An Experiment - Daisuke Hashimoto Hiroshi.
Week III  Recap from Last Week Review Classes Review Domain Model for EU-Bid & EU-Lease Aggregation Example (Reservation) Attribute Properties.
Copyright © IBM Corp., | March | Creating Robust Scalable DSLs with UML Tutorial (172) James Bruck, Christian Damus IBM Rational Software.
The Unified Modeling Language (UML)
CIM LAB MEETING Presentation on UML Rakesh Mopidevi Kwangyeol Ryu.
1 Technical & Business Writing (ENG-715) Muhammad Bilal Bashir UIIT, Rawalpindi.
Modeling the ODP Computational Viewpoint with UML 2.0: The Templeman Library Example José Raúl Romero, Antonio Vallecillo Universidad de Málaga, Spain.
Chapter 16 UML Class Diagrams 1CS6359 Fall 2012 John Cole.
Chapter 5 System Modeling. What is System modeling? System modeling is the process of developing abstract models of a system, with each model presenting.
CSCI 3428: Software Engineering Tami Meredith UML Unified Modeling Language.
UML Course Instructor: Rizwana Noor. Overview  Modeling  What is UML?  Why UML?  UML Diagrams  Use Case  Components  Relationships  Notations.
21/1/ Analysis - Model of real-world situation - What ? System Design - Overall architecture (sub-systems) Object Design - Refinement of Design.
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.
Session 1 What Is the UML? Written by Thomas A. Pender Published by Wiley Publishing, Inc. October 5, 2011 Presented by Kang-Pyo Lee.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 2, Modeling with UML: UML 2 Metamodel Note to Instructor: The material in this.
Ontologies Reasoning Components Agents Simulations An Overview of Model-Driven Engineering and Architecture Jacques Robin.
A UML-Based Pattern Specification Technique Presented by Chin-Yi Tsai IEEE TRANSACTION ON SOFTWARE ENGINEERING, VOL. 30, NO. 3, MARCH 2004 Robert B. France,
Model Driven Performance Analysis University College London James Skene –
UNIT-IV Designing Classes – Access Layer ‐ Object Storage ‐ Object Interoperability.
SysML 2.0 Formalism Requirements and Potential Language Architectures
SysML 2.0 Formalism: Requirement Benefits, Use Cases, and Potential Language Architectures Formalism WG December 6, 2016.
Object-Oriented Analysis and Design
SysML v2 Formalism: Requirements & Benefits
Introduction to Unified Modeling Language (UML)
Business Process Measures
Seminar 1 Design of Informatics Systems
Chapter 2, Modeling with UML, Part 4 UML 2 Metamodel
Bussines process modeling using BPMN
Introduction to UML.
UML profiles.
Constructing MDA-based Application Using Rational XDE for .NET
Software Architecture & Design
Presentation transcript:

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 of system or part of a system using well- defined language. Software models provide abstraction of systems which help deal with large and complex application. Software models provide abstraction of systems which help deal with large and complex application. UML(Unified Modeling Language) is the most widely used modeling language. UML(Unified Modeling Language) is the most widely used modeling language. UML is a general-purpose language which can be applied in all application domain and implementation platform. UML is a general-purpose language which can be applied in all application domain and implementation platform.

4 layered Conceptual Architecture. Example Scenario M0: M0: M1: M1: M2: M2: M3: M3:

Motivation A general-purpose language(UML) cannot describe applications of specific domain. A general-purpose language(UML) cannot describe applications of specific domain. Two possible solutions: Two possible solutions: Introduction of new language, e.g. CWM Introduction of new language, e.g. CWM Extension of the existing UML syntax and semantics, e.g. UML PROFILE Extension of the existing UML syntax and semantics, e.g. UML PROFILE But.. New modeling language can not be supported by the commercial UML tools. But.. New modeling language can not be supported by the commercial UML tools.

UML Profile UML profile package defines a set of UML artifacts that allow the specifications of an MOF model UML profile package defines a set of UML artifacts that allow the specifications of an MOF model These artifacts deal with the specific concepts and notations for particular application domain and implementation platform. These artifacts deal with the specific concepts and notations for particular application domain and implementation platform. Profiles do not extend the UML meta-model. They are also called the UML light-weight extension mechanism Profiles do not extend the UML meta-model. They are also called the UML light-weight extension mechanism UML profiles have three basic mechanisms: UML profiles have three basic mechanisms: Stereotypes Stereotypes Constraints Constraints Tagged value Tagged value

Stereotypes Stereotypes are one of the extensibility mechanisms in UML. Example > > distinguish dependencies in use case diagrams Stereotypes are one of the extensibility mechanisms in UML. Example > > distinguish dependencies in use case diagrams A stereotype may be associated with a Class or Association (or other model element) in the definition of a profile A stereotype may be associated with a Class or Association (or other model element) in the definition of a profile

Constraints Constraints are a semantic condition or restriction. They are standard UML feature. Constraints are a semantic condition or restriction. They are standard UML feature. They can be expressed in natural language text, mathematically (FOPL + SETS) formal notation, or in a machine-readable language e.g. OCL They can be expressed in natural language text, mathematically (FOPL + SETS) formal notation, or in a machine-readable language e.g. OCL A constraint defines a relationship between model elements that must be true A constraint defines a relationship between model elements that must be true

Tagged Values Many stereotyped model elements have properties that cannot be represented graphically Many stereotyped model elements have properties that cannot be represented graphically These can be defined in the profile as tagged definitions and are shown in the model as tagged values These can be defined in the profile as tagged definitions and are shown in the model as tagged values Tagged values consist of a tag or name and an associated value (e.g. {CoordSystem = LatLong} or Boolean tagged value {abstract} {isPropertyName} ) Tagged values consist of a tag or name and an associated value (e.g. {CoordSystem = LatLong} or Boolean tagged value {abstract} {isPropertyName} ) {author = “ Bob ”, Version = 2.5} Employee name address Two tagged values

So, What is the benefit of using UML Profiles A Profile conforms to the meta-model of the UML A Profile conforms to the meta-model of the UML Because it does not extend UML by adding any new basic concepts Because it does not extend UML by adding any new basic concepts Instead, it provides conventions for applying and specializing standard UML to a particular environment or domain. Instead, it provides conventions for applying and specializing standard UML to a particular environment or domain. UML Profile is highly important in the MDE process, precisely in the transformation from a model to another one. UML Profile is highly important in the MDE process, precisely in the transformation from a model to another one. Standard UML Semantics MetaModel Profile

Why UML Profile? The purpose of a UML profile is to allow the construction and interchange of UML models that require semantic specifications that express semantic detail beyond what can be expressed with standard UML The purpose of a UML profile is to allow the construction and interchange of UML models that require semantic specifications that express semantic detail beyond what can be expressed with standard UML

How to build a UML Profile Profiles available in CASE tools such as Poseidon, ArgoUML, Rational Rose. Profiles available in CASE tools such as Poseidon, ArgoUML, Rational Rose.

Scope of UML Profiles «import» «profile» CORBA «profile» EAI «profile» SPEM «profile» Telecom «profile» Java «profile» Real-Time «profile» EJB

JAVA’s EJB Profile profile Extension link stereotypeAbstract stereotype Metaclass reference Attribute = Tagged valueconstraint

Profile’s position within the UML2/MOF2 architecture Superstructure Infrastructure

Profile Meta-Model

An Example of a Profile We would like to create a UML profile for representing basic GUI components We would like to create a UML profile for representing basic GUI components We suppose that our GUI contains the following components:We suppose that our GUI contains the following components: -Forms (which can also be dialog boxes) -Buttons Constraints:Constraints: A form can invoke a dialog boxA form can invoke a dialog box A form as well as a dialog box can contain buttons A form as well as a dialog box can contain buttons

The GUI Profile Package GUI Profile Class > Form > Button Association > Contains > DialogBox > Invokes Class and Association are part of UML meta-model

Instance Diagram of the GUI Profile > MainView 11 > OkButton > CancelButton > OpenDialogBox 11 11

Thank You BY RAEF MOUSHEIMISH