Teaching
Research
Papers
Presentations
NU PRL
About me
Wiki
Citations
IP
Old home page

A Short History: I started my research career in computer science as a theoretical computer scientist, focusing on the theory of P-optimal algorithms for the generalized maxiumum satisfiability problem (MAX-CSP), still an active area of research. I also invented, independently and simultaneously on the other side of the Atlantic, an early form of non-chronological backtracking based on learned clauses (superresolution) which has become a key feature of most state-of-the-art SAT and CSP solvers.

The work on P-optimal algorithms has been embedded in an interesting educational game, called the Specker Derivative Game which is used as project in software development courses.

Next I applied my theoretical knowledge to another practical problem: the design and implementation of the Hardware Description Language Zeus, a predecessor of VHDL.

In the mid 1980s, I switched to my current research area: Object-Oriented and Aspect-Oriented Software Development and focused on issues of software design and modularity. I founded the Demeter research team, which studied the then-novel idea of Adaptive Programming, also known as structure-shy programming and produced the Law of Demeter ("talk only to your friends": an explicit form of coupling control) and several systems for separating concerns in an object-oriented programming context: Demeter/Flavors, Demeter/C++, DemeterJ, DJ, XAspects and DemeterF.

In 2006 I added Systems Biology to my areas of interest. I spent my 2006 sabbatical at Novartis Institute for Biomedical Research and discovered that SAT and CSP solvers play an important role in biological applications. We focus on engineering modular and fast CSP solvers (using P-optimality and non-chronological backtracking) and applying them to Systems Biology problems.