Specializing and extending the UML - PowerPoint PPT Presentation

1 / 34
About This Presentation
Title:

Specializing and extending the UML

Description:

Domain specialists in e.g. the finance or manufacturing domains have to use profiles cautiously. ... The following is part of a description of a car sharing system: ... – PowerPoint PPT presentation

Number of Views:22
Avg rating:3.0/5.0
Slides: 35
Provided by: patbr1
Category:

less

Transcript and Presenter's Notes

Title: Specializing and extending the UML


1
Specializing and extending the UML
2
Extending the UML
  • Stereotype
  • Profiles (Specializing)
  • Constraint
  • Tagged value

3
Stereotypes
  • A class that defines how an existing metaclass
    (or other stereotype) may be extended, and
    enables the use of platform or domain specific
    terminology or notation in addition to the ones
    used for the extended metaclass. Certain
    stereotypes are predefined in the UML, others may
    be user defined.

4
Stereotypes
  • Stereotypes are one of the extensibility
    mechanisms in UML. Example ltltincludegtgt ltltextendgtgt
    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. The main aspects in
    which a stereotype can modify the metaclass
    definition are

5
Stereotypes
  • 1) Presentation such as, first character of
    stereotype in lower case in front of elements
    name enclosed in guillmets icon or display
  • 2) Additional properties for classes and
    attributes. The most important properties for an
    attribute (in addition to the name) are Type,
    Default Value, Multiplicity, and Unique.

6
Stereotypes
  • 2) Additional constraints In a profile only
    stereotypes can own constraints. The constraint
    can be named. In the CASE tool Rational Rose the
    constraints can be written in Java or OCL syntax.
  • 3) Stereotypes can specialize or generalize other
    stereotypes.

7
Stereotypes
  • Stereotypes can be text or a graphic icon
  • The icon can replace the normal class box

8
What is a UML profile?
  • A UML Profile is a predefined set of Stereotypes,
    Tagged Values, Constraints, and notation icons
    that collectively specialize and tailor the UML
    for a specific domain or process (e.g. Unified
    Process profile). A profile 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.

9
What is a UML profile?
  • The UML profile was designed to structure and
    group together standard (extension)
    specialization to the UML model. The UML profile
    is at the heart of a strategic plan to formalize
    and handle the application development process
    using UML. This is called the Model Driven
    Architecture (MDA).
  • A UML package is analogous to a folder used to
    organize a large diagram into several smaller
    ones. Packages are used to construct profiles.

10
What is a 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.

11
What is a UML profile?
  • Specializing UML for technology implementations
    (language mappings) Every technical target,
    such as programming language, or middleware or
    library or database is a natural candidate for
    defining a dedicated UML profile.
  • UML profile for CORBA
  • UML profile for EJB (Enterprise Java Beans)
  • UML profiles for C, or for Java,
  • UML profiles for specific RDB such as ORACLE.
  • UML for GIS see hand out and http//www.isima.fr/
    kang/pinet/kang.pdf

12
What is a UML profile?
  • Specializing UML for specific application domains
  • Domain specialists in e.g. the finance or
    manufacturing domains have to use profiles
    cautiously. Very often, application domains only
    require predefined model libraries or template
    libraries. Using profiles in this context might
    be overkill.
  • However, there are some needs for specializing
    UML which originate in horizontal application
    domains. For example, geographic applications
    need to express a specific way of defining
    geographic constraints between elements, that do
    not exist in other development areas.

13
Part of a GIS profile from Kang et
al. http//www.isima.fr/kang/pinet/kang.pdf
14
UML Extensions
  • UML has the following extension mechanisms.
  • Stereotypes
  • Tagged Values
  • Constraint
  • A stereotype defines how an existing metaclass
    may be extended, and enables the use of platform
    or domain specific terminology or notation in
    place of or in addition to the ones used for the
    extended metaclass.

15
What is a UML profile?
  • Profiles generically extend the UML through the
    use of stereotypes that are most often
    language-specific, provide a common graphical
    notation and vocabulary, and define a subset of
    the UML metamodel (MOF).

16
What is a UML profile?
  • Profiles available in CASE tools such a Poseidon,
    ArgoUML, Rational Rose.

17
What is a UML profile?
  • A profile is an extension to the core UML that
    keeps the UML metamodel intact, in other word it
    obeys the rules of UML. A UML profile is a subset
    of UML that is necessary and sufficient for a
    given development effort (e.g. Testing, WAP, or
    GIS). For example, UML Testing Profile defines a
    language for designing, visualizing, specifying,
    analyzing, constructing and documenting the
    artifacts of test systems. UML profiles are
    defined in the UML infrastructure volume of UML
    2.0. Profiles are packages that are linked to
    other packages in a model by using the ltltapplygtgt
    dependency. Model elements in the model package
    can then use the features that are in the
    profile, typically stereotypes.

