Modeling Dynamic Software Components with UML

UML provides modeling support for static software components through hierarchical packages. We describe a small extension of UML for modeling dynamic software components which can be instantiated at runtime, customized, made persistent, migrated and be aggregated to larger components. For example, this extension can be used to describe systems built with JavaBeans, ActiveX-Controls, Voyager Agents or CORBA Objects by Value. With our extension, the lifecycle of a dynamic software component can be expressed in terms of UML. We can not only describe a system at design time, but also monitor its runtime behaviour. A re-engineering tool is presented that exploits our UML extension for a high-level visualization of the interaction between dynamic components in an object-oriented system.

[1]  Ivar Jacobson,et al.  The unified modeling language reference manual , 2010 .

[2]  Doug Kimelman,et al.  Modeling Object-Oriented Program Execution , 1994, ECOOP.

[3]  Clemens A. Szyperski,et al.  Component software - beyond object-oriented programming , 2002 .

[4]  Hanspeter Mössenböck,et al.  Scene: using scenario diagrams and active text for illustrating object-oriented programs , 1996, Proceedings of IEEE 18th International Conference on Software Engineering.

[5]  Franco Civello,et al.  Roles for composite objects in object-oriented analysis and design , 1993, OOPSLA '93.

[6]  Ole Lehrmann Madsen,et al.  Object-oriented programming in the BETA programming language , 1993 .

[7]  Danny B. Lange,et al.  Interactive visualization of design patterns can help in framework understanding , 1995, OOPSLA.

[8]  Jerome A. Feldman,et al.  Portable, modular expression of locality , 1997 .

[9]  Bruno Achauer,et al.  The DOWL distributed object-oriented language , 1993, CACM.

[10]  Eric Jul Object mobility in a distributed object-oriented system , 1990 .

[11]  Bertrand Meyer,et al.  Object-Oriented Software Construction, 2nd Edition , 1997 .

[12]  Roy H. Campbell,et al.  Architecture-oriented visualization , 1996, OOPSLA '96.

[13]  Joseph Gil,et al.  Environmental acquisition: a new inheritance-like abstraction mechanism , 1996, OOPSLA '96.

[14]  Luca Cardelli,et al.  Mobile Ambients , 1998, FoSSaCS.

[15]  Florian Matthes,et al.  Persistent Threads , 1994, VLDB.

[16]  Winfried Lamersdorf,et al.  Dejay: unifying concurrency and distribution to achieve a distributed Java , 1999, Proceedings Technology of Object-Oriented Languages and Systems. TOOLS 29 (Cat. No.PR00275).

[17]  Jan Vitek,et al.  Flexible Alias Protection , 1998, ECOOP.