Maintaining Life Perspectives During the Refinement of UML Class Structures

Models provide an alternative perspective for the understanding of a software system. However, models reflect the state of the system at the time of their creation (or last updating) but they do not reflect intermediate changes during the system's evolution. Depicting perspectives without showing changes is like watching a movie through a small set of still pictures (i.e., no motion). This paper demonstrates this problem on an existing technique for the automated simplification (abstraction) of class diagrams. We will show that it is computationally feasible to maintain a set of abstract perspectives of a class structure such that evolutionary changes to the class structure are instantly perceived through its perspectives. For developers, this provides the ability to understand changes to systems from the modeling perspectives they care about. It also gives the developers the confidence that their modeling perspectives remain up-to-date with the system even while the system evolves.

[1]  Mary Shaw,et al.  Software architecture - perspectives on an emerging discipline , 1996 .

[2]  Cristina V. Lopes,et al.  Aspect-oriented programming , 1999, ECOOP Workshops.

[3]  Alexander Egyed,et al.  Compositional and Relational Reasoning during Class Abstraction , 2003, UML.

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

[5]  Alexander Egyed,et al.  Integrating COTS Software into Systems through Instrumentation and Reasoning , 2006, Automated Software Engineering.

[6]  Barry W. Boehm,et al.  Using the WinWin Spiral Model: A Case Study , 1998, Computer.

[7]  Gregor Kiczales,et al.  Aspect-oriented programming , 2001, ESEC/FSE-9.

[8]  Alexander Egyed Automated abstraction of class diagrams , 2002, TSEM.

[9]  Philippe Kruchten,et al.  Rose/Architect: a tool to visualize architecture , 1999, Proceedings of the 32nd Annual Hawaii International Conference on Systems Sciences. 1999. HICSS-32. Abstracts and CD-ROM of Full Papers.

[10]  Robert S. Arnold,et al.  Software Change Impact Analysis , 1996 .

[11]  Alexander Egyed Semantic abstraction rules for class diagrams , 2000, Proceedings ASE 2000. Fifteenth IEEE International Conference on Automated Software Engineering.

[12]  Wendy Roll Towards model-based and CCM-based applications for real-time systems , 2003, Sixth IEEE International Symposium on Object-Oriented Real-Time Distributed Computing, 2003..