The UML Profile Technology
The UML Profile Technology
UML Profiles
UML Profiles
Definition
Benefits & positioning VS MOF
History
Notation
Semantic & Mechanisms
UML Profiles
Profiles (Definition)
profile
Java
import
profile
EJB
profile
CORBA
profile
EAI
profile
Real-Time
profile
SPEM
profile
Telecom
UML Profiles
Profiles (Definition)
UML Profiles
Extending UML :
Standard conformance guarantee (benefits)
UML Profiles
Using UML profiles guarantees that the adapted models will still be legal UML
models
Many Standard Profile solutions exist for some PSMs or PIMS (examples :
CORBA, EJB, Test, SysML, Qos, CCM)
Some very important targets have not yet standard profiles, but on the shelf
solutions (RDB, C++, etc.)
Build on a common basis: low learning curve, existing tools, interoperability, etc.
UML Profiles
<<profile>
>
UML
Design
Conception
UML
(projet)
<<profile>
>
Dveloppement
Development
Company
profile
<<profile>
> Analysis
Analyse
UML
UML
<<profile>
> DesignUML
Conception
UML
Standard
profile
<<profile>
>
Healthcare
<<profile>
>
RDB
modeling
<<profile>
> C++
UML Profiles
etc.)
specific disciplines (Analysis, Design, etc.)
requirement analysis
tests (test for Java, test for EJB, test for C++, etc.)
metrics, quality checking, and profiles for managing
configuration management rules.
UML Profiles
UML Profiles
Profiles
MOF extensions
UML Profiles
Profile: History
UML Profiles
UML
M OF
Core
Profile
CWM
Infrastructure
UML Profiles
Profile : Notations 1
profile
Abstract stereotype
Extension
link
stereotype
Metaclass
reference
constraint
UML Profiles
Profile : Notations 2
UML Profiles
<<persistent>>
PROFILE
Stereotype
Tagged Value
Operation
Customer
{storageMode = hash} Edit
<<identifier>> number :
Check
SQL
intGenerate
UML
Class
Attribute
Eclipse ECESIS Project
UML Profiles
Class
Constraint
{A persistent class, or one of its parent
classes must have at least one
<<identifier>> attribute}
<<stereotype>>
persistent
storageMode : KindOfStorage
Stereotype
generateSQL ()
Property
<<stereotype>>
identifier
UML Profiles
Extending Metaclasses
profile EJB
metaclass
Component
enumeration
StateKind
stateless
stateful
{required}
stereotype
Bean
stereotype
Session
stereotype
Entity
state: StateKind
UML Profiles
Applying a Profile
profile EJB
metaclass
Component
{required}
stereotype
Bean
apply
enumeration
StateKind
stateless
stateful
stereotype
Session
state: StateKind
stereotype
Entity
UserModel
session
Customer
state=stateless
name: String
UML Profiles
Metamodel Excerpt
Package
Class
Association
PackageImport
Profile
Stereotype
Extension
ProfileApplication
UML Profiles
Multiple Stereotypes
profile EJB
metaclass
Interface
metaclass
Component
stereotype
Home
stereotype
Creator
stereotype
Remote
metaclass
Interface
date: String
apply
apply
UserModel
remote, creator
Customer
order
*
Order
UML Profiles
UML Profiles
ExtendedClass
<<stereotype>>
Extension
Class2
Semantics :
Extension can extend existing
ExtendedClass or subclass
instances.
Class2 instances can for example
also be extended by Extension
ExtendedClass
Extension
Class2
Usual Semantics :
There will exist once for all
separated Extension
instances, Class2 instances
and also ExtendedClassonly
instances
UML Profiles
<<stereotype>>
<<stereotype>>
Extension
Extension
Semantics :
Extension can extend either
(exclusively) ExtendedClass1 or
ExtendedClass2. Extension does
not define a merge instance of
ExtendedClass1 and
ExtendedClass2
Usual Semantics :
Extension instance will always
be also instances of
ExtendedClass1 and
ExtendedClass2
UML Profiles
ExtendedClass
<<stereotype>>
<<stereotype>>
Extension1
Extension2
Semantics :
An instance of
ExtendedClass will be able
to be simultaneously extended
by Extension1 and
Extension2
ExtendedClass
Extension1
Extension2
Usual Semantics :
There may exist separate
instance of Extension1
extending ExtendedClass
and Extension2 extending
ExtendedClass
Eclipse ECESIS Project
UML Profiles
Miscellaneous