Consistent Adaptation and Evolution of Class Diagrams during Refinement

Software models are key in separating and solving independent development concerns. However, there is still a gap on how to transition design information among these separate, but related models during development and maintenance. This paper addresses the problem on how to maintain the consistency of UML class diagrams during various levels of refinement. We present a new approach to automated consistency checking called ViewIntegra. Our approach separates consistency checking into transformation and comparison. It uses transformation to translate model elements to simplify their subsequent comparison. Transformation-based consistency checking, in the manner we use it, is new since we use transformation to bridge the gap between software models. No intermediate models or model checkers are required; developers need only be familiar with the models they design with and none other. The separation of transformation and comparison makes our approach to consistency checking more transparent. It also makes our approach useful for both propagating design changes among models and validating consistency. This gives developers added flexibility in deciding when to re-generate a model from scratch or when to re- solve its inconsistencies. Although this paper emphasizes the adaptation and evaluation of class diagrams, we found our technique to be equally useful on other models. Our approach is tool supported.

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

[2]  L.J. Osterweil,et al.  Enhancing design methods to support real design processes , 1998, Proceedings Ninth International Workshop on Software Specification and Design.

[3]  Betty H. C. Cheng,et al.  A graphical environment for formally developing object-oriented software , 1994, Proceedings Sixth International Conference on Tools with Artificial Intelligence. TAI 94.

[4]  J. Jackson A keyphrase based traceability scheme , 1991 .

[5]  Reiko Heckel,et al.  A Combined Reference Model- and View-Based Approach to System Specification , 1997, Int. J. Softw. Eng. Knowl. Eng..

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

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

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

[9]  Cuauhtémoc Lemus Olalde,et al.  Multiple view analysis of designs , 1996, ISAW '96.

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

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

[12]  Xiaolei Qian,et al.  Correct Architecture Refinement , 1995, IEEE Trans. Software Eng..

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

[14]  Alexander Egyed,et al.  A Scenario-Driven Approach to Trace Dependency Analysis , 2003, IEEE Trans. Software Eng..

[15]  Bernd Krieg-Brückner,et al.  Knowledge-Based Transfonnational Programming. , 1992 .

[16]  Dewayne E. Perry Issues in process architecture , 1994, Proceedings. Ninth International Software Process Workshop.

[17]  Bashar Nuseibeh,et al.  Analysing inconsistent specifications , 1997, Proceedings of ISRE '97: 3rd IEEE International Symposium on Requirements Engineering.

[18]  L. R. Gieszl Traceability for integration , 1992, Proceedings of the Second International Conference on Systems Integration.

[19]  Ralf Steinbrüggen,et al.  Program Transformation Systems , 1983, CSUR.

[20]  John C. Grundy,et al.  Inconsistency Management for Multiple-View Software Development Environments , 1998, IEEE Trans. Software Eng..

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

[22]  Tom Mens,et al.  Using Description Logic to Maintain Consistency between UML Models , 2003, UML.