Automated abstraction of class diagrams

Designers can easily become overwhelmed with details when dealing with large class diagrams. This article presents an approach for automated abstraction that allows designers to "zoom out" on class diagrams to investigate and reason about their bigger picture. The approach is based on a large number of abstraction rules that individually are not very powerful, but when used together, can abstract complex class structures quickly. This article presents those abstraction rules and an algorithm for applying them. The technique was validated on over a dozen models where it was shown to be well suited for model understanding, consistency checking, and reverse engineering.

[1]  Ismaïl Khriss,et al.  Automating the Synthesis of UML StateChart Diagrams from Multiple Collaboration Diagrams , 1998, UML.

[2]  Ralph Johnson,et al.  design patterns elements of reusable object oriented software , 2019 .

[3]  Hartmut Ehrig,et al.  Consistency analysis of UML class and se-quence diagrams using attributed graph grammars , 2000 .

[4]  Olly Gotel,et al.  An analysis of the requirements traceability problem , 1994, Proceedings of IEEE International Conference on Requirements Engineering.

[5]  C Haythornwaite,et al.  Gamma, E., Helm, R., Johnson, R. & Vlissides, J. Design Patterns: Elements of Reusable Object Oriented Software. New York: Addison-Wesley, 1995. , 2002 .

[6]  Frank Tip,et al.  Reengineering class hierarchies using concept analysis , 1998, SIGSOFT '98/FSE-6.

[7]  Stanley M. Sutton,et al.  N degrees of separation: multi-dimensional separation of concerns , 1999, Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002).

[8]  David Notkin,et al.  Software reflexion models: bridging the gap between source and high-level models , 1995, SIGSOFT FSE.

[9]  Bashar Nuseibeh,et al.  Viewpoints: A Framework for Integrating Multiple Perspectives in System Development , 1992, Int. J. Softw. Eng. Knowl. Eng..

[10]  Stefan Sigfried Understanding object-oriented software engineering , 1996, Understanding science and technology series.

[11]  Bernhard Rumpe,et al.  The UML as a formal modeling notation , 1998, Comput. Stand. Interfaces.

[12]  Richard C. Holt,et al.  Using graph rewriting to specify software architectural transformations , 2000, Proceedings ASE 2000. Fifteenth IEEE International Conference on Automated Software Engineering.

[13]  David Garlan,et al.  Views for Tools in Integrated Environments , 1986, Advanced Programming Environments.

[14]  Chris D. Marlin,et al.  An Integrated Programming Environment Based on Multiple Concurrent Views , 1988, Aust. Comput. J..

[15]  Hausi A. Müller,et al.  Reverse engineering: a roadmap , 2000, ICSE '00.

[16]  Michael E. Fagan Advances in software inspections , 1986, IEEE Transactions on Software Engineering.

[17]  Alexander Egyed,et al.  A scenario-driven approach to traceability , 2001, Proceedings of the 23rd International Conference on Software Engineering. ICSE 2001.

[18]  Gunnar Overgaard A Formal Approach to Relationships in the Unified Modeling Language , 1998 .

[19]  Sergio J. Alvarado An Evaluation of Object-Oriented Architecture Models for Satellite Ground Systems , 1998 .

[20]  Betty H. C. Cheng,et al.  A general framework for formalizing UML with formal languages , 2001, Proceedings of the 23rd International Conference on Software Engineering. ICSE 2001.

[21]  Ismaïl Khriss,et al.  Algorithmic support for model transformation in object‐oriented software development , 2001, Concurr. Comput. Pract. Exp..

[22]  Ivar Jacobson,et al.  The Unified Modeling Language User Guide , 1998, J. Database Manag..

[23]  Bernhard Rumpe,et al.  The UML as a formal modeling notation , 1998, Comput. Stand. Interfaces.

[24]  Stefan Sigfried Understanding Object-Oriented Software Engineering; A Practical Approach , 1995 .

[25]  Barry Boehm,et al.  Heterogeneous view integration and its automation , 2000 .

[26]  Nenad Medvidovic,et al.  A Formal Approach to Heterogeneous Software Modeling , 2000, FASE.

[27]  Daniel Jackson,et al.  Software analysis: a roadmap , 2000, ICSE '00.

[28]  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.

[29]  Alexander Egyed,et al.  Statechart simulator for modeling architectural dynamics , 2001, Proceedings Working IEEE/IFIP Conference on Software Architecture.

[30]  Andy Schürr,et al.  Graph Grammar Engineering with PROGRES , 1995, ESEC.

[31]  Kai Koskimies,et al.  Automated Support for Modeling OO Software , 1998, IEEE Softw..