Modeling the ODP Computational Viewpoint with UML 2

  • Slides: 36
Download presentation
Modeling the ODP Computational Viewpoint with UML 2. 0 José Raúl Romero, Antonio Vallecillo

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}@lcc. uma. es

Agenda LOGO 1. The Reference Model for Open Distributed Processing 2. A (graphical) notation

Agenda LOGO 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 Geneva, October 11, 2005 2 ITU-T SG 17 Meeting

Important LOGO Acknowledgements § This work has been developed within WG 19 of ISO/JTC

Important LOGO Acknowledgements § This work has been developed within WG 19 of ISO/JTC 1/SC 7, 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. Geneva, October 11, 2005 3 ITU-T SG 17 Meeting

The Reference Model for Open Distributed Processing (I) LOGO v RM-ODP is a framework

The Reference Model for Open Distributed Processing (I) LOGO v 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 v 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 Geneva, October 11, 2005 4 ITU-T SG 17 Meeting

The Reference Model for Open Distributed Processing (II)LOGO Viewpoint languages and notations v ODP

The Reference Model for Open Distributed Processing (II)LOGO Viewpoint languages and notations v ODP Viewpoint languages are abstract, i. e. , ODP does not prescribe any notation for expressing viewpoint specifications v 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 v Formal methods are convenient for precise/unambiguous interpretation of ODP concepts and specifications (eg. Z, We need a general-purpose modeling notation, Object-Z, LOTOS, maude, …) familiar to developers, easy to learn and to use, v … but traditionally useless with commercial tool support … Geneva, October 11, 2005 5 ITU-T SG 17 Meeting

ISO/IEC 19793 | ITU-T Rec X. 906: Use of UML for ODP system specification

ISO/IEC 19793 | ITU-T Rec X. 906: Use of UML for ODP system specification LOGO v 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 v 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 Geneva, October 11, 2005 6 ITU-T SG 17 Meeting

The Reference Model for Open Distributed Processing (III) LOGO The RM-ODP viewpoints Information Enterprise

The Reference Model for Open Distributed Processing (III) LOGO The RM-ODP viewpoints Information Enterprise Business aspects who? why? ODP System Information, changes, constraints Technology Computation Configuration of objects interacting at interfaces Geneva, October 11, 2005 Engineering Hard- and software components That implement the system Mechanisms and services for distribution transparencies 7 ITU-T SG 17 Meeting

The Reference Model for Open Distributed Processing (and IV) LOGO Computational specifications v The

The Reference Model for Open Distributed Processing (and IV) LOGO Computational specifications v 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. v 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. Geneva, October 11, 2005 8 ITU-T SG 17 Meeting

Graphical notation for the ODP-CV (I) Previous approaches LOGO v UML 1. 4+ was

Graphical notation for the ODP-CV (I) Previous approaches LOGO v UML 1. 4+ was already proposed for ODP computational VP modeling: § UML Profile for EDOC (Component Collaboration Architecture – CCA) § Distributed System design within the DSE 4 DS Project (Akehurst et al. ) + CQML (for environment contracts) J Very complete and precise approaches, but … L There is a big gap between the ODP and UML 1. x concepts L Which made UML 1. X proposals too large and complex for a wide industrial acceptance ODP-CV Concepts Geneva, October 11, 2005 Mapping to UML elements 9 UML 1. x Approaches ITU-T SG 17 Meeting

Graphical notation for the ODP-CV (and II) LOGO Unified Modeling Language v 2. 0

Graphical notation for the ODP-CV (and II) LOGO Unified Modeling Language v 2. 0 v 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 ODP-CV Metamodel Geneva, October 11, 2005 Mapping to UML elements 10 UML 2. 0 Profile for the ODP Computational Viewpoint ITU-T SG 17 Meeting

Relationships between UOD, ODP specifications, and UML models Geneva, October 11, 2005 11 LOGO

Relationships between UOD, ODP specifications, and UML models Geneva, October 11, 2005 11 LOGO ITU-T SG 17 Meeting

