Research

Since I started doing research in Computer Science in the SPIRIT system in 1993, the driving question behind my projects was

"How can we develop knowledge-based systems efficiently?"

In this context, knowledge-based systems are computer programs that contain an explicit model of expert knowledge that is used for reasoning, e.g. to provide diagnostic advice to clinical decision-makers. Despite early successes and high expectations, the current generation of such knowledge-based systems is restricted to very limited application areas. One of the main reasons for this disappointing situation is, in my opinion, the lack of efficient and well-understood development methodologies for knowledge-based systems. Conventional software development approaches provide insufficient support for knowledge modeling and partially exclude the domain experts from the process. Since knowledge bases and conceptualizations (ontologies) of intelligent systems necessarily change very frequently during the development process, I argue that traditional heavy-weight processes are less suitable for their development than agile methodologies, such as Extreme Programming.

During my time at the FAW Ulm (1998-2002), I have defined an agile development methodology for knowledge-based systems. My approach made use of KBeans, an extension of JavaBeans, which allows to enrich Java-based domain models and components with metadata about their semantics. KBeans can be used to integrate knowledge models and other components smoothly, so that the cost of change is reduced. The approach has been successfully used in various projects, in particular for the development of AGIL, a multi-agent system that supports the information logistics among clinical staff.

In February 2003, I have joined Stanford Medical Informatics in order to contribute to the development of the Protégé project. Being one of the most widely used development environments for knowledge-based systems, Protégé is particularly suitable for agile approaches, because it embraces ontology change. At the same time, the project's large user community will enable me to study knowledge modeling methodology in depth, and to apply some of my ideas on modern concepts such as the Semantic Web.

Some of my contributions to Protégé

Selected previous projects

  • KBeans (Implementing semantic transparency for components and domain models)
  • AGIL (Agent-based Information Logistics for emergency patients in Anesthesia)
  • POWM (Process-Oriented Knowledge Management to support collaborative work)
  • ANIS (Anesthesiological Information System)
  • Cardio-OP (Teachware for cardiac surgery)
  • SPIRIT (Probabilistic Expert System Shell)

Some screenshots of my projects are available here.