Abstract
Since several years, the Object Constraint Language (OCL) is a central component in modeling and transformation languages like the Unified Modeling Language, the Meta Object Facility, and Query View Transformation. Consequently, approaches MDE (Model-Driven Engineering) depend on this language. OCL is present not only in areas influenced by the OMG but also in the Eclipse Modeling Framework (EMF). Thus the quality of OCL and its realization in tools seems to be crucial for the success of model-driven development. Surprisingly, up to now a benchmark for OCL to measure quality properties has not been proposed. This paper puts forward in the first part the concepts of a comprehensive OCL benchmark. Our benchmark covers (1) OCL engine accuracy (e.g., for the handling of the undefined value, the use of variables and the implementation of OCL standard operations), (2) OCL engine determinateness properties (e.g., for the collection operations ‘any’ and ‘flatten’), and (3) OCL engine efficiency (for data type and user-defined operations). In the second part, this paper empirically evaluates the proposed benchmark concepts by examining several OCL tools. The paper clarifies a number of differences in handling particular language features and under specifications in the OCL standard.
Similar content being viewed by others
References
OMG (ed.): Object constraint language 2.0 (formal/06-05-01) (2006). http://www.omg.org
Warmer J., Kleppe A.: The Object Constraint Language: Precise Modeling with UML, 2nd edn. Addison-Wesley, Reading (2003)
ATL-Team: ATL development tools (2008). http://www.sciences.univ-nantes.fr/lina/atl/atldemo/adt
MDT-OCL-Team: MDT OCL (2008). http://www.eclipse.org/modeling/mdt/?project=ocl
Ziemann, P., Gogolla, M.: OCL extended with temporal logic. In: Proceedings of Ershov Memorial Conference. LNCS, vol. 2890, pp. 351–357 (2003)
Flake, S., Müller, W.: An OCL extension for real-time constraints. In: Object Modeling with OCL. LNCS, vol. 2263, pp. 150–171 (2002)
Gogolla M., Kuhlmann M., Büttner F.: A benchmark for OCL engine accuracy, determinateness, and efficiency. In: Czarnecki, K. (eds) Proceedings of 11th International Conference on Model Driven Engineering Languages and Systems (MoDELS’2008). LNCS, vol. 5301, pp. 446–459. Springer, Berlin (2008)
Dresden-OCL-Team: Dresden OCL Toolkit (2008). http://dresden-ocl.sourceforge.net
Chiorean, D., OCLE-Team: Object constraint language environment 2.0 (2008). http://lci.cs.ubbcluj.ro/ocle
Kleppe, A., Warmer, J.: Octopus: OCL tool for precise UML specifications (2008). http://octopus.sourceforge.net
RoclET-Team: Welcome to RoclET (2008). http://www.roclet.org
Gogolla M., Büttner F., Richters M.: USE: A UML-based specification environment for validating UML and OCL. Sci. Comput. Program. 69, 27–34 (2007)
Kermeta-Team: Kermeta: breathe life into your metamodels (2008). http://www.kermeta.org
Akehurst, D., Patrascoiu, O.: KMF (Kent Modeling Framework) OCL library (2008). http://www.cs.kent.ac.uk/projects/ocl/tools.html
Hein, C., Ritter, T., Wagner, M.: Open source library for OCL (OSLO) (2008). http://oslo-project.berlios.de
VMTS-Team: Visual model and transformation system (VMTS) (2008). http://vmts.aut.bme.hu
Kuhlmann, M., Hamann, L., Gogolla, M., Büttner, F.: OCL benchmark (2010). http://www.db.informatik.uni-bremen.de/publications/OCLbench/
Clavel, M., Egea, M., de Dios, M.A.G.: Building an efficient component for OCL evaluation. In: 8th OCL Workshop at the UML/MoDELS Conferences: OCL Concepts and Tools (2008)
National Institute of Standards and Technology: Conformance Test Suite Software. http://www.itl.nist.gov/div897/ctg/software.htm
Gray, M., Goldfine, A., Rosenthal, L., Carnahan, L.: Conformance testing. http://xml.coverpages.org/conform20000112.html
Gaudel, M.C.: Testing can be formal, too. In: TAPSOFT ’95: Proceedings of the 6th International Joint Conference CAAP/FASE on Theory and Practice of Software Development, pp. 82–96. Springer, Berlin (1995)
Bunyakiati, P., Finkelstein, A., Rosenblum, D.: The certification of software tools with respect to software standards. 724–729 (2007)
Afanasiev, L., Marx, M.: An analysis of the current XQuery benchmarks. In: International Workshop on Performance and Evaluation of Data Management Systems (EXPDB) (2006)
Sim, S.E., Easterbrook, S., Holt, R.C.: Using benchmarking to advance research: a challenge to software engineering. In: ICSE ’03: Proceedings of the 25th International Conference on Software Engineering, pp. 74–83. IEEE Computer Society, Washington, DC (2003)
Pfaller, C., Wagner, S., Gericke, J., Wiemann, M.: Multi-dimensional measures for test case quality. In: Software Testing Verification and Validation Workshop, 2008. ICSTW ’08. IEEE International Conference on April 2008, pp. 364–368
OMG (ed.): Object Constraint Language 2.2 - Beta 2 (ptc/2009-05-02) (2009). http://www.omg.org.
Kuhlmann, M., Gogolla, M.: Analyzing semantic properties of OCL operations by uncovering interoperational relationships. In: Electronic Communications of the EASST. UML/MoDELS Workshop on OCL (OCL4ALL’2007), vol. 9, 17p. http://eceasst.cs.tu-berlin.de/index.php/eceasst (2008)
Gogolla M., Bohling J., Richters M.: Validating UML and OCL models in USE by automatic snapshot generation. J. Softw. Syst. Model. 4(4), 386–398 (2005)
Schürr A.: A new type checking approach for OCL version 2.0?. In: Clark T. In: Warmer, J. (eds) Object Modeling with the OCL: The Rationale behind the Object Constraint Language, pp. 21–41. Springer, Berlin (2002)
Author information
Authors and Affiliations
Corresponding author
Additional information
Communicated by Prof. Krzysztof Czarnecki.
Rights and permissions
About this article
Cite this article
Kuhlmann, M., Hamann, L., Gogolla, M. et al. A benchmark for OCL engine accuracy, determinateness, and efficiency. Softw Syst Model 11, 165–182 (2012). https://doi.org/10.1007/s10270-010-0174-8
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10270-010-0174-8