Presentation is loading. Please wait.

Presentation is loading. Please wait.

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.

Similar presentations


Presentation on theme: "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."— Presentation transcript:

1 UML Profile BY RAEF MOUSHEIMISH

2 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.

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

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

5 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

6 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

7 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

8 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

9 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

10 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

11 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.

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

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

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

15 Profile Meta-Model

16 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

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

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

19 Thank You BY RAEF MOUSHEIMISH


Download ppt "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."

Similar presentations


Ads by Google