Diapositiva 1 - PowerPoint PPT Presentation

About This Presentation
Title:

Diapositiva 1

Description:

The Reference Model for Open Distributed Processing. A (graphical) notation ... Special mention deserve Akira Tanaka, Peter Linington and Bryan Wood. Disclaimer ... – PowerPoint PPT presentation

Number of Views:42
Avg rating:3.0/5.0
Slides: 37
Provided by: josral
Category:

less

Transcript and Presenter's Notes

Title: Diapositiva 1


1
Modeling the ODP Computational Viewpoint with UML
2.0
José Raúl Romero, Antonio Vallecillo Universidad
de Málaga, Spain Dept. Lenguajes y Ciencias de la
Computación jrromero,av_at_lcc.uma.es
2
Agenda
  1. The Reference Model for Open Distributed
    Processing
  2. A (graphical) notation for the ODP CV
  3. Modeling the ODP CV with UML 2.0
  4. Issues for discussion
  5. Conclusions

3
Important
  • Acknowledgements
  • This work has been developed within WG19 of
    ISO/JTC1/SC7, in the context of the development
    of ISO/IEC 19793 ITU-T Rec. X.906 Use of UML
    for ODP system specification
  • Although the views in this presentation are the
    authors solely responsibility, they could not
    have been formulated without the previous work
    and the many hours of detailed discussions with
    ISO experts on ODP, who have been involved in
    investigating and addressing the problems of the
    UML specification of ODP systems. Special mention
    deserve Akira Tanaka, Peter Linington and Bryan
    Wood.
  • Disclaimer
  • This presentation describes work in progress,
    that may (and will) change as the ISO/IEC
    Standard 19793 ITU-T Rec. X.906 is developed.

4
The Reference Model for Open Distributed
Processing (I)
  • RM-ODP is a framework for ODP standardization and
    system specification covering all aspects of
    distributed systems enterprise business, system,
    technology, distribution,
  • comprehensive and coherent object-oriented
    modeling concepts
  • based on separation of concerns viewpoint
    specifications
  • Transparencies
  • Common functions
  • Viewpoints
  • Different abstractions of the same system
  • Reflect different concerns
  • Expressed in terms of specific viewpoint
    languages
  • Powerful mechanism for dealing with the
    complexity of distributed systems

5
The Reference Model for Open Distributed
Processing (II)
Viewpoint languages and notations
  • ODP Viewpoint languages are abstract, i.e., ODP
    does not prescribe any notation for expressing
    viewpoint specifications
  • Without a concrete syntax
  • it is difficult to write ODP specifications
  • there is no tool support
  • no analysis of the specifications (formal or
    informal)
  • the industrial acceptance and application of ODP
    might be hindered
  • Formal methods are convenient for
    precise/unambiguous interpretation of ODP
    concepts and specifications (eg. Z, Object-Z,
    LOTOS, maude, )
  • but traditionally useless

We need a general-purpose modeling notation,
familiar to developers, easy to learn and to use,
with commercial tool support
6
ISO/IEC 19793 ITU-T Rec X.906 Use of UML for
ODP system specification
  • A standard defining
  • a set of UML Profiles for expressing a system
    specification in terms of viewpoint
    specifications
  • possible relationships between the resultant ODP
    viewpoint specifications and how they are
    represented
  • the structure of a system specification expressed
    as a set of UML models using ODP viewpoint
    profiles
  • Target audiences of ISO/IEC 19793 ITU-T Rec.
    X.906
  • UML Modelers, that need to structure (somehow)
    their LARGE system specifications
  • ODP Modelers, that need some (graphical) notation
    for expressing their ODP specifications and tool
    support
  • Tool vendors

7
The Reference Model for Open Distributed
Processing (III)
The RM-ODP viewpoints
ODP System
Information, changes, constraints
Business aspects who? why?
Hard- and software components That implement the
system
Configuration of objects interacting at interfaces
Mechanisms and services for distribution
transparencies
8
The Reference Model for Open Distributed
Processing
(and IV)
Computational specifications
  • The Computational Viewpoint describes the
    functionality of the ODP system and its
    environment through the decomposition of the
    system into objects, which interact at
    interfaces, in a distribution transparent manner.
  • A Computational Specification describes the
    functional decomposition of an ODP system as
  • A configuration of computational objects
  • The internal actions of those
  • The interactions among those objects
  • Environment contracts for those objects and their
    interfaces.

9
Graphical notation for the ODP-CV (I)
Previous approaches
  • UML 1.4 was already proposed for ODP
    computational VP modeling
  • UML Profile for EDOC (Component Collaboration
    Architecture CCA)
  • Distributed System design within the DSE4DS
    Project (Akehurst et al.) CQML (for environment
    contracts)
  • Very complete and precise approaches, but
  • There is a big gap between the ODP and UML 1.x
    concepts
  • Which made UML 1.X proposals too large and
    complex for a wide industrial acceptance

