On the Functional Interpretation of OCL

The Object Constraint Language (OCL) is defined as a sideeffect-free language combining model-oriented and functional features. Its interpreters are mostly focused on model-oriented features, providing a direct representation of features like inheritance and properties navigation. However, in the last few years many other functional features were proposed, e.g. pattern matching, lambda expressions and lazy evaluation. In this work we explore the use of Haskell as an alternative for the functional interpretation of OCL in a direct and clear way. We also show its feasibility through the development of a case study.

[1]  Marcos Viera,et al.  Model-Driven Engineering Based on Attribute Grammars , 2015, SBLP.

[2]  Wei Tang,et al.  Meta Object Facility , 2009, Encyclopedia of Database Systems.

[3]  Artur Boronat,et al.  Algebraic Semantics of OCL-Constrained Metamodel Specifications , 2009, TOOLS.

[4]  David A. Burke,et al.  Translating Formal Software Specifications to Natural Language , 2005, LACL.

[5]  Simon L. Peyton Jones,et al.  Template meta-programming for Haskell , 2002, Haskell '02.

[6]  Achim D. Brucker,et al.  Featherweight OCL: A Proposal for a Machine-Checked Formal Semantics for OCL 2.5 , 2014, Arch. Formal Proofs.

[7]  Rémi Douence,et al.  Lazy Evaluation for OCL , 2015, OCL@MoDELS.

[8]  Miguel Garcia Efficient Integrity Checking for Essential MOF + OCL in Software Repositories , 2008, J. Object Technol..

[9]  Javier Cano Medina,et al.  Model Driven Architecture & AndroMDA (y II) , 2005 .

[10]  Philip Wadler Monads for Functional Programming , 1995, Advanced Functional Programming.

[11]  Martin Gogolla,et al.  Panel Discussion: Proposals for Improving OCL , 2014, OCL@MoDELS.

[12]  Gérard P. Huet,et al.  The Zipper , 1997, Journal of Functional Programming.

[13]  Frank Budinsky,et al.  EMF: Eclipse Modeling Framework 2.0 , 2009 .

[14]  Frédéric Jouault,et al.  Towards Functional Model Transformations with OCL , 2015, ICMT.

[15]  Frank Budinsky,et al.  Eclipse Modeling Framework , 2003 .

[16]  Hong Zhu,et al.  Semantics of Metamodels in UML , 2009, 2009 Third IEEE International Symposium on Theoretical Aspects of Software Engineering.

[17]  Edward D. Willink,et al.  Safe Navigation in OCL , 2015, OCL@MoDELS.

[18]  Tony Clark OCL Pattern Matching , 2013, OCL@MoDELS.

[19]  Peyton Jones,et al.  Haskell 98 language and libraries : the revised report , 2003 .

[20]  Antonio Vallecillo,et al.  Formal Specification and Analysis of Domain Specific Models Using Maude , 2009, Simul..

[21]  Martin Gogolla,et al.  Object Constraint Language (OCL): A Definitive Guide , 2012, SFM.