Abstract
The Object Constraint Language (OCL) is a notational language for analysis and design of software systems, which is used in conjunction with the Unified Modelling Language (UML) to specify the semantics of the building blocks precisely. OCL can also be used by other languages, notations, methods and software tools in order to specify restrictions and other expressions of their models. Likewise, OCL is used by the Object Management Group (OMG) in the definition of other fast spreading industrial standards such as Meta Object Facility (MOF) or XML Metadata Interchange (XMI).
Support tools aimed at making this language easier to use are becoming available. These tools are capable of supporting and handling OCL expressions. This paper presents a comparative study of the main tools currently available, both commercial and freely available ones. The study is very practical, with the advantages and disadvantages of the different tools being pointed out. The evaluations made may be of use in helping those developers and analysts who already use the language, as well as those who intend to use it in the near future, to choose the OCL tool which best adapts to their requirements.
Similar content being viewed by others
References
Argo/UML. 2001. ArgoUML: The Cognitive CASE Tool. http://www.ArgoUML.com
Catalysis Resource Center. 2000. Catalysis Benefits in Lay Terms. http://www.platinum.com/consult/crc/benefits.htm
Cook, S., Daniels, J.: Designing Object Systems: Object-Oriented Modeling with Syntropy. Prentice Hall, 1994
Cybernetic Intelligence GmbH. OCL Compiler. Version 1.5 for SELECT Enterprise 6.x, 2003. http://www.cybernetic.org
Dresden University of Technology. 2000. OCL Parser. http://dresden-ocl.sourceforge.net/index.html
Fernández, J.L., Toval, A.: Can Intuition Become Rigorous? Foundations for UML Model Verification Tools. Int. Sym. on Sof. Reliability Eng. (ISSRE 2000), IEEE Press, 2000
Galán, F.J., Cañete, J. M., and Toro, M.: Filling the Gap between Specification and Implementation of Software Systems by an executable code Generator of UML/OCL models. Proc. of the XII Int. Conf. of Sof. and Sys. Eng. and their Appl. Paris. Sept., 1999
Gómez, J., Cachero, C., Pastor, O.: Conceptual Modelling of Device-Independent Web Applications. IEEE Multimedia, 2001, pp. 26–39
Gottesdiener, E.: Turning rules into requirements. Application Development Trends, 1999. http://www.adtmag.com/Pub/jul99/fe7029907.asp
Hussmann, H., Demuth, B., Finger, F.: Modular Architecture for a Toolset Supporting OCL. Dresden University of Technology, Department of Computer Science, 2000
IBM. The Object Constraint Language, 1997–2000. http://www-3.ibm.com/software/ad/library/standards/ocl.html
Meyer, B.: Object-Oriented Software Construction. 2nd. Edition. Prentice Hall, 1997
Moros, B., Nicolás, J., Molina, J. G., Toval, A.: Combining Formal Specifications with Design by Contract. Journal of Object-Oriented Programming JOOP. V. 12, N. 9, 2000
Object by Design. UML Modelling Tools, 2003. www.objectsbydesign.com/tools/umltools_byPlatform.html
Object Management Group, Inc. 1999. UML v. 1.3 specification. http://www.omg.org/cgi-bin/doc?ad/99-06-08.
Object Management Group, Inc. Meta Object Facility (MOF) Version 1.3, 2000. ftp://ftp.omg.org/pub/docs/formal/00-04-03.pdf
Object Management Group, Inc.: XML Metadata Interchange (XMI) Version 1.1′′, 2000. http://www.omg.org/technology/documents/formal/xmi.htm
Object Management Group, Inc.: UML 1.4 specification, 2001. http://www.omg.org/technology/documents/formal/uml.htm
Object Management Group, Inc.: Model Driven Architecture, 2002. http://www.omg.org/mda
Rational Software Corporation et alter.: Object Constraint Language Specification, version 1.3, 2000. http://www.rational.com
Richters, M.: UML-based Specification Environment, 2001. http://www.db.informatik.uni-bremen.de/projects/USE
Richters, M., Gogolla, M.: OCL – Syntax Semantics and Tools. Advances in Object Modelling with the OCL, LNCS, vol. 2263. Springer, Berlin, 2001
SUN Microsystems, Inc. 2002. http://java.sun.com
Toval, A., Fernández, J.L.: Formally Modelling UML and its Evolution: a Holistic Approach. Proc. of Formal Methods for Open Object-Based Distributed Systems (FMOODS 2000), Kluwer Academic Publishers, 2000
Toval, A., Fernández, J.L.: Improving System Reliability via Rigorous Software Modeling: The UML Case. Proceedings of the 2001 IEEE Aerospace Conference (Track 10: Software and Computing), Montana, USA, IEEE Computer Society, 2001
Toval, A., Nicolás, J., Moros, B., García, F.: Requirements Reuse for Improving Information Systems Security. Requirements Engineering Journal 6(4): 205–219, 2002
Warmer, J.: OCL Checker, 2000. http://www.klasse.nl/ocl/index.html
Warmer, J., Kleppe, A.: OCL: The Object Constraint Language for the UML. Journal of Object-Oriented Programming JOOP, 12(2): 10–13, 1999
Warmer, J., Kleppe, A.: The Object Constraint Language: Precise Modeling With UML. Addison-Wesley, Reading, MA, 1999
Author information
Authors and Affiliations
Corresponding authors
Rights and permissions
About this article
Cite this article
Toval, A., Requena, V. & Fernández, J. Emerging OCL tools. Softw Syst Model 2, 248–261 (2003). https://doi.org/10.1007/s10270-003-0031-0
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10270-003-0031-0