Semantically Configurable Consistency Analysis for Class and Object Diagrams
Abstract
Checking consistency between an object diagram (OD) and a class diagram (CD) is an important analysis problem. However, several variations in the semantics of CDs and ODs, as used in different contexts and for different purposes, create a challenge for analysis tools. To address this challenge in this paper we investigate semantically configurable model analysis. We formalize the variability in the language’s semantics using a feature model: each configuration that the model permits induces a different semantics. Moreover, we develop a parametrized analysis that can be instantiated to comply with every legal configuration of the feature model. Thus, the analysis is semantically configured and its results change according to the semantics induced by the selected feature configuration. The ideas are implemented using a parametrized transformation to Alloy. The work can be viewed as a case study example for a formal and automated approach to handling semantic variability in modeling languages.
Keywords
Feature Model Object Model Class Diagram Parametrized Transformation Software Product LinePreview
Unable to display preview. Download preview PDF.
References
- 1.Alloy Analyzer website, http://alloy.mit.edu/ (accessed July 2011)
- 2.Anastasakis, K., Bordbar, B., Georg, G., Ray, I.: On challenges of model transformation from UML to Alloy. Software and Systems Modeling 9(1), 69–86 (2010)CrossRefGoogle Scholar
- 3.Batory, D.S.: Feature models, grammars, and propositional formulas. In: Obbink, H., Pohl, K. (eds.) SPLC 2005. LNCS, vol. 3714, pp. 7–20. Springer, Heidelberg (2005)CrossRefGoogle Scholar
- 4.Broy, M., Cengarle, M.V., Grönniger, H., Rumpe, B.: Considerations and Rationale for a UML System Model. In: Lano, K. (ed.) UML 2 Semantics and Applications. Wiley, Chichester (2009)Google Scholar
- 5.Broy, M., Cengarle, M.V., Grönniger, H., Rumpe, B.: Definition of the System Model. In: Lano, K. (ed.) UML 2 Semantics and Applications. Wiley, Chichester (2009)Google Scholar
- 6.Cabot, J., Clarisó, R., Riera, D.: UMLtoCSP: a tool for the formal verification of UML/OCL models using constraint programming. In: ASE, pp. 547–548. ACM, New York (2007)CrossRefGoogle Scholar
- 7.Cengarle, M.V., Grönniger, H., Rumpe, B.: System Model Semantics of Class Diagrams. Informatik-Bericht 2008-05, Technische Universität Braunschweig (2008)Google Scholar
- 8.Cengarle, M.V., Grönniger, H., Rumpe, B.: Variability within modeling language definitions. In: Schürr, A., Selic, B. (eds.) MODELS 2009. LNCS, vol. 5795, pp. 670–684. Springer, Heidelberg (2009)CrossRefGoogle Scholar
- 9.Czarnecki, K., Eisenecker, U.: Generative Programming Methods, Tools, and Applications. Addison-Wesley, Reading (2000)Google Scholar
- 10.Evans, A., France, R.B., Lano, K., Rumpe, B.: The UML as a Formal Modeling Notation. In: Bézivin, J., Muller, P.-A. (eds.) UML 1998. LNCS, vol. 1618, pp. 336–348. Springer, Heidelberg (1999)CrossRefGoogle Scholar
- 11.FreeMarker, http://freemarker.org/ (accessed July 2011)
- 12.Gogolla, M., Büttner, F., Richters, M.: USE: A UML-based specification environment for validating UML and OCL. Sci. Comput. Program 69(1-3), 27–34 (2007)CrossRefMATHMathSciNetGoogle Scholar
- 13.Jackson, D.: Software Abstractions: Logic, Language, and Analysis. MIT Press, Cambridge (2006)Google Scholar
- 14.Kästner, C., Thüm, T., Saake, G., Feigenspan, J., Leich, T., Wielgorz, F., Apel, S.: FeatureIDE: A tool framework for feature-oriented software development. In: ICSE, pp. 611–614 (2009)Google Scholar
- 15.Krahn, H., Rumpe, B., Völkel, S.: MontiCore: a framework for compositional development of domain specific languages. Int. J. on Software Tools for Technology Transfer (STTT) 12(5), 353–372 (2010)CrossRefGoogle Scholar
- 16.Lu, Y., Atlee, J.M., Day, N.A., Niu, J.: Mapping template semantics to SMV. In: ASE, pp. 320–325. IEEE Computer Society, Los Alamitos (2004)Google Scholar
- 17.Maoz, S., Ringert, J.O., Rumpe, B.: CD2Alloy: Class diagrams analysis using Alloy revisited. In: Whittle, J., Clark, T., Kühne, T. (eds.) MODELS. LNCS, vol. 6981, pp. 592–607. Springer, Heidelberg (2011)Google Scholar
- 18.Mendonça, M., Branco, M., Cowan, D.D.: S.P.L.O.T.: software product lines online tools. In: OOPSLA Companion, pp. 761–762 (2009), http://www.splot-research.org/
- 19.MontiCore project, http://www.monticore.org/
- 20.Niu, J., Atlee, J.M., Day, N.A.: Template semantics for model-based notations. IEEE Trans. Software Eng. 29(10), 866–882 (2003)CrossRefGoogle Scholar
- 21.Perlis, A.J.: Epigrams on programming. SIGPLAN Notices 17(9), 7–13 (1982)CrossRefGoogle Scholar
- 22.Prout, A., Atlee, J.M., Day, N.A., Shaker, P.: Semantically configurable code generation. In: Busch, C., Ober, I., Bruel, J.-M., Uhl, A., Völter, M. (eds.) MODELS 2008. LNCS, vol. 5301, pp. 705–720. Springer, Heidelberg (2008)CrossRefGoogle Scholar
- 23.Rumpe, B.: Modellierung mit UML. Springer, Heidelberg (2004)CrossRefMATHGoogle Scholar
- 24.Semantic variability project website, http://www.se-rwth.de/materials/semvar/
- 25.Simmonds, J., Bastarrica, M.C.: A tool for automatic UML model consistency checking. In: ASE, pp. 431–432. ACM, New York (2005)CrossRefGoogle Scholar
- 26.Soeken, M., Wille, R., Kuhlmann, M., Gogolla, M., Drechsler, R.: Verifying UML/OCL models using Boolean satisfiability. In: DATE, pp. 1341–1344. IEEE, Los Alamitos (2010)Google Scholar
- 27.Van Der Straeten, R., Mens, T., Simmonds, J., Jonckers, V.: Using Description Logic to Maintain Consistency between UML Models. In: Stevens, P., Whittle, J., Booch, G. (eds.) UML 2003. LNCS, vol. 2863, pp. 326–340. Springer, Heidelberg (2003)CrossRefGoogle Scholar
- 28.Taleghani, A., Atlee, J.M.: Semantic variations among UML stateMachines. In: Wang, J., Whittle, J., Harel, D., Reggio, G. (eds.) MoDELS 2006. LNCS, vol. 4199, pp. 245–259. Springer, Heidelberg (2006)CrossRefGoogle Scholar