ABSTRACT
Inconsistencies in design models should be detected immediately to save the engineer from unnecessary rework. Yet, tools are not capable of keeping up with the engineers' rate of model changes. This paper presents an approach for quickly, correctly, and automatically deciding what consistency rules to evaluate when a model changes. The approach does not require consistency rules with special annotations. Instead, it treats consistency rules as black-box entities and observes their behavior during their evaluation to identify what model elements they access. The UML/Analyzer tool, integrated with IBM Rational Rose™, fully implements this approach. It was used to evaluate 29 models with tens-of-thousands of model elements, evaluated on 24 types of consistency rules over 140,000 times. We found that the approach provided design feedback correctly and required, in average, less than 9ms evaluation time per model change with a worst case of less than 2 seconds at the expense of a linearly increasing memory need. This is a significant improvement over the state-of-the-art.
- Balzer, R.: Tolerating Inconsistency, Proceedings of 13th International Conference on Software Engineering (ICSE), May 1991, pp.158--165. Google ScholarDigital Library
- Belkhouche, B. and Lemus, C.: Multiple View Analysis and Design, Proceedings of the International Workshop on Viewpoint: Multiple Perspectives in Software Development, October 1996. Google ScholarDigital Library
- Cheng, B. H. C., Wang, E. Y., and Bourdeau, R. H.: A Graphical Environment for Formally Developing Object-Oriented Software, Proceedings of IEEE International Conference on Tools with AI, November 1994.Google ScholarCross Ref
- Movie Player at http://peace.snu.ac.kr/dhkim/java/MPEG/.Google Scholar
- Egyed A. and Balzer B.: Integrating COTS Software into Systems through Instrumentation and Reasoning. Journal of Automated Software Engineering (JASE) 13(1), 2006, 41--64. Google ScholarDigital Library
- Emmerich, W.: GTSL | An Object-Oriented Language for Specication of Syntax Directed Tools, Proceedings of the 8th International Workshop on Software Speciation and Design, 1996, pp.26--35. Google ScholarDigital Library
- Fickas, S., Feather, M., Kramer, J.: Proceedings of the Workshop on Living with Inconsistency. Boston, USA, 1997.Google Scholar
- Finkelstein A., Gabbay D., Hunter A., Kramer J., and Nuseibeh B.: Inconsistency Handling in Multi-Perspective Specifications, IEEE Transactions on Software Engineering (TSE) 20(8), 1994, 569--578. Google ScholarDigital Library
- Habermann A. N. and Notkin D.: Gandalf: Software Development Environments. IEEE Transactions on Software Engineering, 12(12), 1986, 1117. Google ScholarDigital Library
- Hunter A. and Nuseibeh B.: Managing Inconsistent Specifications: Reasoning, Analysis, and Action. ACM Transactions on Software Engineering and Methodology 7(4), 1998, 335--367. Google ScholarDigital Library
- Kaplan, S. M. and Kaiser, G. E.: Incremental attribute evaluation in distributed language-based environments, Proceedings of the 5th ACM Symposium on Principles of Distributed Computing, Calgary, Canada, 1986, pp.121--130. Google ScholarDigital Library
- Mackworth A. K.: Consistency in Networks of Relations. Journal of Artificial Intelligence, 8(1), 1977, 99--118.Google ScholarDigital Library
- Nentwich C., Capra L., Emmerich W., and Finkelstein A.: xlinkit: a consistency checking and smart link generation service. ACM Transactions on Internet Technology (TOIT) 2(2), 2002, 151--185. Google ScholarDigital Library
- Nuseibeh, B. and Russo, A.: On the Consequences of Acting in the Presence of Inconsistency, Proceedings of the 9th International Workshop on Software Specification & Design, Ise-Shima, Japan, April 1998, pp.156--158. Google ScholarDigital Library
- Robins, J. and others: "ArgoUML," http://argouml.tigris.org/.Google Scholar
- Roussopoulos N.: An Incremental Access Method for ViewCache: Concept, Algorithms, and Cost Analysis. ACM Transactions on Database Systems 16(3), 1991, 535--563. Google ScholarDigital Library
- Taylor, R. N., Selby, R. W., Young, M., Belz, F. C., Clarce, L. A., Wileden, J. C., Osterweil, L., and Wolf, A. L.: Foundations of the Arcadia Environment Architecture, Proceedings of the 4th ACM SIGSOFT Symposium on Software Development Environments, Irvine, CA, 1998. Google ScholarDigital Library
- Tsiolakis, A. and Ehrig, H.: Consistency Analysis of UML Class and Sequence Diagrams using Attributed Graph Grammars, Proceedings of Workshop on Graph Transformation Systems (GRATRA), March 2000, pp.77--86.Google Scholar
- Unified Modeling Language (UML) at http://www.omg.org/.Google Scholar
- van Der Straeten, R., Mens, T., Simmonds, J., and Jonckers, V.: Using Description Logic to Maintain Consistency between UML Models, Proceedings of 6th International Conference on the Unified Modeling Language (UML 2003), October 2003.Google ScholarCross Ref
Index Terms
- Instant consistency checking for the UML
Recommendations
UML consistency rules: a systematic mapping study
EASE '14: Proceedings of the 18th International Conference on Evaluation and Assessment in Software EngineeringContext: The Unified Modeling Language (UML), with its 14 different diagram types, is the de-facto standard modeling language for object-oriented modeling and documentation. Since the various UML diagrams describe different aspects of one, and only one, ...
Model checking dynamic UML consistency
ICFEM'06: Proceedings of the 8th international conference on Formal Methods and Software EngineeringUML is widely accepted and extensively used in software modeling. However, using different diagrams to model different aspects of a system brings the risk of inconsistency among diagrams. In this paper, we investigate an approach to check the ...
The approach of ensuring consistency of UML model based on rules
CompSysTech '10: Proceedings of the 11th International Conference on Computer Systems and Technologies and Workshop for PhD Students in Computing on International Conference on Computer Systems and TechnologiesExpressing information system (IS) through multiple models is related with inconsistency problem, sometimes ambiguous or even contradictory information are provided in different aspect models. Unified modelling language (UML) is often used in practice ...
Comments