Research Areas

Artificial intelligence


Expert systems
An Expert System is a software program that uses specialist or technical knowledge to offer advice, essentially mimicking the decision-making abilities of humans. I have supervised projects that developed expert systems in diverse domains, including engineering, medical diagnosis, nutrition, scheduling, and card play in bridge. My preferred language of development was Prolog, a logic programming language. As well as specific applications, my work focused on establishing clear techniques for ‘meta-reasoning’, programming the ability to reason about the rules, rather than just write the rules and leave all reasoning to the computer.

Robotics
Robotics is a very tangible area to demonstrate artificial intelligence. I have been a champion for robotics projects at various stages. I sponsored Robocup projects when Head of Computer Science at the University of Melbourne. I have been involved in the use of Nao robots to engage with people, including leading children through exercises and helping older adults engage with technology.

Software modelling and design


A major research consideration has been how to model sociotechnical systems including people and software. Modelling them as multi-agent systems has been a focus, which culminated in the publication of The Art of Agent-Oriented Modelling with co-author Kuldar Taveter in 2009. Subsequently working in the Centre for Design Innovation we included emotional goals and developed do/be/feel elicitation and motivational modelling.

Logic Programming


Logic programming is a computing approach where programs are written as a set of logical rules that define relations between entities. A computation of a logic program involves a deduction of consequences based on the rules of the program. The ‘art’ of logic programming lies in constructing elegant programs that have the desired meaning. 

Throughout my career I have explored the use of Prolog, the most widely used logic programming language. The most notable accomplishment is The Art of Prolog (published in 1986 with co-author Ehud Shapiro). Th book describes techniques to exploit logic programming that are clear for computer scientists and has brought Prolog to new audiences.