Student Projects

Topics

 For current project topics it is best to get in touch with me.

 

 For my general area of interest, see research interests; it includes:

 

-          Software architecture & Component-based software development, in particular the modelling for prediction and analysis of extra-functional system quality properties.

 

-          Empirical Software Engineering: studying how software is made in practice; in particular UML-based development and design metrics.

 

 Another indicator is the list of previous and ongoing projects below.

 

 Topics as of Summer 2006:

 

Our research in the area of Component-based Software Engineering concentrates on techniques for improving the robustness of component-based systems:

 

-          Automated optimization of architectural design.

The functionality of a system may be defined by a set of components or/and the selection of a set of features. These must be mapped onto a hardware architecture to create a working system. This process involves a number of trade-offs in terms of which features to realize and which hardware components to use. This problem can be seen as a search problem where the space that has to be searched in the design space of the system. We believe there are promising possibilities for addressing this problem using evolutionary algorithms (genetic algorithms). The project consists of researching how evolutionary algorithms can be used for design space exploration for system architectures. This research builds upon available tools for analysing quality properties of system architectures.

 

-          (Short project/stage) develop a classification of binding mechanisms for component-based software. This is meant to include a formal description of different approaches for binding software components.

 

Our research in software architecture concentrates on the prediction of system properties at design time in order to enable early feedback on the design. In this context the following projects are available:

 

-          Empirical Study on Effects of Defects in UML models

UML models are almost never prefect – they are incomplete, contain inconsistencies and are unbalanced in detail. For practical purposes, it is desirable to know what level of quality must be achieved for effective use of UML. To this end we want to find out what the effect is of levels of defects in UML. For instance, suppose we do use conventions for message-naming, hence no correspondence with the implementation can be assumed. How does this affect the quality of the resulting system? Project is possible in collaboration with Motorola, France (close to Paris).

 

-          Developing techniques for checking conformance between implementations and their UML designs

-          I am looking for a student to work on conformance of behavioural aspects (think of comparing MSC’s and state-charts with information from the code). This would involve inventing a language for defining the allowed interactions between components.

 

-          Developing techniques for abstracting implementations details for reverse engineering UML models and their automated updating.

UML designs on average contain half of the classes that exist in an implementation.

Apparently, software designers have decided to omit some parts. Which parts are omitted? What criteria are used to decide which parts to omit? During evolution of a system is it desirable to keep the UML model up to date. To this end, we need techniques that know which changes in the code need to be reflected in the associated UML model.

 

-          Develop techniques for the automated assessment of quality of UML designs. Experience designers are very capable of assessing a design and identifying any weak spots. However, experienced designers are scarce. The goal of this project is to develop automated techniques that help in detecting weak spots in UML designs and ideally also generate suggestions on how to improve the design. This project needs to develop new techniques for representing knowledge about UML designs and new techniques for reasoning about this knowledge.

 

-          Mining Software Repositories: Perform Empirical Research on Software Design in order to build prediction models for the size, development-time, cost, reliability, fault-proneness, etc. for industrial software projects

 

 

If you are looking for a project in industry, I can try to arrange a project with one of the companies below (alphabetic order)

 

-          Atos Origin

-          Bosch

-          Cap Gemini Ernst & Young (Utrecht)

-          Chess IT (Best, Haarlem)

-          LogicaCMG (Eindhoven, Amstelveen, Den Haag, …)

-          IBM Consulting

-          Océ (Venlo)

-          Philips (Natlab, Medical Systems, …)

-          Software Engineering Research Center (Cibit-SERC, Utrecht)

-          Software Improvement Group (Amsterdam)

-          Thales (Twente)

-          VDO Dayton (Eindhoven)

-          … other suggestions welcome

 

Availability fluctuates.

International Exchange

 I have no exchange projects ‘on the shelf’, but can try to arrange an 

 exchange with one of the following institutes:

-          University of Pretoria, South Africa

-          Malarden Institute for Real-Time Systems, Sweden

-          Ecole Polytechnique Federale Lausane, Switserland

-          Motorola, France

-          other suggestions welcome

 

Subjects of the projects will be agreed in conjunction with the hosting institute.

Graduation  Projects

Previous & Ongoing projects

 

 Master in Computing Science

 

-          Xin Liu, Generation of UML models for product line systems using Feature Diagrams.

 

-          Marcel van Amstel, Automated techniques for analyzing the quality of UML sequence diagrams.

 

-          Martijn Wijns, Co-Visualization of Architecture and Implementation

-          Laurens Blankers, Exploring Architectural Decision Making (together with Malardalen University, Sweden)

-          Jiang Zhang, Techniques for exploring architectural design alternatives from extra-functional and quality perspectives

-          Dennis van Opzeeland, Techniques for identifying mismatches between UML designs and their implementation

-          Mark van Kempen, Refactoring UML-based Architecture designs

-          Rob Spoor, DIRT: A Distributed Real-Time implementation of a shared dataspace, TUE (planned completion: aug 2004)

 

-          Peter van de Schaar (Techn. Management, samen met Jacques Bouwman), Het Voorspellen en meten van doorlooptijd voor projecten in het ADC,

CGEY Utrecht, November 2003.

 

-          Remco de Keijzer: Analyzing CPU use of the LLC layer in the GPRS protocol using Coloured Petri-Nets,

     Nokia Research, Helsinki (planned ending date: fall 2003)

 

-          Christian Lange, Completeness and Consistency Analysis of UML based Software Architectures,

Océ Venlo, September 2003.

 

-          Johan Muskens, A Software Architecture Analysis Tool,

CMG Eindhoven, April 2002

 

-          Frank van der Laar: publish/subscribe as an architectural style in dynamically upgradable systems,

 Philips Natlab

 

-          Martijn van Sinten: An Simulator for a SIMD Graphics processor, Philips Natlab

 

-          Joris Baaijens: Architecture Analysis Methods,

Ericsson & CMG Eindhoven

 

 

 OOTI / Master of Technical Design

 

-          Yanja Dasjuren, Extending Koala with dynamic binding, 2005

 

-          Gati Michael: Analysing Dynamic Memory Use of Component-Based Applications using Aspect-Oriented Technology (spring 2004)

 

-          Bernard Venemans, Redesign of a flexible cross-platform communication utility, 2001

 

-          Slavo Estok: Concept, Design & Implementation of a Demonstrator for an In-Home Networking Application, augustus 2000

 

 

Examination Committee

 

-          Rob Kersemaker, Automated Detection of Design Patterns in Code (using Prolog) (supervisor, Lou Somers) 2004

-          Teun Berkers, Ivo Raedts, “Digitale Koopgoot”, (2003, supervisor v. Hee)

-          Mark Hoogendorn, Een kwaliteitsraamwerk voor Enterprise Application Integration, april 2002 (supervisor G.J. Houben)

-          K.F.A. Peters & V.R.N. Scholten: “HENK” Een architectuur voor thin client applicaties ter ondersteuning van synchroon collaboratief werken met mobiele en niet-mobiele clients, april 2002 (supervisor P. de Bra)

-          L.J.G. Vrijnsen, Emergencies: Acute Myocardial Infarction: An excercise in the architecting of agent software based support for the Chain of Survival (supervisor D. Hammer)

-          R.G.H. Vaessen, Business Logic Extraction, June 2001 (supervisor G.J. Houben)

 

 Last edited

 16-Aug-06

M.R.V.Chaudron homepage

Go to department home page

e-mail: m.r.v.chaudron@tue.nl