Modeling the ODP-CV in UML 2. 0 (I) The UML 2. 0 Profile for

Modeling the ODP-CV in UML 2. 0 (I) The UML 2. 0 Profile for the ODP Computational Viewpoint LOGO 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 WG 19 forthcoming standard on ISO/IEC 19793 | ITU-T Rec. X. 906: UML for ODP system specifications (2 nd CD due next month) Geneva, October 11, 2005 12 ITU-T SG 17 Meeting

The Profile is based on a Metamodel for the LOGO ODP Computational Viewpoint Geneva,

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

Modeling the ODP-CV in UML 2. 0 (II) Computational objects and interfaces ODP concept

Modeling the ODP-CV in UML 2. 0 (II) Computational objects and interfaces ODP concept UML element Component Computational object template Computational object LOGO <<CV_Comp. Object. Template>> Instance. Specification (from Component) <<CV_Object>> Port Computational interface template <<CV_Comp. Interface. Template>> Tags {object. Role, type} Computational interface Interaction point (Port at instance level) <<CV_Signal. Interface>> <<CV_Operation. Interface>> <<CV_Stream. Interface>> Interface <<CV_Signal. Interface. Signature>> <<CV_Operation. Interface. Signature>> <<CV_Stream. Interface. Signature>> Computational interface signature Geneva, October 11, 2005 14 ITU-T SG 17 Meeting

Modeling the ODP-CV in UML 2. 0 (II) Computational objects and interfaces ODP concept

Modeling the ODP-CV in UML 2. 0 (II) Computational objects and interfaces ODP concept UML element Component Computational object template Computational object LOGO <<CV_Comp. Object. Template>> Instance. Specification (from Component) <<CV_Object>> Port Computational interface template <<CV_Comp. Interface. Template>> Tags {object. Role, type} Computational interface Interaction point (Port at instance level) <<CV_Signal. Interface>> <<CV_Operation. Interface>> <<CV_Stream. Interface>> Interface <<CV_Signal. Interface. Signature>> <<CV_Operation. Interface. Signature>> <<CV_Stream. Interface. Signature>> Computational interface signature Geneva, October 11, 2005 15 ITU-T SG 17 Meeting

Modeling the ODP-CV in UML 2. 0 (II) Computational objects and interfaces ODP concept

Modeling the ODP-CV in UML 2. 0 (II) Computational objects and interfaces ODP concept UML element Component Computational object template Computational object LOGO <<CV_Comp. Object. Template>> Instance. Specification (from Component) <<CV_Object>> Port Computational interface template <<CV_Comp. Interface. Template>> Tags {object. Role, type} Computational interface Interaction point (Port at instance level) <<CV_Signal. Interface>> <<CV_Operation. Interface>> <<CV_Stream. Interface>> Interface <<CV_Signal. Interface. Signature>> <<CV_Operation. Interface. Signature>> <<CV_Stream. Interface. Signature>> Computational interface signature Geneva, October 11, 2005 16 ITU-T SG 17 Meeting

Modeling the ODP-CV in UML 2. 0 (II) Computational objects and interfaces ODP concept

Modeling the ODP-CV in UML 2. 0 (II) Computational objects and interfaces ODP concept UML element Component Computational object template Computational object LOGO <<CV_Comp. Object. Template>> Instance. Specification (from Component) <<CV_Object>> Port Computational interface template <<CV_Comp. Interface. Template>> Tags {object. Role, type} Computational interface Interaction point (Port at instance level) <<CV_Signal. Interface>> <<CV_Operation. Interface>> <<CV_Stream. Interface>> Interface <<CV_Signal. Interface. Signature>> <<CV_Operation. Interface. Signature>> <<CV_Stream. Interface. Signature>> Computational interface signature Geneva, October 11, 2005 17 ITU-T SG 17 Meeting

Modeling the ODP-CV in UML 2. 0 (II) Computational objects and interfaces ODP concept