10
Graphical notation for the ODP-CV (and II)
Unified Modeling Language v2.0
  • UML 2.0 provides several improvements to UML 1.x
    that make it more suitable for modeling the
    software architecture of large distributed
    systems
  • The addition of new diagrams (e.g., interaction
    overview diagrams, timing diagrams, etc.) and
    enhancements to the existing ones (e.g., the
    component diagram)
  • The influence of the mature SDL language and the
    MSCs
  • The fully alignment of OCL with UML 2.0
  • The enhancement of the language extension
    mechanisms

11
Relationships between UOD, ODP specifications,
and UML models
12
Modeling the ODP-CV in UML 2.0 (I)
The UML 2.0 Profile for the ODP Computational
Viewpoint
The UML Profile defines the stereotypes, tags and
constraints that allow us to use the specific
domain terminology
The profile presented here serves as input to the
WG19 forthcoming standard on ISO/IEC 19793
ITU-T Rec. X.906 UML for ODP system
specifications (2nd CD due next month)
13
The Profile is based on a Metamodel for the ODP
Computational Viewpoint
14
Modeling the ODP-CV in UML 2.0 (II)
Computational objects and interfaces
ODP concept UML element
Computational object template Component ltltCV_CompObjectTemplategtgt
Computational object InstanceSpecification (from Component) ltltCV_Objectgtgt
Computational interface template Port ltltCV_CompInterfaceTemplategtgt Tags objectRole, type
Computational interface Interaction point (Port at instance level) ltltCV_SignalInterfacegtgt ltltCV_OperationInterfacegtgt ltltCV_StreamInterfacegtgt
Computational interface signature Interface ltltCV_SignalInterfaceSignaturegtgt ltltCV_OperationInterfaceSignaturegtgt ltltCV_StreamInterfaceSignaturegtgt
15
Modeling the ODP-CV in UML 2.0 (II)
Computational objects and interfaces
ODP concept UML element
Computational object template Component ltltCV_CompObjectTemplategtgt
Computational object InstanceSpecification (from Component) ltltCV_Objectgtgt
Computational interface template Port ltltCV_CompInterfaceTemplategtgt Tags objectRole, type
Computational interface Interaction point (Port at instance level) ltltCV_SignalInterfacegtgt ltltCV_OperationInterfacegtgt ltltCV_StreamInterfacegtgt
Computational interface signature Interface ltltCV_SignalInterfaceSignaturegtgt ltltCV_OperationInterfaceSignaturegtgt ltltCV_StreamInterfaceSignaturegtgt
16
Modeling the ODP-CV in UML 2.0 (II)
Computational objects and interfaces
ODP concept UML element
Computational object template Component ltltCV_CompObjectTemplategtgt
Computational object InstanceSpecification (from Component) ltltCV_Objectgtgt
Computational interface template Port ltltCV_CompInterfaceTemplategtgt Tags objectRole, type
Computational interface Interaction point (Port at instance level) ltltCV_SignalInterfacegtgt ltltCV_OperationInterfacegtgt ltltCV_StreamInterfacegtgt
Computational interface signature Interface ltltCV_SignalInterfaceSignaturegtgt ltltCV_OperationInterfaceSignaturegtgt ltltCV_StreamInterfaceSignaturegtgt
17
Modeling the ODP-CV in UML 2.0 (II)
Computational objects and interfaces
ODP concept UML element
Computational object template Component ltltCV_CompObjectTemplategtgt
Computational object InstanceSpecification (from Component) ltltCV_Objectgtgt
Computational interface template Port ltltCV_CompInterfaceTemplategtgt Tags objectRole, type
Computational interface Interaction point (Port at instance level) ltltCV_SignalInterfacegtgt ltltCV_OperationInterfacegtgt ltltCV_StreamInterfacegtgt
Computational interface signature Interface ltltCV_SignalInterfaceSignaturegtgt ltltCV_OperationInterfaceSignaturegtgt ltltCV_StreamInterfaceSignaturegtgt
18
Modeling the ODP-CV in UML 2.0 (II)
Computational objects and interfaces
ODP concept UML element
Computational object template Component ltltCV_CompObjectTemplategtgt
Computational object InstanceSpecification (from Component) ltltCV_Objectgtgt
Computational interface template Port ltltCV_CompInterfaceTemplategtgt Tags objectRole, type
Computational interface Interaction point (Port at instance level) ltltCV_SignalInterfacegtgt ltltCV_OperationInterfacegtgt ltltCV_StreamInterfacegtgt
Computational interface signature Interface ltltCV_SignalInterfaceSignaturegtgt ltltCV_OperationInterfaceSignaturegtgt ltltCV_StreamInterfaceSignaturegtgt
19
Modeling the ODP-CV in UML 2.0 (III)
Interactions
ODP concept UML element
Signals and operations Message ltltCV_Signalgtgt ltltCV_Invocationgtgt ltltCV_Terminationgtgt ltltCV_Announcementgtgt
Flows (in terms of signals) Message/Interaction ltltCV_Flowgtgt
Interaction signatures (individual signals) Reception ltltCV_SignalSignaturegtgt ltltCV_InvocationSignaturegtgt ltltCV_TerminationSignaturegtgt ltltCV_AnnouncementSignaturegtgt ltltCV_FlowSignaturegtgt
Interaction signatures (operations) Operation ltltCV_InterrogationSignaturegtgt
20
Modeling the ODP-CV in UML 2.0 (III)
Interactions
ODP concept UML element
Signals and operations Message ltltCV_Signalgtgt ltltCV_Invocationgtgt ltltCV_Terminationgtgt ltltCV_Announcementgtgt
Flows (in terms of signals) Message/Interaction ltltCV_Flowgtgt
Interaction signatures (individual signals) Reception ltltCV_SignalSignaturegtgt ltltCV_InvocationSignaturegtgt ltltCV_TerminationSignaturegtgt ltltCV_AnnouncementSignaturegtgt ltltCV_FlowSignaturegtgt
Interaction signatures (operations) Operation ltltCV_InterrogationSignaturegtgt
21
Modeling the ODP-CV in UML 2.0 (III)
Interactions
ODP concept UML element
Signals and operations Message ltltCV_Signalgtgt ltltCV_Invocationgtgt ltltCV_Terminationgtgt ltltCV_Announcementgtgt
Flows (in terms of signals) Message/Interaction ltltCV_Flowgtgt
Interaction signatures (individual signals) Reception ltltCV_SignalSignaturegtgt ltltCV_InvocationSignaturegtgt ltltCV_TerminationSignaturegtgt ltltCV_AnnouncementSignaturegtgt ltltCV_FlowSignaturegtgt
Interaction signatures (operations) Operation ltltCV_InterrogationSignaturegtgt
22
Modeling the ODP-CV in UML 2.0 (III)
Interactions
ODP concept UML element
Signals and operations Message ltltCV_Signalgtgt ltltCV_Invocationgtgt ltltCV_Terminationgtgt ltltCV_Announcementgtgt
Flows (in terms of signals) Message/Interaction ltltCV_Flowgtgt
Interaction signatures (individual signals) Reception ltltCV_SignalSignaturegtgt ltltCV_InvocationSignaturegtgt ltltCV_TerminationSignaturegtgt ltltCV_AnnouncementSignaturegtgt ltltCV_FlowSignaturegtgt
Interaction signatures (operations) Operation ltltCV_InterrogationSignaturegtgt
23
UML Profile (I)
24
UML Profile (II)
25
UML Profile (III)
26
UML Profile (IV)
27
Modeling the ODP-CV in UML 2.0 (IV)
Specifying ODP systems
Component diagrams are used to describe the ODP
system Structure
  • Behaviour is described in terms of
  • Interaction models (message passing)
  • Activity models (sequence, i/o, )
  • Statecharts (changes caused by events, )
  • Environment contracts are modeled
  • using UML restriction mechanisms (OCL, timing
    diagrams, )
  • applying other UML profiles (e.g., UML Profile
    for Modeling QoS Characteristics)

