Presentation is loading. Please wait.

Presentation is loading. Please wait.

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.

Similar presentations


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

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

2 LOGO Geneva, October 11, 2005 ITU-T SG17 Meeting2 Agenda 1.The Reference Model for Open Distributed Processing 2.A (graphical) notation for the ODP CV 3.Modeling the ODP CV with UML Issues for discussion 5.Conclusions

3 LOGO Geneva, October 11, 2005 ITU-T SG17 Meeting3 Important Acknowledgements This work has been developed within WG19 of ISO/JTC1/SC7, in the context of the development of ISO/IEC | 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 | ITU-T Rec. X.906 is developed.

4 LOGO Geneva, October 11, 2005 ITU-T SG17 Meeting4 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 LOGO Geneva, October 11, 2005 ITU-T SG17 Meeting5 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 … but traditionally useless The Reference Model for Open Distributed Processing (II) We need a general-purpose modeling notation, familiar to developers, easy to learn and to use, with commercial tool support …

6 LOGO Geneva, October 11, 2005 ITU-T SG17 Meeting6 ISO/IEC | 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 | 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 LOGO Geneva, October 11, 2005 ITU-T SG17 Meeting7 ODPSystem Enterprise Computation Information Technology Engineering The RM-ODP viewpoints Hard- and software components That implement the system Mechanisms and services for distribution transparencies Information, changes, constraints Business aspects who? why? Configuration of objects interacting at interfaces The Reference Model for Open Distributed Processing (III)

8 LOGO Geneva, October 11, 2005 ITU-T SG17 Meeting8 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. Computational specifications The Reference Model for Open Distributed Processing (and IV) 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 LOGO Geneva, October 11, 2005 ITU-T SG17 Meeting9 ODP-CV Concepts Graphical notation for the ODP-CV (I) 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) Mapping to UML elements UML 1.x Approaches Previous approaches 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 LOGO Geneva, October 11, 2005 ITU-T SG17 Meeting10 ODP-CV Metamodel Graphical notation for the ODP-CV (and II) 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 Mapping to UML elements UML 2.0 Profile for the ODP Computational Viewpoint Unified Modeling Language v2.0

11 LOGO Geneva, October 11, 2005 ITU-T SG17 Meeting11 Relationships between UOD, ODP specifications, and UML models

12 LOGO Geneva, October 11, 2005 ITU-T SG17 Meeting12 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 | ITU-T Rec. X.906: UML for ODP system specifications (2nd CD due next month)

13 LOGO Geneva, October 11, 2005 ITU-T SG17 Meeting13 The Profile is based on a Metamodel for the ODP Computational Viewpoint

14 LOGO Geneva, October 11, 2005 ITU-T SG17 Meeting14 Modeling the ODP-CV in UML 2.0 (II) ODP concept UML element Computational object template Component > Computational object InstanceSpecification (from Component) > Computational interface template Port > Tags {objectRole, type} Computational interface Interaction point ( Port at instance level) > Computational interface signature Interface > Computational objects and interfaces

15 LOGO Geneva, October 11, 2005 ITU-T SG17 Meeting15 Modeling the ODP-CV in UML 2.0 (II) ODP concept UML element Computational object template Component > Computational object InstanceSpecification (from Component) > Computational interface template Port > Tags {objectRole, type} Computational interface Interaction point ( Port at instance level) > Computational interface signature Interface > Computational objects and interfaces

16 LOGO Geneva, October 11, 2005 ITU-T SG17 Meeting16 Modeling the ODP-CV in UML 2.0 (II) ODP concept UML element Computational object template Component > Computational object InstanceSpecification (from Component) > Computational interface template Port > Tags {objectRole, type} Computational interface Interaction point ( Port at instance level) > Computational interface signature Interface > Computational objects and interfaces

17 LOGO Geneva, October 11, 2005 ITU-T SG17 Meeting17 Modeling the ODP-CV in UML 2.0 (II) ODP concept UML element Computational object template Component > Computational object InstanceSpecification (from Component) > Computational interface template Port > Tags {objectRole, type} Computational interface Interaction point ( Port at instance level) > Computational interface signature Interface > Computational objects and interfaces