Modeling the ODP-CV in UML 2. 0 (II) Computational objects and interfaces ODP concept UML element Component Computational object template Computational object LOGO <<CV_Comp. Object. Template>> Instance. Specification (from Component) <<CV_Object>> Port Computational interface template <<CV_Comp. Interface. Template>> Tags {object. Role, type} Computational interface Interaction point (Port at instance level) <<CV_Signal. Interface>> <<CV_Operation. Interface>> <<CV_Stream. Interface>> Interface <<CV_Signal. Interface. Signature>> <<CV_Operation. Interface. Signature>> <<CV_Stream. Interface. Signature>> Computational interface signature Geneva, October 11, 2005 18 ITU-T SG 17 Meeting

Modeling the ODP-CV in UML 2. 0 (III) Interactions LOGO UML element ODP concept

Modeling the ODP-CV in UML 2. 0 (III) Interactions LOGO UML element ODP concept Message <<CV_Signal>> <<CV_Invocation>> <<CV_Termination>> <<CV_Announcement>> Signals and operations Message/Interaction Flows (in terms of signals) <<CV_Flow>> Reception <<CV_Signal. Signature>> <<CV_Invocation. Signature>> <<CV_Termination. Signature>> <<CV_Announcement. Signature>> <<CV_Flow. Signature>> Interaction signatures (individual signals) Operation Interaction signatures (operations) Geneva, October 11, 2005 <<CV_Interrogation. Signature>> 19 ITU-T SG 17 Meeting

Modeling the ODP-CV in UML 2. 0 (III) Interactions LOGO UML element ODP concept

Modeling the ODP-CV in UML 2. 0 (III) Interactions LOGO UML element ODP concept Message <<CV_Signal>> <<CV_Invocation>> <<CV_Termination>> <<CV_Announcement>> Signals and operations Message/Interaction Flows (in terms of signals) <<CV_Flow>> Reception <<CV_Signal. Signature>> <<CV_Invocation. Signature>> <<CV_Termination. Signature>> <<CV_Announcement. Signature>> <<CV_Flow. Signature>> Interaction signatures (individual signals) Operation Interaction signatures (operations) Geneva, October 11, 2005 <<CV_Interrogation. Signature>> 20 ITU-T SG 17 Meeting

Modeling the ODP-CV in UML 2. 0 (III) Interactions LOGO UML element ODP concept

Modeling the ODP-CV in UML 2. 0 (III) Interactions LOGO UML element ODP concept Message <<CV_Signal>> <<CV_Invocation>> <<CV_Termination>> <<CV_Announcement>> Signals and operations Message/Interaction Flows (in terms of signals) <<CV_Flow>> Reception <<CV_Signal. Signature>> <<CV_Invocation. Signature>> <<CV_Termination. Signature>> <<CV_Announcement. Signature>> <<CV_Flow. Signature>> Interaction signatures (individual signals) Operation Interaction signatures (operations) Geneva, October 11, 2005 <<CV_Interrogation. Signature>> 21 ITU-T SG 17 Meeting

Modeling the ODP-CV in UML 2. 0 (III) Interactions LOGO UML element ODP concept

Modeling the ODP-CV in UML 2. 0 (III) Interactions LOGO UML element ODP concept Message <<CV_Signal>> <<CV_Invocation>> <<CV_Termination>> <<CV_Announcement>> Signals and operations Message/Interaction Flows (in terms of signals) <<CV_Flow>> Reception <<CV_Signal. Signature>> <<CV_Invocation. Signature>> <<CV_Termination. Signature>> <<CV_Announcement. Signature>> <<CV_Flow. Signature>> Interaction signatures (individual signals) Operation Interaction signatures (operations) Geneva, October 11, 2005 <<CV_Interrogation. Signature>> 22 ITU-T SG 17 Meeting

UML Profile (I) Geneva, October 11, 2005 LOGO 23 ITU-T SG 17 Meeting

UML Profile (I) Geneva, October 11, 2005 LOGO 23 ITU-T SG 17 Meeting

