The Community for Technology Leaders
RSS Icon
Issue No.04 - July/August (2009 vol.35)
pp: 515-533
Wuwei Shen , Western Michigan University, Kalamazoo
Kun Wang , Siemens PLM Software, Ann Arbor
Alexander Egyed , Johannes Kepler University, Linz
Today, programmers benefit immensely from Integrated Development Environments (IDEs), where errors are highlighted within seconds of their introduction. Yet, designers rarely benefit from such an instant feedback in modeling tools. This paper focuses on the refinement of UML-style class models with instant feedback on correctness. Following the Model-Driven Architecture (MDA) paradigm, we strongly believe in the benefit of maintaining high-level and low-level models separately to 1) document the lower level model and 2) continuously ensure the correctness of the low-level model during later evolution (i.e., high- or low-level models may be evolved independently). However, currently the refinement and subsequent evolution lack automated support, let alone an instant feedback on their correctness (i.e., consistency). Traditional approaches to consistency checking fail here because of the computational cost of comparing class models. Our proposed instant approach first transforms the low-level model into an intermediate model that is then easier comparable with the high-level model. The key to computational scalability is the separation of transformation and comparison so that each can react optimally to changes—changes that could happen concurrently in both the high- and low-level class models. We evaluate our approach on eight third-party design models. The empirical data show that the separation of transformation and comparison results in a 6 to 11-fold performance gain and a ninefold reduction in producing irrelevant feedback. While this work emphasizes the refinement of class models, we do believe that the concepts are more generally applicable to other kinds of modeling languages, where transformation and subsequent comparison are computationally expensive.
Class models, consistency checking, refinement, separation of concerns, and UML.
Wuwei Shen, Kun Wang, Alexander Egyed, "An Efficient and Scalable Approach to Correct Class Model Refinement", IEEE Transactions on Software Engineering, vol.35, no. 4, pp. 515-533, July/August 2009, doi:10.1109/TSE.2009.26
[1] OMG, “Unified Modeling Language Specification Version 1.3,” OMG, 1999.
[2] M. Abi-Antoun and N. Medvidovic, “Enabling the Refinement of a Software Architecture into a Design,” Proc. Second Int'l Conf. Unified Modeling Language, 1999.
[3] M. Moriconi, X. Qian, and R.A. Riemenschneider, “Correct Architecture Refinement,” IEEE Trans. Software Eng., vol. 21, no. 4, pp. 356-372, Apr. 1995.
[4] G.C. Murphy, D. Notkin, and K.J. Sullivan, “Software Reflexion Models: Bridging the Gap between Design and Implementation,” IEEE Trans. Software Eng., vol. 27, no. 4, pp. 364-380, Apr. 2001.
[5] B.W. Boehm, C. Abts, A.W. Brown, S. Chulani, B.K. Clark, E. Horowitz, R. Madacy, D. Reifer, and B. Steece, Software Cost Estimation with COCOMO II. Prentice-Hall, 2000.
[6] R. Balzer, “Tolerating Inconsistency,” Proc. 13th Int'l Conf. Software Eng., pp. 158-165, 1991.
[7] S. Fickas, M. Feather, and J. Kramer, Proc. Int'l Conf. Software Eng. Workshop Living with Inconsistency, 1997.
[8] S. Easterbrook and B. Nuseibeh, “Using ViewPoints for Inconsistency Management,” IEE Software Eng. J., vol. 11, no. 1, pp. 31-43, Jan. 1996.
[9] J. Grundy, J. Hosking, and R. Mugridge, “Inconsistency Management for Multiple-View Software Development Environments,” IEEE Trans. Software Eng., vol. 24, no. 11, pp. 960-981, Nov. 1998.
[10] C. Nentwich, L. Capra, W. Emmerich, and A. Finkelstein, “xlinkit: A Consistency Checking and Smart Link Generation Service,” ACM Trans. Internet Technology, vol. 2, pp. 151-185, 2002.
[11] A. Egyed, “Instant Consistency Checking for the UML,” Proc. Int'l Conf. Software Eng., pp. 381-390, 2006.
[12] A. Egyed, “Automated Abstraction of Class Diagrams,” ACM Trans. Software Eng. Methodology, vol. 11, pp. 449-491, 2002.
[13] A. Egyed, “Compositional and Relational Reasoning during Class Abstraction,” Proc. Sixth Int'l Conf. Unified Modeling Language, pp.121-137, 2003.
[14] A. Egyed, “Consistent Adaptation and Evolution of Class Diagrams during Refinement,” Proc. Seventh Int'l Conf. Fundamental Approaches Software Eng., pp. 37-53. 2004.
[15] A. Egyed and P. Kruchten, “Rose/Architect: A Tool to Visualize Architecture,” Proc. 32nd Hawaii Int'l Conf. System Sciences, 1999.
[16] A. Egyed, W. Shen, and K. Wang, “Maintaining Life Perspectives during the Refinement of UML Class Structures,” Proc. Eighth Int'l Conf. Fundamental Approaches to Software Eng., pp. 310-325, 2005.
[17] J. Robbins and D. Redmiles, “Cognitive Support, UML Adherence, and XMI Interchange in Argo/UML,” Proc. Int'l Conf. Construction Software Eng. Tools, pp. 61-70, 1999.
[18] S.L. Pfleeger and S.A. Bohner, “A Framework for Software Maintenance Metrics,” IEEE Trans. Software Eng., vol. 16, pp.320-327, 1990.
[19] K.J. Lieberherr, W.L. Hursch, and C. Xiao, “Object-Extending Class Transformations,” J. Formal Aspects Computing, vol. 6, pp.391-416, 1994.
[20] J. Whittle, “Transformations and Software Modeling Languages: Automating Transformations in UML,” Proc. Fifth Int'l Conf. Unified Modeling Language, pp. 227-242, 2002.
[21] W. Shen and W.L. Low, “Using the Metamodel Mechanism to Support Class Refinement,” Proc. 10th Int'l Conf. Eng. Complex Computer Systems, pp. 421-430, 2005.
[22] B. Berenbach, “The Evaluation of Large, Complex UML Analysis and Design Model,” Proc. 26th Int'l Conf. Software Eng., pp. 232-241, 2004.
[23] A. Tsiolakis and H. Ehrig, “Consistency Analysis of UML Class and Sequence Diagrams Using Attributed Graph Grammars,” Proc. Workshop Graph Transformation Systems, pp.77-86, 2000.
[24] G. Engels, R. Heckel, and J.M. Küster, “Rule-Based Specification of Behavioral Consistency Based on the UML Meta-Model,” Proc. Fourth Int'l Conf. Unified Modeling Language, Modeling Languages, Concepts, Tools, pp. 272-286, 2001.
[25] R. van Der Straeten, T. Mens, J. Simmonds, and V. Jonckers, “Using Description Logic to Maintain Consistency between UML Models,” Proc. Sixth Int'l Conf. Unified Modeling Language, 2003.
[26] R.H. Bourdeau and B.H.C. Cheng, “A Formal Semantics for Object Model Diagrams,” IEEE Trans. Software Eng., vol. 21, no. 10, pp.799-821, Oct. 1995.
[27] C.A.R. Hoare, Communicating Sequential Process. Prentice-Hall, 1985.
[28] J.B. Abrial, The B-Book. Cambridge Univ. Press, 1996.
[29] J.M. Spivey, The Z Notation: A Reference Manual. Prentice-Hall, 1989.
[30] The Description Logic Handbook: Theory, Implementation and Applications, F. Badder, D. Calvanese, D. McGuinness, D. Nardi, and P.Patel-Schneider, eds. Cambridge Univ. Press, 2003.
[31] H. Rasch and H. Wehrheim, “Checking Consistency in UML Diagrams: Classes and State Machines,” Proc. Sixth IFIP WG 6.1 Int'l Conf. Formal Methods Open Object-Based Distributed Systems, pp. 229-243, 2003.
[32] F.S.E. Ltd., Failures-Divergence Refinement: FDR2 User Manual, 1997.
[33] W.L. Yeung, “Checking Consistency between UML Class and State Models Based on CSP and B,” J. Universal Computer Science, vol. 10, pp. 1540-1559, 2004.
[34] H. Treharne and S. Schneider, “Using a Process Algebra to Control B OPERATIONS,” Proc. First Int'l Conf. Integrated Formal Methods, pp. 437-457, 1999.
[35] A. Finkelstein, D. Gabbay, A. Hunter, J. Kramer, and B. Nuseibeh, “Inconsistency Handling in Multi-Perspective Specifications,” IEEE Trans. Software Eng., vol. 20, pp. 569-578, 1994.
[36] S. Yao and S. Shatz, “Consistency Checking of UML Dynamic Models Based on Petri Net Techniques,” Proc. 15th Int'l Conf. Computing, pp. 289-297, 2006.
[37] R. Wagner, H. Giese, and U. Nickel, “A Plug-In for Flexible and Incremental Consistency Management,” Proc. Workshop Consistency Problems UML-Based Software Development II, 2003.
[38] A. Egyed, “Fixing Inconsistencies in UML Design Models,” Proc. Int'l Conf. Software Eng., pp. 292-301, 2007.
[39] C. Nentwich, W. Emmerich, and A. Finkelstein, “Consistency Management with Repair Actions,” Proc. 25th Int'l Conf. Software Eng., pp. 455-464, 2003.
[40] S. Johann and A. Egyed, “Instant and Incremental Transformation of Models,” Proc. 19th Int'l Conf. Automated Software Eng., pp. 362-365, 2004.
[41] B. Meyer, Object-Oriented Software Construction. Prentice-Hall, 1997.
[42] E. Gamma, R. Helm, R. Johnson, and J. Vlissides, Design Patterns Elements of Reusable Object-Oriented Software. Addison-Wesley, 1994.
[43] G. Booch, R. Maksimchuk, M. Engle, B. Young, J. Conallen, and K. Houston, Object-Oriented Analysis and Design with Applications, third ed. Addison-Wesley, 2007.
34 ms
(Ver 2.0)

Marketing Automation Platform Marketing Automation Tool