18 LOGO Geneva, October 11, 2005 ITU-T SG17 Meeting18 Modeling the ODP-CV in UML 2.0 (II) ODP concept UML element Computational object template Component > Computational object InstanceSpecification (from Component) > Computational interface template Port > Tags {objectRole, type} Computational interface Interaction point ( Port at instance level) > Computational interface signature Interface > Computational objects and interfaces

19 LOGO Geneva, October 11, 2005 ITU-T SG17 Meeting19 Modeling the ODP-CV in UML 2.0 (III) ODP concept UML element Signals and operations Message > Flows (in terms of signals) Message/Interaction > Interaction signatures (individual signals) Reception > Interaction signatures (operations) Operation > Interactions

20 LOGO Geneva, October 11, 2005 ITU-T SG17 Meeting20 Modeling the ODP-CV in UML 2.0 (III) ODP concept UML element Signals and operations Message > Flows (in terms of signals) Message/Interaction > Interaction signatures (individual signals) Reception > Interaction signatures (operations) Operation > Interactions

21 LOGO Geneva, October 11, 2005 ITU-T SG17 Meeting21 Modeling the ODP-CV in UML 2.0 (III) ODP concept UML element Signals and operations Message > Flows (in terms of signals) Message/Interaction > Interaction signatures (individual signals) Reception > Interaction signatures (operations) Operation > Interactions

22 LOGO Geneva, October 11, 2005 ITU-T SG17 Meeting22 Modeling the ODP-CV in UML 2.0 (III) ODP concept UML element Signals and operations Message > Flows (in terms of signals) Message/Interaction > Interaction signatures (individual signals) Reception > Interaction signatures (operations) Operation > Interactions

23 LOGO Geneva, October 11, 2005 ITU-T SG17 Meeting23 UML Profile (I)

24 LOGO Geneva, October 11, 2005 ITU-T SG17 Meeting24 UML Profile (II)

25 LOGO Geneva, October 11, 2005 ITU-T SG17 Meeting25 UML Profile (III)

26 LOGO Geneva, October 11, 2005 ITU-T SG17 Meeting26 UML Profile (IV)

27 LOGO Geneva, October 11, 2005 ITU-T SG17 Meeting27 Modeling the ODP-CV in UML 2.0 (IV) Specifying ODP systems Behaviour is described in terms of: Interaction models (message passing) Activity models (sequence, i/o, …) Statecharts (changes caused by events, …) Component diagrams are used to describe the ODP system Structure Environment contracts are modeled: using UML restriction mechanisms (OCL, timing diagrams, …) applying other UML profiles (e.g., UML Profile for Modeling QoS Characteristics)

28 LOGO Geneva, October 11, 2005 ITU-T SG17 Meeting28 Modeling the ODP-CV in UML 2.0 (V) Example 1: Structure specification

29 LOGO Geneva, October 11, 2005 ITU-T SG17 Meeting29 Modeling the ODP-CV in UML 2.0 (VI) Example 1: Structure specification

30 LOGO Geneva, October 11, 2005 ITU-T SG17 Meeting30 Modeling the ODP-CV in UML 2.0 (VII) Example 1: Behaviour specification

31 LOGO Geneva, October 11, 2005 ITU-T SG17 Meeting31 Modeling the ODP-CV in UML 2.0 (VIII) Example 1: Behaviour specification

32 LOGO Geneva, October 11, 2005 ITU-T SG17 Meeting32 Modeling the ODP-CV in UML 2.0 (IX) Example 2: Structure specification Computational Templates Snapshot 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 LOGO Geneva, October 11, 2005 ITU-T SG17 Meeting33 Modeling the ODP-CV in UML 2.0 (and X) Example 2: Behaviour specification Computational Object Template

34 LOGO Geneva, October 11, 2005 ITU-T SG17 Meeting34 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 LOGO Geneva, October 11, 2005 ITU-T SG17 Meeting35 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), October, 2005.

36 LOGO Geneva, October 11, 2005 ITU-T SG17 Meeting36 End of Presentation Antonio Vallecillo


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

Similar presentations


Ads by Google