UML Profile (II) Geneva, October 11, 2005 LOGO 24 ITU-T SG 17 Meeting

UML Profile (II) Geneva, October 11, 2005 LOGO 24 ITU-T SG 17 Meeting

UML Profile (III) Geneva, October 11, 2005 LOGO 25 ITU-T SG 17 Meeting

UML Profile (III) Geneva, October 11, 2005 LOGO 25 ITU-T SG 17 Meeting

UML Profile (IV) Geneva, October 11, 2005 LOGO 26 ITU-T SG 17 Meeting

UML Profile (IV) Geneva, October 11, 2005 LOGO 26 ITU-T SG 17 Meeting

Modeling the ODP-CV in UML 2. 0 (IV) Specifying ODP systems LOGO Component diagrams

Modeling the ODP-CV in UML 2. 0 (IV) Specifying ODP systems LOGO 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 Qo. S Characteristics) Geneva, October 11, 2005 27 ITU-T SG 17 Meeting

Modeling the ODP-CV in UML 2. 0 (V) Example 1: Structure specification Geneva, October

Modeling the ODP-CV in UML 2. 0 (V) Example 1: Structure specification Geneva, October 11, 2005 28 LOGO ITU-T SG 17 Meeting

Modeling the ODP-CV in UML 2. 0 (VI) Example 1: Structure specification Geneva, October

Modeling the ODP-CV in UML 2. 0 (VI) Example 1: Structure specification Geneva, October 11, 2005 29 LOGO ITU-T SG 17 Meeting

Modeling the ODP-CV in UML 2. 0 (VII) Example 1: Behaviour specification Geneva, October

Modeling the ODP-CV in UML 2. 0 (VII) Example 1: Behaviour specification Geneva, October 11, 2005 30 LOGO ITU-T SG 17 Meeting

Modeling the ODP-CV in UML 2. 0 (VIII) Example 1: Behaviour specification Geneva, October

Modeling the ODP-CV in UML 2. 0 (VIII) Example 1: Behaviour specification Geneva, October 11, 2005 31 LOGO ITU-T SG 17 Meeting

Modeling the ODP-CV in UML 2. 0 (IX) Example 2: Structure specification LOGO •

Modeling the ODP-CV in UML 2. 0 (IX) Example 2: Structure specification LOGO • 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. Snapshot • A service manager object manages the listeners’ selections Computational Templates Geneva, October 11, 2005 32 ITU-T SG 17 Meeting

Modeling the ODP-CV in UML 2. 0 (and X) Example 2: Behaviour specification LOGO

Modeling the ODP-CV in UML 2. 0 (and X) Example 2: Behaviour specification LOGO Computational Object Template Geneva, October 11, 2005 33 ITU-T SG 17 Meeting

Issues for discussion LOGO v Differences between the ODP and UML object models §

Issues for discussion LOGO v 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 v Terminology conflicts § § ODP object vs. UML object ODP type vs. UML type ODP interface vs. UML interface; ODP class vs. UML class v 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. Geneva, October 11, 2005 34 ITU-T SG 17 Meeting

Conclusions LOGO v UML 2. 0 enables the representation of ODP Computational concepts in

Conclusions LOGO v UML 2. 0 enables the representation of ODP Computational concepts in a more natural manner than UML 1. 5 v There is not a "perfect" match of concepts, but this does not invalidate the profile v The UML 2. 0 Profile for the ODP Computational Viewpoint will be discussed during the forthcoming ISO/JTC 1/SC 7 WG 19 meeting in Bari (Italy), 24 -28 October, 2005. Geneva, October 11, 2005 35 ITU-T SG 17 Meeting

End of Presentation LOGO llo i c alle V o i on Ant s

End of Presentation LOGO llo i c alle V o i on Ant s a. e m av u. ~ / c s c l. e a av@ um //w : p t ht Geneva, October 11, 2005 36 w . c w. lc ITU-T SG 17 Meeting