Home 

Introduction

Operation Schemas

User Manual

Directory Structure

Parser

Model Extractor

Type Checker

Modifications

Extending the compiler

Outstanding Issues

Current Status

References and Links

Javadoc

Introduction



This project was part of my summer internship at EPFL (from 5th May to 20th July 2001). 

The aim of the project was tuning the existing tool (the original compiler for OCL was built by Frank Finger and was later extended by Mahim Mishra for Operation Schemas) to the syntactic and semantic changes incorporated in Operation Schema. I worked under the guidance of Professor Alfred Strohmeier and Shane Sendall, research assistant at the LGL.

My work involved the following things:

a) Tuning the Operation Schema Compiler (OSC) to the modifications made to Operation Schemas

b) Adapting the OSC to the new things added to Operation Schemas,
(like: Aggregates, Rely expressions, Exception handling etc.)

c)Integrating Apache Xerces (v1.4) XML Parser with the tool.

d)Modifying XMIParser to accept Rose 2001 generated XMI/XML (v1.0) files.
 

I worked on the project for a total of 11 weeks, with roughly the following distribution of time spent:

  1. Week 1: spent in getting familiar with UML, OCL, Operation Schema and the tools (like Together, Rose etc) available for them. 
  2. Week 2-4: understanding SableCC and  in modifying the grammar and developing the syntax-checker of operation schemas. 
  3. Weeks 5-6:  spent in understanding the code of the Dresden compiler and the modifications made to it by Mahim Mishra, especially the type checking  modules. 
  4. Weeks 7-10:spent in adapting and extending the Type Checker and XMI parser to suit operation schemas
  5. Week 11:  documentation and testing. 
The following sections will give a brief overview of the project, discuss some of the implementation details, modifications made to the tool and provide a guide to how somebody interested in extending the tool, to incorporate new Operation Schema features as they are developed, might go about doing it. Some of the shortcomings of the tool, including some already defined Operation Schema features that are not properly dealt with, and some known bugs, are also discussed. 

The tool as it stands now borrows heavily from the OCL compiler implemented by Frank Finger at the Technical University of Dresden.