| 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:
-
Week 1: spent in getting familiar with UML, OCL, Operation
Schema and the tools (like Together, Rose etc) available for them.
-
Week 2-4: understanding SableCC
and in modifying the grammar and developing
the syntax-checker of operation schemas.
-
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.
-
Weeks 7-10:spent in adapting and extending the Type
Checker and XMI parser to suit operation schemas
-
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. |