Site menu:

Predictable Software Engineering

Developing software is easy. Predicting how software behaves is tough. This contradictory nature of software has led us into a software industry that spends more than 50% its project budgets in testing and error correction. In Cyber-Physical Systems (CPS) these errors have life-threatening consequences. The escalating complexity of CPS makes this problem even worse.

To counteract the increasing complexity of CPS we need to enable the designer to make scalable and predictable design decisions. For this it is necessary to reduce the complexity of the design artifacts that designers manipulate while automatically verifying the consequences of such maniputation.

Research Interest

My research interest focuses on two areas: new challenges of real-time scheduling and model-based engineering (MBE). On the real-time scheduling front I am interested on the new challenges stemming from both the new complex algorithms used in today's real-time systems that do not fit the assumptions of traditional scheduling theory and the new hardware platforms (e.g. multicore) that we are starting to see today but, most importantly we will see starkly different in the future.

On the MBE side, I am interested in tackling the problems coming from the ever increasing complexity of cyber-physical systems. In particular, we can observe that an important element of this complexity comes from the complex interactions between the hardware, software, and physical components of these systems. For this problem the MBE approach uses models that capture these interactions in models. These models are then analyzed to verify specific properties. The challenge then is to develop these models and analysis algorithms that allows us to take decisions at a high level, before we start implementing the system.