OCL Pattern Matching

This paper proposes an extension to OCL that addresses a concern regarding the proliferation of navigation expressions that occur when expressing predicates over objects. Declarative patterns are introduced that can be used to match against object structures so that repeated variables reduce the need for lengthy repeated navigation expressions. Patterns provide the basis for a further contribution that shows how objects can be used as functions.

[1]  Sam Tobin-Hochstadt,et al.  Extensible Pattern Matching in an Extensible Language , 2011, ArXiv.

[2]  Luc Maranget,et al.  Optimizing pattern matching , 2001, ICFP '01.

[3]  Paul Hudak,et al.  A gentle introduction to Haskell , 1992, SIGP.

[4]  Jean Bézivin,et al.  ATL: A model transformation tool , 2008, Sci. Comput. Program..

[5]  Colin Runciman,et al.  A static checker for safe pattern matching in Haskell , 2005, Trends in Functional Programming.

[6]  Bernhard Rumpe,et al.  The Amsterdam Manifesto on OCL , 2014, Object Modeling with the OCL.

[7]  Thomas Goldschmidt,et al.  A Pattern Mining Approach Using QVT , 2009, ECMDA-FA.

[8]  Laurence Tratt The MT model transformation language , 2006, SAC '06.

[9]  Ivan Kurtev,et al.  State of the Art of QVT: A Model Transformation Language Standard , 2008, AGTIVE.

[10]  Jörn Guy Süß Sugar for OCL , 2006 .

[11]  Lawrence Charles Paulson,et al.  ML for the working programmer , 1991 .

[12]  Massimiliano Di Penta,et al.  A controlled experiment on the impact of the object constraint language in UML-based maintenance , 2004, 20th IEEE International Conference on Software Maintenance, 2004. Proceedings..

[13]  Twan van Enckevort,et al.  Refactoring UML models: using openarchitectureware to measure uml model quality and perform pattern matching on UML models with OCL queries , 2009, OOPSLA Companion.

[14]  Dániel Varró,et al.  Advanced model transformation language constructs in the VIATRA2 framework , 2006, SAC.