Title: UML for ODP system specifications ITU-T X.906 | ISO/IEC 19793 (A work-in-progress presentation)
1UML for ODP system specificationsITU-T X.906
ISO/IEC 19793(A work-in-progress presentation)
- Antonio Vallecillo
- Universidad de Málaga
- Dept. Lenguajes y Ciencias de la Computación
- av_at_lcc.uma.es
- http//www.lcc.uma.es/av/
2Agenda
- ODP system specifications
- Use of UML for ODP system specifications
- ODP system specifications and the MDA
- Sources and progress so far
- What is left, and what is next
- Conclusions
3Important
- 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. - Acknowledgements
- The work presented here has been developed by the
ISO/IEC JTC1-SC7-WG19 Working group. Wed like to
acknowledge the work by many ODP experts who have
been involved in investigating and addressing the
problems of the UML specification of ODP systems.
Specially mention deserve Sandy Tyndale-Biscoe,
Akira Tanaka and Bryan Wood.
4ODP System Specifications
- The Reference Model of ODP (ITU-T Rec X.901-904
ISO/IEC 10746) defines a framework for system
specification, covering all aspects of open
distributed systems - enterprise context, functionality,
distribution, infrastructure, technology - It comprises
- a structure for system specifications in terms of
viewpoints - a language (concepts and rules) for expressing
each viewpoint specification - a set of object-oriented foundation modeling
concepts common to all viewpoint languages
5ODP Viewpoints
- Different abstractions of the same system
- each abstraction focuses on different concerns
- each abstraction achieved using a set of
viewpoint concepts and rules - A mechanism for dealing with the complexity of
distributed systems - An ODP specification includes a set of viewpoint
specifications - Each viewpoint specification is expressed in
terms of the viewpoint concepts and rules (the VP
language) - Includes correspondences with other ODP VP specs
6ODP Viewpointsdifferent concerns
7The enterprise specification
- Specifies the roles played by the system in its
organizational environment - An object model of, for example, part of some
social/commercial organization in terms of - Enterprise objects
- Communities (of enterprise objects)
- Behaviour
- Roles (fulfilled by enterprise objects in a
community) - Processes (leading to Objectives)
- Policies
- Accountability
8The information specification
- Specifies system behavior to fulfill its
enterprise roles, abstracted from implementation - An object model of the system describing the
semantics of information and of information
processing in the system, in terms of - Information objects
- Invariant schema predicates on information
objects that must always be true - Static schema state of information objects at
some location in time - Dynamic schema allowable state changes of
information objects
9The computational specification
- Specifies computational structure of the system
in terms of its functionality (distribution and
technology independent) - An object model of the system describing its
functionality in terms of - Computational objects
- Interfaces (of computational objects) functions
supported - Invocations (by computational objects) functions
invoked - Computational bindings
- Environment contracts
10The engineering specification
- Specifies the mechanisms and services that
provide the distribution transparencies and QoS
constraints required by the system, independent
of platform and technology - An object model of the system describing the
infrastructure supporting the computational
structure - Basic engineering objects
- (infrastructure) engineering objects
- Clusters, capsules, nodes
- Channels
- Functions
11The technology specification
- Specifies the H/W and S/W pieces from which the
system is built - An object model of the system
- defining the configuration of technology objects
that comprise the ODP system, and the interfaces
between them - identifying conformance points
12An ODP system specification
- and correspondences between specifications
13Correspondences between ODP VPs
14Use of UML for ODP system specsITU-T X.906
ISO/IEC 19793
- 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 - A standard that enables the use of MDA tools in
developing and maintaining ODP system
specifications
currently Version 1.4.1, but moving to 2.0
15Use of UML for ODP system specsITU-T X.906
ISO/IEC 19793
- Why?
- RM-ODP is notation- and methodology- independent
- Which is an advantage (a-priori) ...
- ...but hampers its use and adoption
- Target audiences of ISO/IEC 19793
- UML Modelers
- that need to structure (somehow) their LARGE
system specifications - ODP Modelers
- that need some (graphical) notation for
expressing their ODP specifications - Tool vendors
16UML Profiles for ODP Viewpoint Languages
17ODP Specifications and the MDA
18ODP System specification structure
ltltODP_SystemSpecgtgt
ltltInformation_Specgtgt
ltltEnterprise_Specgtgt
ltltComputational_Specgtgt
ltltEngineering_Specgtgt
ltltTechnology_Specgtgt
19Enterprise metamodel (excerpt)
20UML Profile Enterprise lang. (excerpt)
Concept Stereotype UML Metaclass
ODP System EV_ODPSystem Class
Field of Application EV_FieldOfApplication Comment attached to Package
Community EV_Community Subsystem
Enterprise Object EV_EnterpriseObject Class
Enterprise Object fulfilling Role EV_FulfilsRole Association
Community Object EV_CommunityObject Class
Objective EV_Objective Class
Role EV_Role Class, StateMachine (in role model), Partition (in process model)
Action EV_Action State
Interaction EV_Interaction Class, StateMachine, ActivityGraph
Process EV_Process Class, ActivityGraph
Step EV_Step ActionState
Artefact EV_Artefact ObjectFlowState (in process model), Signal (in role model)
21UML Profile Enterprise lang. (icons)
EV_EnterpriseObject
EV_ODPSystem
EV_Role
EV_Interaction
EV_Artefact
EV_CommunityObject
EV_Community
EV_Objective
EV_Process
EV_Step
22Information Language metamodel
23UML Profile Information Language
24UML Profile Information lang. (icons)
Information_Spec
IV_InformationObject
IV_InformationObjectType
IV_ActionType
IV_InvariantSchema
IV_StaticSchema
IV_DynamicSchema
25Computational Language metamodel
26UML Profile Computational Language
27Engineering Language metamodel (1)
28Engineering Language metamodel (2)
29Technology Language metamodel
30UML mappings Technology language
Technology Language Concepts Corresponding UML elements
Technology object Deployment diagram including instances of components
Implementable standard Stereotyped Notes attached to deployment diagram and/or instance of components or UML tagged values or named property list
Implementation A process of building a testable UML system according to a UML model or models
IXIT Stereotyped Notes
31UML 4 ODP (Some) Sources
- Japanese Association of Healthcare Information
System Industry (JAHSI) - Hospital Information
Reference Enterprise Model project - European research projects
- e.g. COMBINE - investigating the organisation and
process for component-based system development - Industrial Practice
- OMG
- UML profile for Enterprise Distributed Object
Computing (EDOC) - A worked example for the standard
32An example the Templeman Library
- The example is about the computerized system that
supports the operations of a University Library,
in particular those related to the borrowing
process of the Library items. - The system should keep track of the items of the
University Library, its borrowers, and their
outstanding loans. - The library system will be used by the library
staff (librarian and assistants) to help them
record loans, returns, etc.
33UML specification of the ODP system
34Enterprise spec Global
35Enterprise spec Library Community
36Enterprise spec enterprise objects
37Enterprise spec Role fulfilment
38Enterprise spec Processes
39Enterprise spec Activity graph
40Enterprise spec Artefact roles of Loan
41Enterprise spec Interactions
42Enterprise spec state diagram for Borrower role
43Enterprise spec Policies
44Enterprise spec Delegation
45Enterprise spec Interactions between comunities
context Templeman Library System (E
Spec)LibraryBehaviourRolesLibrarian inv
self.roleFiller ltgt Templeman Library
System (E Spec)PersonnelBehaviourRolesDean
.roleFiller
46Information specification
47Information spec Object types
48Information spec Action types
49Information spec invariant schemata
- context Library inv undergradLimits
- (undergradMaxLoans 8) and
- (undergradBookLoanPeriod 28) and
- (undergradPeriodicalLoanPeriod 0)
- context Library inv uniqueIdentifiers
- self.items-gtforAll( itm1,itm2 itm1.id ltgt
itm2.id) and - self.users-gtforAll( usr1,usr2 usr1.id ltgt
usr2.id) - context Library inv oneLibrarianAndOneClockWhileOp
en - self.isOpen implies
- (self.Librarian-gtsize() 1) and
(self.Calendar-gtsize() 1) - context Library inv consistentNumberOfLoans
- self.users.borrowedItems-gtsum()
self.loans-gtsize() - context Loan inv wellFormedLoans issueDate lt
dueDate
50Information spec Static schema
51Information spec Dynamic schema
52Computational spec (diff. example)
53Progress and Targets
- Start of Project May 2003
- SC7 WD May 2004 SC7 meeting
- 1st CD Dec 2004
- FCD May 2005 SC7 meeting
- FDIS Dec 2005
- IS May 2006 SC7 meeting
Current WD is available as ISO-stds/04-06-01