Title: Juan Pablo Zamora Zapata
1Defining UML Profiles and Model Mappings in the
Context of the MDA
Juan Pablo Zamora Zapata Francis Bordeleau
2Outline
- UML Profiles
- UML Spec Profile
- UML Rational Rose RealTime (RRRT Profile)
- Mappings
- Transformation Maps
- Transformation Map Execution Example
- Conclusion
3UML Profiles
UML provides built-in profile facilities that
allow for the tailoring of UML for different
platforms (such as CORBA, J2EE or .NET) or
domains (such as real-time or business process
modeling). The definition of a UML profile
involves three main steps 1. Inclusion of UML
metaclasses (or UML metamodel packages) that
can be used within the profile. 2. Creation of
new model elements defined as extensions of UML
metaclasses using stereotypes. 3. Definition
of constraints on the use of model elements and
their relationships
4UML Profiles
The basic mechanisms to create UML Profiles are
stereotypes and tagged values. Stereotypes are
used to create new model elements, as extensions
of UML metaclasses. In a class diagram, the name
of a stereotype is shown within a pair of
guillemets (e.g. ltltstereotypegtgt) above the class
name. The definition of stereotypes may also
involve the definition of tagged values that can
be used to define properties of the stereotype,
and the definition of constraints that can be
used to formalize certain aspects of the
stereotype.
5Outline
- UML Profiles
- UML Spec Profile
- UML Rational Rose RealTime (RRRT Profile)
- Mappings
- Transformation Maps
- Transformation Map Execution Example
- Conclusion
6UML Spec Profile
7Outline
- UML Profiles
- UML Spec Profile
- UML Rational Rose RealTime (RRRT Profile)
- Mappings
- Transformation Maps
- Transformation Map Execution Example
- Conclusion
8UML RRRT Design Capsule Diagram
9UML RRRT Design Profile
10Outline
- UML Profiles
- UML Spec Profile
- UML Rational Rose RealTime (RRRT Profile)
- Mappings
- Transformation Maps
- Transformation Map Execution Example
- Conclusion
11Mapping Definition
The definition of a mapping is performed in three
main steps 1. Analysis of the concepts defined
in the profiles. 2. Definition of conceptual
relationships between the elements of the
profiles. Informal identification on how each
model element in the source profile can be
associated with a model element from the target
profile 3. Formalize the relationships in a
well-defined Profile Mapping package. Embed the
elements association, traceable naming and
constrain definition (if needed) in the
definition of a set of mapping stereotypes.
12Model Element Mapping
13Example of Mappings
14Outline
- UML Profiles
- UML Spec Profile
- UML Rational Rose RealTime (RRRT Profile)
- Mappings
- Transformation Maps
- Transformation Map Execution Example
- Conclusion
15ClassMap ltltTransformationMapgtgt Definition
16Outline
- UML Profiles
- UML Spec Profile
- UML Rational Rose RealTime (RRRT Profile)
- Mappings
- Transformation Maps
- Transformation Map Execution Example
- Conclusion
17ClassMap ltltTransformationMapgtgt Execution
Transformation Map
Model Element Mapping
ClassMap
1) ClassMap ltltTransformationMapgtgt
2) ClassToCapsuleMapping ltltClassifierMapping
gtgt
UML Spec Profile
3) AttributeMapping ltltFeatureMappinggtgt
4) AttributeTypeMapping
ltltClassifierMappinggtgt
5) AttributeMapping ltltFeatureMappinggtgt
6) AttributeTypeMapping
ltltClassifierMappinggtgt
7) OperationMapping ltltFeatureMappinggtgt
8) ParameterMapping ltlt
FeatureMapping gtgt
9) ParameterTypeMapping ltlt
FeatureMapping gtgt
10) OperationReturnTypeMapping ltlt
FeatureMapping gtgt
UML RRRT Design Profile
11) OperationMapping ltlt FeatureMapping
gtgt
12) ParameterMapping ltlt
FeatureMapping gtgt
13) ParameterTypeMapping ltlt
FeatureMapping gtgt
14) ParameterMapping ltlt
FeatureMapping gtgt
15) ParameterTypeMapping ltlt
FeatureMapping gtgt
16) OperationReturnTypeMapping ltlt
FeatureMapping gtgt
18Outline
- UML Profiles
- UML Spec Profile
- UML Rational Rose RealTime (RRRT Profile)
- Mappings
- Transformation Maps
- Transformation Map Execution Example
- Conclusion
19Conclusion
This short paper describes the two UML profiles
that we use for the definition of a
specification-to-design mapping in the context of
the OMG SWRadio standardization effort. We also
introduce the concept of UML model mapping and
outline the mapping we defined between the UML
RRRT Design profile and the UML Spec profile.
This mapping allows making the transition between
a UML spec and a UML RRRT Design in a systematic
and traceable manner. The approach presented in
this paper is model driven and follows the
guidelines defined by the OMGs Model Driven
Architecture