ETH Zuerich - Homepage
Information Security

MDS Projects

In the context of MDS, we offer several tasks for master (MA), bachelor (BA) and semester (SE) theses, with both theoretical and practical focus. The concrete description of work is adapted based on the type of project and the
student's preferences. We also invite students to propose own project descriptions.

UML-Tool Integration (MA, BA, SE)

To increase the user experience with MDS, a tight integration into a UML-tool is key. Integration could include: syntactical (and semantical) consistency checks, generation as push-button, macros for faster creation of models, OCL syntax checks, etc.
In this project, the student investigates possible integration strategies, works out a concept for one UML-tool, and implements it.

Interface to Model Checker

Description will follow soon...

Interface to Theorem Prover

The increasing complexity of todays software systems makes it difficult to ensure that they meet the required safety and security properties. One way to ensure these properties is theorem proving, i.e. doing computer-supported formal proofs. Intelligibly, such proofs need a formal specification of the system. In the context of UML, the Object Constraint Language (OCL) was proposed as a formal extension. OCL allows one to constrain UML models, e.g. by adding pre-conditions, post-conditions and invariants to class-diagrams.
In our group, we develop a interactive theorem prover environment (called HOL-OCL) which supports formal reasoning over UML/OCL specifications, but at the moment lacks an integration into the MDS environment.
In this project, the student investigates possible integration strategies of the HOL-OCL into the MDS framework; e.g., by providing a XSLT for generating HOL-OCL syntax or extending HOL-OCL (which is written in SML) to support the MDS intermediate format..

Incremental Generation (MA, BA)

At the moment, MDS code generation is unidirectional and does not take care of previoussly generated versions. The generated code, however, will be changed by programmers filling out methods, adding comments or even doing refactorings. In doing so, the model and source code run out of sync.
In this project, we investigate ways to deal with synchronization of model and source code. Potential strategies could be: tagging of protected regions in the source code, merging of old and new versions, bidirectional generation between model and source code.

Test Case Generation

Description will follow soon...

Code Generation (MA, BA, SE)

The core functionality of MDS is to generate platform specific code from a UML-model. So far, code generators for Java with JAAS and for Java with Permis have been created using XSLT.
In this project, existing code generators are extended and/or generators for additional platforms such as .NET or WebServices are implemented.

Business Processes (MA, BA)

Service Oriented Architectures (SOAs) based on Web Services are the current state of the art for offering functionality in heterogeneous environments. However, such services need to be integrated to form actual business processes. BPEL (Business Process Execution Language) is a XML-based standard by OASIS to formally describe such executable business processes based on Web Services. BPEL processes are intended to be executed by a process engine. On top of BPEL, CDL (Choreography Description Language, a standard by W3C), is used to describe the cross-organisational choreography of business processes, basically the properties of message-based process interactions across organisational domains.
The goal of this project is to enhance an existing design tool for business processes such that BPEL and CDL representations are generated directly from existing process and choreography descriptions in different XML based language specifications. The work comprises an analysis of different integration strategies as well as an implementation using XSL as transformation language.


Jurgen Doser, IFW C48.2,, Tel 63 20993


Wichtiger Hinweis:
Diese Website wird in älteren Versionen von Netscape ohne graphische Elemente dargestellt. Die Funktionalität der Website ist aber trotzdem gewährleistet. Wenn Sie diese Website regelmässig benutzen, empfehlen wir Ihnen, auf Ihrem Computer einen aktuellen Browser zu installieren. Weitere Informationen finden Sie auf
folgender Seite.

Important Note:
The content in this site is accessible to any browser or Internet device, however, some graphics will display correctly only in the newer versions of Netscape. To get the most out of our site we suggest you upgrade to a newer browser.
More information

© 2011 ETH Zurich | Imprint | Disclaimer | 21 October 2005