28
Modeling the ODP-CV in UML 2.0 (V)
Example 1 Structure specification
29
Modeling the ODP-CV in UML 2.0 (VI)
Example 1 Structure specification
30
Modeling the ODP-CV in UML 2.0 (VII)
Example 1 Behaviour specification
31
Modeling the ODP-CV in UML 2.0 (VIII)
Example 1 Behaviour specification
32
Modeling the ODP-CV in UML 2.0 (IX)
Example 2 Structure specification
  • A multimedia system composed by listeners who
    want to receive audio frames from an audio
    streamer (i.e. Internet radio station)
  • A binding object manages the multicast of audio
    frames from a audio streamer to its registered
    listeners.
  • A service manager object manages the listeners
    selections

33
Modeling the ODP-CV in UML 2.0 (and X)
Example 2 Behaviour specification
34
Issues for discussion
  • Differences between the ODP and UML object models
  • The UML object model assumes that classes are
    first-class citizens. Objects are instances of
    these classes.
  • The ODP model considers objects as first-class
    citizens. Types are predicates on objects, and
    classes are collections of objects.
  • In UML, invariants and operations are owned by
    individual objects. ODP uses collective state
    for invariants, and collective behavior for
    operation and interaction specifications
  • UML 2.0 allow semantic variations
  • Terminology conflicts
  • ODP object vs. UML object
  • ODP type vs. UML type
  • ODP interface vs. UML interface
  • ODP class vs. UML class
  • Structuring rules
  • In ODP, signals with different causalities can
    coexist in an interface. UML requires different
    UML interfaces for signals with different
    causalities.
  • ODP computational objects can instantiate
    interface templates. UML ports cannot be
    individually instantiated.

35
Conclusions
  • UML 2.0 enables the representation of ODP
    Computational concepts in a more natural manner
    than UML 1.5
  • There is not a "perfect" match of concepts, but
    this does not invalidate the profile
  • The UML 2.0 Profile for the ODP Computational
    Viewpoint will be discussed during the
    forthcoming ISO/JTC1/SC7 WG19 meeting in Bari
    (Italy), 24-28 October, 2005.

36
End of Presentation
Thank You !
Antonio Vallecillo av_at_lcc.uma.es http//www.lcc.um
a.es/av
Write a Comment
User Comments (0)
About PowerShow.com