Softwareteknologi DTU - Project No. 0069:  An Interpreter for OCL in PROLOG
Danmarks Tekniske Universitet DTU
Bachelorprojekt - Softwareteknologi
Project No. 0069:  An Interpreter for OCL in PROLOG
Aktuelle Tidligere  

Description:

The Object Constraint Language (OCL) is a logical language to express queries and constraints on models expressed in UML and similar modeling languages. While there are OCL several interpreters, they are all restricted to interpret OCL as it is now. Experimenting with advanced language features is not supported. For instance, adding parametric polymorphism, dynamic typing, or templates are some interesting avenues to explore. Addressing this gap, the project aims at creating an interpreter for a suitable (simple) fragment of the Object Constraint Language (OCL). The result will serve as a basis for experimenting with several possible extensions of the OCL. If successful, the results of this project will be used directly in research and could lead to a joint article with the supervisor.

Depending on the size of the OCL fragment covered, this project can be scaled up or down. With additional quality requirements, it could also be executed by two students together. Finally, this project could be extended by implementing and evaluating some of the OCL extensions sketched above.

In order to provide a great deal of flexibility, the very high level programming language PROLOG shall be used in the implementation. Therefore it is essential, that the student has basic Prolog programming experience.

The student taking on this project will learn a good deal about OCL and UML, and also about software engineering in general, and particularly, using SWI Prolog and the tools that come with it, e.g. Javadoc-style HTML documentation generation from PROLOG-code, unit testing, profiling, code visualization, advanced debugging, Definite Clause Grammars, and so on.

Prerequisites:  02156 Logical Systems and Logic Programming

Supervisor(s) Harald Störrle

Sidst opdateret: Oct 31, 2011 af Hans Henrik Løvengreen