18
UML example GIS profile
  • The following is part of a description of a car
    sharing system
  • Each member of the car sharing pool has an
    address that consists of neighborhood and a
    region. It is required to construct a class for
    the car sharer, the address, the neighborhood,
    and the region.
  • In order to handle location information it has
    been decided to attach a Geographical Information
    System (GIS) system to the car sharing system.
    The GIS has been modeled as a UML profile called
    GIS.
  • The UML profile mechanism was used to construct
    the profile in the next slide. This profile
    extends Class with Point and Region stereotypes.
    It also extends the UML association with an
    association stereotype called LocatedIn which
    associates Point with Region.

19
UML example GIS profile
The UML profile mechanism was used to construct
the profile above. This profile extends Class
with Point and Region stereotypes. It also
extends the UML association with an association
stereotype called LocatedIn which associates
Point with Region. Draw a UML diagram that
applies the GIS profile to the car sharing
package.
20
Profile WML Example
  • The Wireless Markup Language (WML) is used to
    describe content for wireless applications. The
    Wireless Access Protocol (WAP) is a standard used
    to deliver Internet content to wireless devices
    such as mobile phones and Personal Digital
    Assistants (PDAs). WML uses the metaphor of decks
    of cards. Assume that a WAP/WML application
    consists of a single deck. Each deck contains a
    number of cards each card displays a screen-full
    of information on a mobile device. When cards
    from a deck are transferred to a mobile device,
    the user can move between cards using a simple
    next and previous command. The UML profile on
    the next slide represents WAP/WML functionality.

21
Part of UMLs core MOF
Part of the application domain
22
Profile WML Example
  • We will describe the roles of the stereotypes
    used in the WAP package tab, the Application
    class, and in the Next association. We will also
    describe the relevant UML extension mechanism.

23
Profile WML Example
  • The ltltprofilegtgt stereotype in the package tab
    indicates that the package is a profile and
    package name is WAP.
  • Black arrows indicate that a new class extends
    the UML metaclasses Class and Association. We do
    not describe details of higher order UML or MOF.
  • The figure indicates the following stereotypes
    for classes have been created ltltapplicationgtgt,
    ltltdeckgtgt , ltltcardgtgt and the following stereotypes
    for association have been created ltltdeliversgtgt ,
    ltltnextgtgt , ltltpreviousgtgt .

24
Profile WML Example
  • The next slide shows part of a car sharing
    system. The semantics of the diagram are as
    follows. The CarMatchDatabase class represents
    the complete car sharing database. The
    CarMatchInformation represents a result set from
    a database query. Each result set consists of one
    or more CarMatch objects representing actual car
    sharing records. CarMatch objects are linked
    together with two associations called previous
    and next.

25
Profile WML Example
26
Profile WML Example
  • We will draw a diagram showing the application of
    the WAP profile to the CarSharer package using
    the following mappings.

27
Application Profile Mapping
28
Profile WML Example
  • Description Each new stereotype in the WAP
    profile is applied as appropriate to each class
    or association in the CarSharer package, as per
    mapping. The ltltapplygtgt dependency is used to
    indicate the application of the profile to the
    package.

29
Profile Example
30
Profile Example
  • The extension mechanism extends the metaclass
    definition of one or more metaclasses Class and
    Accociation (the original metaclass definitions
    are still available for normal use). Then when
    the profile is applied new classes with the new
    stereotype have the newly defined features.
    Hence, the CarMatch class has whatever was
    defined in Card. The stereotypes Application,
    Deck, and Card are all extensions of the
    metaclass Class. The stereotypes Delivers, Next
    and Previous are all extensions to the metaclass
    Association. The application allows the UML user
    to avail of previously defined specifications
    (usually domain specific).

31
Constraints
  • 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 for the
    purpose of declaring some of the semantics of a
    model element. They are used in combination with
    tagged definitions to define the characteristic
    of stereotypes in profiles. A constraint defines
    a relationship between model elements that must
    be true subset xor (multiplicity not enough
    for xor). Constraints can be on attributes,
    derived attributes, associations and classes.

32
Tagged values
  • Many stereotyped model elements have properties
    that cannot be represented graphically. These can
    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
    definitions are the attributes of the stereotypes
    in the profile and are typically shown in
    comments attached to the stereotyped model
    elements.

33
Tagged values
  • Persistence is shown using a tagged value

34
Constraints as a tagged Boolean assertion
  • This constraints is represented as a togged
    Boolean assertions attached to a model element.
  • they are attached to one or more model element
  • this shows a note containing a class constraint
Write a Comment
User Comments (0)
About PowerShow.com