Abstract
The Object Constraint Language (OCL) can be used to capture structural constraints in the context of the abstract syntax of modelling languages (metamodels) defined in the MOF metamodelling architecture. While the expression language of OCL has been revised and updated a number of times since its inception, the constructs used for capturing constraints (invariants) have remained unchanged. In this paper we argue that the abstract and concrete syntax of OCL invariants should also be updated to address a number of shortcomings and render OCL more usable in a contemporary modelling environment. To support our arguments we have implemented the proposed extensions in the prototype Epsilon Validation Language (EVL). To demonstrate the benefits delivered, we present and discuss a concrete example.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Object Management Group. Meta Object Facility (MOF) 2.0 Core Specification, http://www.omg.org/cgi-bin/doc?ptc/03-10-04
Object Management Group. UML 2.0 OCL Specification, http://www.omg.org/docs/ptc/03-10-14.pdf
Burdy, L., Cheon, Y., Cok, D., Ernst, M., Kiniry, J., Leavens, G.T., Leino, K.R.M., Poll, E.: An overview of JML tools and applications. International Journal on Software Tools for Technology Transfer 7(3), 212–232 (2005)
Barnett, M., DeLine, R., Jacobs, B., Fähndrich, M., Leino, K.R.M., Schulte, W., Venter, H.: The Spec# programming system: Challenges and directions. In: Meyer, B., Woodcock, J. (eds.) VSTTE 2005. LNCS, vol. 4171, pp. 144–152. Springer, Heidelberg (2008)
Meyer, B.: Object-Oriented Software Construction, 2nd edn. Prentice-Hall, Englewood Cliffs (1997)
Kolovos, D.S.: Extensible Platform for Specification of Integrated Languages for mOdel maNagement (Epsilon), http://www.cs.york.ac.uk/~dkolovos/epsilon
Kolovos, D.S., Paige, R.F., Polack, F.A.C.: The epsilon object language (EOL). In: Rensink, A., Warmer, J. (eds.) ECMDA-FA 2006. LNCS, vol. 4066, pp. 128–142. Springer, Heidelberg (2006)
Chiorean, D., Bortes, M., Corutiu, D.: Proposals for a Widespread Use of OCL. In: Proc. Tool Support for OCL and Related Formalisms - Needs and Trends, Models/UML 2005, Montego Bay, Jamaica (October 2005)
Cabot, J., Teniente, E.: Incremental Evaluation of OCL Constraints. In: Dubois, E., Pohl, K. (eds.) CAiSE 2006. LNCS, vol. 4001, pp. 81–95. Springer, Heidelberg (2006)
Egyed, A.: Instant consistency checking for the UML. In: ICSE 2006: Proceeding of the 28th international conference on Software engineering, Shanghai, China, pp. 381–390. ACM Press, New York (2006)
Eclipse Foundation, http://www.eclipse.org
ArgoUML, http://argouml.tigris.org
Eclipse.org. Eclipse Modelling Framework, http://www.eclipse.org/emf
Sun Microsystems. Meta Data Repository, http://mdr.netbeans.org
Epsilon component - Eclipse Generative Modeling Technology (GMT), http://www.eclipse.org/gmt/epsilon
Eclipse GMF - Graphical Modeling Framework, http://www.eclipse.org/gmf
Larman, C.: Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development, 3rd edn. Prentice Hall PTR, Englewood Cliffs (2004)
openArchitectureWare, http://www.openarchitectureware.org/
Jouault, F., BezÃvin, J.: Using ATL for Checking Models. In: Proc. International Workshop on Graph and Model Transformation (GraMoT), Tallinn, Estonia (September 2005)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2009 Springer-Verlag Berlin Heidelberg
About this chapter
Cite this chapter
Kolovos, D.S., Paige, R.F., Polack, F.A.C. (2009). On the Evolution of OCL for Capturing Structural Constraints in Modelling Languages. In: Abrial, JR., Glässer, U. (eds) Rigorous Methods for Software Construction and Analysis. Lecture Notes in Computer Science, vol 5115. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-11447-2_13
Download citation
DOI: https://doi.org/10.1007/978-3-642-11447-2_13
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-11446-5
Online ISBN: 978-3-642-11447-2
eBook Packages: Computer ScienceComputer Science (R0)