Download presentation
Presentation is loading. Please wait.
Published byMalia Lownes Modified over 10 years ago
1
UML for ODP system specifications ITU-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@lcc.uma.es http://www.lcc.uma.es/~av/
2
April 20052 Agenda 1. ODP system specifications 2. Use of UML for ODP system specifications 3. ODP system specifications and the MDA 4. Sources and progress so far 5. What is left, and what is next 6. Conclusions
3
April 20053 Important 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. We’d 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.
4
April 20054 ODP 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
5
April 20055 ODP 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
6
April 20056 ODP Viewpoints—different concernsSystem Enterprise Computational Information Technology Engineering
7
April 20057 The 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 –…
8
April 20058 The 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
9
April 20059 The 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
10
April 200510 The 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
11
April 200511 The 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
12
April 200512 An ODP system specification - Object configuration - Interactions between objects at interfaces Computational Enterprise - business aspects - What for? Why? Who? When? - information - changes to information - constraints Information - Hardware and software components implementing the system Technology Engineering - Mechanisms and services for distribution trans- parencies and QoS constraints. - and correspondences between specifications
13
April 200513 Correspondences between ODP VPs Enterprise Technology Engineering Computational Information
14
April 200514 Use of UML* for ODP system specs ITU-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
15
April 200515 Use of UML* for ODP system specs ITU-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
16
April 200516 UML Profiles for ODP Viewpoint Languages
17
April 200517 ODP Specifications and the MDA
18
April 200518 ODP System specification structure >
19
April 200519 Enterprise metamodel (excerpt)
20
April 200520 UML Profile – Enterprise lang. (excerpt) ConceptStereotypeUML 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, A ctivityGraph Step«EV_Step» ActionState Artefact«EV_Artefact» ObjectFlowState (in process model), Signal (in role model)
21
April 200521 UML Profile – Enterprise lang. (icons) «EV_EnterpriseObject» «EV_ODPSystem» «EV_Role» «EV_Interaction» «EV_Artefact» «EV_CommunityObject» «EV_Community» «EV_Objective» «EV_Process» «EV_Step»
22
April 200522 Information Language metamodel
23
April 200523 UML Profile – Information Language
24
April 200524 UML Profile – Information lang. (icons) «Information_Spec» «IV_InformationObject» «IV_InformationObjectType» «IV_ActionType» «IV_InvariantSchema» « IV_StaticSchema» « IV_DynamicSchema»
25
April 200525 Computational Language metamodel
26
April 200526 UML Profile – Computational Language
27
April 200527 Engineering Language metamodel (1)
28
April 200528 Engineering Language metamodel (2)
29
April 200529 Technology Language metamodel
30
April 200530 UML mappings – Technology language Technology Language ConceptsCorresponding UML elements Technology objectDeployment diagram including instances of components Implementable standarda)Stereotyped Notes attached to deployment diagram and/or instance of components or b)UML tagged values or named property list ImplementationA process of building a testable UML system according to a UML model or models IXITStereotyped Notes
31
April 200531 UML 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
32
April 200532 An 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.
33
April 200533 UML specification of the ODP system
34
April 200534 Enterprise spec – Global
35
April 200535 Enterprise spec – Library Community
36
April 200536 Enterprise spec – enterprise objects
37
April 200537 Enterprise spec – Role fulfilment
38
April 200538 Enterprise spec – Processes
39
April 200539 Enterprise spec – Activity graph
40
April 200540 Enterprise spec – Artefact roles of Loan
41
April 200541 Enterprise spec – Interactions
42
April 200542 Enterprise spec – state diagram for Borrower role
43
April 200543 Enterprise spec – Policies
44
April 200544 Enterprise spec – Delegation
45
April 200545 Enterprise spec – Interactions between comunities context Templeman Library System (E Spec)::Library::Behaviour::Roles::Librarian inv: self.roleFiller <> Templeman Library System (E Spec)::Personnel::Behaviour::Roles::Dean.roleFiller
46
April 200546 Information specification
47
April 200547 Information spec – Object types
48
April 200548 Information spec – Action types
49
April 200549 Information spec – invariant schemata context Library inv undergradLimits: (undergradMaxLoans = 8) and (undergradBookLoanPeriod = 28) and (undergradPeriodicalLoanPeriod = 0) context Library inv uniqueIdentifiers: self.items->forAll( itm1,itm2 | itm1.id <> itm2.id) and self.users->forAll( usr1,usr2 | usr1.id <> usr2.id) context Library inv oneLibrarianAndOneClockWhileOpen: self.isOpen implies (self.Librarian->size() = 1) and (self.Calendar->size() = 1) context Library inv consistentNumberOfLoans: self.users.borrowedItems->sum() = self.loans->size() context Loan inv wellFormedLoans: issueDate <= dueDate
50
April 200550 Information spec – Static schema
51
April 200551 Information spec – Dynamic schema
52
April 200552 Computational spec – (diff. example)
53
April 200553 Progress and Targets Start of ProjectMay 2003 SC7 WDMay 2004SC7 meeting 1st CDDec 2004 FCDMay 2005 SC7 meeting FDISDec 2005 ISMay 2006 SC7 meeting Current WD is available as ISO-stds/04-06-01
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.