The Community for Technology Leaders
RSS Icon
Subscribe
Issue No.11 - Nov. (2013 vol.39)
pp: 1531-1548
Alexander Reder , Johannes Kepler University Linz, Linz
Alexander Egyed , Johannes Kepler University Linz, Linz
ABSTRACT
When a software engineer finds an inconsistency in a model, then the first question is why? What caused it? Obviously, there must be an error. But where could it be? Or is the design rule erroneous and if yes then which part? The cause of an inconsistency identifies the part of the model or design rule where the error must be. We believe that the visualization of an inconsistency ought to visualize the cause. Understanding the cause is of vital importance before a repair can even be formulated. Indeed, any automation (e.g., code generation, refactoring) has to be considered with caution if it involves model elements that cause inconsistencies. This paper analyzes the basic structure of inconsistent design rules as well as their behavior during validation and presents an algorithm for computing its cause. The approach is fully automated, tool supported, and was evaluated on 14,111 inconsistencies across 29 design models. We found that our approach computes correct causes for inconsistencies, these causes are nearly always a subset of the model elements investigated by the design rules' validation (a naive cause computation approximation), and the computation is very fast (99.8 percent of the causes are computable in < 100 ms).
INDEX TERMS
Unified modeling language, Computational modeling, Context, Maintenance engineering, Visualization, Context modeling, Light emitting diodes,validation, Design tools and techniques, programming environments/construction tools
CITATION
Alexander Reder, Alexander Egyed, "Determining the Cause of a Design Model Inconsistency", IEEE Transactions on Software Engineering, vol.39, no. 11, pp. 1531-1548, Nov. 2013, doi:10.1109/TSE.2013.30
REFERENCES
[1] X. Blanc, A. Mougenot, I. Mounier, and T. Mens, "Incremental Detection of Model Inconsistencies Based on Model Operations," Proc. 21st Int'l Conf. Advanced Information Systems Eng., pp. 32-46, 2009.
[2] J. Cabot and E. Teniente, "Incremental Evaluation of OCL Constraints," Proc. Int'l Conf. Advanced Information Systems Eng., pp. 81-95, 2006.
[3] K. Czarnecki and K. Pietroszek, "Verifying Feature-Based Model Templates against Well-Formedness OCL Constraints," Proc. Fifth Int'l Conf. Generative Programming and Component Eng., pp. 211-220, 2006.
[4] H.K. Dam and M. Winikoff, "Supporting Change Propagation in UML Models," Proc. IEEE Int'l Conf. Software Maintenance, pp. 1-10, 2010.
[5] K.H. Dam and M. Winikoff, "Cost-Based BDI Plan Selection for Change Propagation," Proc. Seventh Int'l Joint Conf. Autonomous Agents and Multiagent Systems, pp. 217-224, 2008.
[6] A. Demuth, R.E. Lopez-Herrejon, and A. Egyed, "Constraint-Driven Modeling through Transformation," Proc. Fifth Int'l Conf. Theory and Practice of Model Transformations, pp. 248-263, 2012.
[7] X. Deng, V. Haarslev, and N. Shiri, "Measuring Inconsistencies in Ontologies," Proc. Fourth European Conf. Semantic Web: Research and Applications, pp. 326-340, 2007.
[8] A. Egyed, "Instant Consistency Checking for the UML," Proc. 28th Int'l Conf. Software Eng., pp. 381-390, 2006.
[9] A. Egyed, "Fixing Inconsistencies in UML Design Models," Proc. 29th Int'l Conf. Software Eng, pp. 292-301, 2007.
[10] A. Egyed, A. Demuth, A. Ghabi, R.E. Lopez-Herrejon, P. Mäder, A. Nöhrer, and A. Reder, "Fine-Tuning Model Transformation: Change Propagation in Context of Consistency, Completeness, and Human Guidance," Proc. Fourth Int'l Conf. Theory and Practice of Model Transformations, pp. 1-14, 2011.
[11] A. Egyed, E. Letier, and A. Finkelstein, "Generating and Evaluating Choices for Fixing Inconsistencies in UML Design Models," Proc. IEEE/ACM 23rd Int'l Conf. Automated Software Eng., pp. 99-108, 2008.
[12] A. Evans, R.B. France, K. Lano, and B. Rumpe, "The UML as a Formal Modeling Notation," Proc. First Int'l Workshop Unified Modeling Language: Beyond the Notation, pp. 336-348, 1998.
[13] A. Finkelstein, D.M. Gabbay, A. Hunter, J. Kramer, and B. Nuseibeh, "Inconsistency Handling in Multiperspective Specifications," Proc. Fourth European Software Eng. Conf., pp. 84-99, 1993.
[14] I. Groher, A. Reder, and A. Egyed, "Incremental Consistency Checking of Dynamic Constraints," Proc. 13th Int'l Conf. Fundamental Approaches Software Eng., pp. 203-217, 2010.
[15] J. Grundy, J. Hosking, and W.B. Mugridge, "Inconsistency Management for Multiple-View Software Development Environments," IEEE Trans. Software Eng., vol. 24, no. 11, pp. 960-981, Nov. 1998.
[16] D. Jackson, "Alloy: A Lightweight Object Modelling Notation," ACM Trans. Software Eng. and Methodology, vol. 11, no. 2, pp. 256-290, Apr. 2002.
[17] A. Kalyanpur, B. Parsia, E. Sirin, and J.A. Hendler, "Debugging Unsatisfiable Classes in OWL Ontologies," J. Web Semantics: Science, Services and Agents World Wide Web, vol. 3, no. 4, pp. 268-293, 2005.
[18] R. Kowalski, Logic for Problem-Solving, DCL Memo 75, Dept. of Artificial Intelligence, Univ. of Edinburg, 1974.
[19] M.H. Liffiton and K.A. Sakallah, "Algorithms for Computing Minimal Unsatisfiable Subsets of Constraints" J. Automated Reasoning, vol. 40, no. 1, pp. 1-33, 2008.
[20] C. Nentwich, L. Capra, W. Emmerich, and A. Finkelstein, "xlinkit: A Consistency Checking and Smart Link Generation Service," ACM Trans. Internet Technology, vol. 2, no. 2, pp. 151-185, 2002.
[21] C. Nentwich, W. Emmerich, and A. Finkelstein, "Consistency Management with Repair Actions," Proc. 25th Int'l Conf. Software Eng., pp. 455-464, 2003.
[22] A. Nöhrer, A. Biere, and A. Egyed, "Managing SAT Inconsistencies with HUMUS," Proc. Sixth Int'l Workshop Variability Modeling Software-Intensive Systems, pp. 83-91, 2012.
[23] OMG., "OCL 2.3.1 Specification," http://www.omg.org/spec/OCL2.3.1/, 2012.
[24] OMG., "UML 2.1 Specification," http:/www.uml.org/, 2012.
[25] L.J. Osterweil, H.D. Rombach, and M.L. Soffa, Proc. 28th Int'l Conf. Software Eng, 2006.
[26] A. Reder and A. Egyed, "Computing Repair Trees for Resolving Inconsistencies in Design Models," Proc. IEEE/ACM 27th Int'l Conf. Automated Software Eng., pp. 220-229, 2012.
[27] A. Reder and A. Egyed, "Incremental Consistency Checking for Complex Design Rules and Larger Model Changes," Proc. 15th Int'l Conf. Model Driven Eng. Languages and Systems, pp. 202-218, 2012.
[28] J.E. Robbins, "ArgoUML, v0.32.1," http:/argouml.tigris.org/, Mar. 2011.
[29] M.H. van Emden and R.A. Kowalski, "The Semantics of Predicate Logic as a Programming Language," J. ACM, vol. 23, pp. 733-742, Oct. 1976.
[30] M. Vierhauser, D. Dhungana, W. Heider, R. Rabiser, and A. Egyed, "Tool Support for Incremental Consistency Checking on Variability Models," Proc. Fourth Int'l Workshop Variability Modelling of Software-Intensive Systems, pp. 171-174, 2010.
[31] J. Winkelmann, G. Taentzer, K. Ehrig, and J.M. Küster, "Translation of Restricted OCL Constraints into Graph Constraints for Generating Meta Model Instances by Graph Grammars," Electronic Notes in Theoretical Computer Science, vol. 211, pp. 159-170, 2008.
[32] Y. Xiong, Z. Hu, H. Zhao, H. Song, M. Takeichi, and H. Mei, "Supporting Automatic Model Inconsistency Fixing," Proc. Seventh Joint Meeting European Software Eng. Conf. and ACM SIGSOFT Symp. Foundations of Software Eng., pp. 315-324, 2009.
[33] C. Xu, S.-C. Cheung, and W.K. Chan, "Incremental Consistency Checking for Pervasive Context," Proc. 28th Int'l Conf. Software Eng., pp. 292-301, 2006.
62 ms
(Ver 2.0)

Marketing Automation Platform Marketing Automation Tool