March 11, 2011

OCL 2.0 grammar for SableCC 3.2

As promised in my post from 12/20/2010 I’ve released my modified OCL 2.0 grammar file I’m using for my bachelor thesis on github. I’ve made some changes in order to cope with the changes introduced in OCL 2.0, as well as to address some shortcomings the original version had. For more details see the README included in the repository. Cheers, Raphael Related links: ocl-sablecc @ github.com

December 20, 2010

Parsing OCL utilizing SableCC

After nearly a month of DIY OCL parsing I decided to throw it all away and start anew using SableCC 3.2. There is an OCL 1.5 grammar for SableCC 2.0, which did not work with version 3.2. After some tweaks I was able to get the grammar to work. Switching to SableCC was a very good idea even tho the documentation on version 3.2 is scarce. The OCL parsing works well. Read more

November 5, 2010

A first bachelor presentation

This monday I had my first presentation of my bachelor thesis about the ‘Transformation of OCL to Schematron’. Needless to say that I have been incredible nervous about this because I was not sure if I had worked hard enough the first month. It turned out that there were no major concerns with my thesis. Lucky me :) The basic approach to the transformation stayed the same - I just added some specific tidbits. Read more

October 19, 2010

Thoughts on my bachelor thesis

The practical part of my bachelor thesis is a program that takes OCL rules as input and transforms these rules into Schematron; it transforms constraints defined on top of UML models into constraints defined on top of XML data. At first I wanted to write my own LALR-Parser for OCL, parse the input into one parse tree and then serialize this tree into the corresponding Schematron output. The major problem is that a LALR-Parser for OCL, even a generated one, seems to take up too much time to develop and test; plus the only LALR-Parser Generator for Ruby, racc, does not work for me at the time of this writing. Read more

© Raphael Randschau 2010 - 2022 | Impressum