Modeling Deployment and Configuration of CORBA Systems with UML Alan D. Sloane EMC Ireland Ovens, Co. Cork, Ireland +353-21-281908
[email protected] ABSTRACT An area of CORBA-based distributed systems which has been difficult to design and document is that of deployment of server components and configuration information.
-
It facilitates analysis of the relative advantages of different approaches to configuration, for example distributed versus centralized; fault tolerance and scalability.
This poster shows by way of an example taken from a health-care system how UML Deployment Diagrams can be used to model configuration in a system based on Iona Technologies' Orbix. Using the UML models we compare several different centralized and distributed approaches.
-
It facilitates the development of installation and configuration scripts and tools.
We conclude by examining how extensions made to UML in recent revisions enhance the utility of our approach. Keywords UML, CORBA, System Configuration 1 INTRODUCTION Martin Fowler in 1997 commented that UML Deployment Diagrams "will become more central as we wrestle more and more with distributed systems", [1]. To date Deployment Diagrams have been a little-used feature of the UML and their use has been confined to modeling the deployment of server and client processes. An aspect of distributed systems which is important in practice is designing and documenting the organization of configuration information. Such information is required for initial bootstrap of the system, for configuration of parameters of server components, and for inter-component communication. In this poster we show how UML Deployment Diagrams can be used to model the design of configuration in a CORBA-based distributed system. This approach has several benefits: -
It documents the information in a well-known and standardized language and notation
3HUPLVVLRQWRPDNHGLJLWDORUKDUGFRSLHVRISDUWRUDOORIWKLVZRUNIRU SHUVRQDORUFODVVURRPXVHLVJUDQWHGZLWKRXWIHHSURYLGHGWKDWFRSLHV DUHQRWPDGHRUGLVWULEXWHGIRUSURILWRUFRPPHUFLDODGYDQWDJHDQGWKDW FRSLHVEHDUWKLVQRWLFHDQGWKHIXOOFLWDWLRQRQWKHILUVWSDJH7RFRS\ RWKHUZLVHWRUHSXEOLVKWRSRVWRQVHUYHUVRUWRUHGLVWULEXWHWROLVWVUHTXLUHV SULRUVSHFLILFSHUPLVVLRQDQGRUDIHH ,&6(/LPHULFN,UHODQG $&0«
2 EXAMPLE SYSTEM The system modeled was a large-scale deployment in the health-care domain. The system was composed of customdeveloped software and third-party packages (COTS) integrated through the Orbix CORBA system, [2]. From the Deployment Diagrams we derived a tabular comparison of the relative advantages of each approach. In addition we derived system installation, startup, and reconfiguration scripts. The principal differences between the approaches are in how well they allow the system to scale up from a single server; support for load distribution on the server side; and ease of installation and update – mostly a concern on the client side. 3 UML EXTENSIONS In the work described we had to improvise somewhat beyond the original UML and the support for it in the design tool used, with most configuration information stored as unstructured “Notes”. More recent revisions of the UML specification, [3], [4] have added support for multiple types of component (both process and data), hierarchical nesting and stereotypes. REFERENCES 1. Fowler, M. UML Distilled: Applying the Standard Object Modeling Language. Addison-Wesley, 1997. 2.
Baker, S. Corba Distributed Objects : Using Orbix. Addison-Wesley, 1997.
3.
Object Management Group. OMG Unified Modeling Language Specification, Version 1.3. OMG (June 1999). Available at .
4.
Kobryn, C. UML 2001: a standardization odyssey. Communications of the ACM, 42, 10 (October 1999), 29-37.
Proceedings of the 22nd International Conference on Software Engineering (ICSE’00) 0-58113-206-9/00 $ 10.00 © 2000 ACM