My research is positioned at the intersection of Artificial Intelligence and Human Experience, and inspired by Philosophy and Social Science. This combination of highly technical and human-centered research has been a common thread in my career, which started as follows.
Medical Computer Science
At the end of high-school, after long deliberation, I decided I wanted to become a vet. However, due to (bad) luck I did not get into that study programme. As an alternative Utrecht University offered a Medical Computer Science degree: a regular computer science study programme with some additional medical courses and different specialisations.
This turned out to be a great choice: I really enjoyed the computer science courses, perhaps even more so than the medical ones for which you had to memorise entire books. I was particularly interested in the “Expert Systems” specialisation, in which Artificial Intelligence (AI) techniques of logic and reasoning were used to aid doctors in decision making (aside: during our second year software project in the university hospital I learned that doctors are very reluctant to be supported by intelligent technology, but I still believed there could be value in developing these techniques if we would better understand how to create truly supportive technology).
Through a course of prof. John-Jules Meyer I learned there is a particular subfield of AI called Multi-agent systems, which studies the engineering of autonomous pieces of software called “agents”. These agents drew my attention even more so than expert systems, because while expert systems only “think”, agents could actually “do stuff”: they could act in the world. And the creation of these acting entities was inspired by philosophies of human decision making. I wrote my master’s thesis (2002) on this topic, in particular I proposed the agent programming language Dribble and provided a logic and formal semantics. A revised version of my thesis got published as a paper at AAMAS (2003), the primary conference in the area!
I accepted the offer to pursue a PhD in the same group, under supervision of John-Jules Meyer, Frank de Boer, and Mehdi Dastani to continue my research on formal methods for agent programming languages. Specifically I focused on techniques for making agents more flexible: plan revision and explicit representation of agent goals. Although I was interested in logic, I discovered that much more than a logician am I a semanticist. I want to understand and define the precise meaning of (computational) notions. What is the essence of certain concepts, what – at its core – is it about? This is reflected in the subtitle of my PhD thesis (2006) and several papers: Cognitive Agent Programming – A Semantic Approach.
Humans and Technology
Being a computer scientist at heart, I decided to do a postdoc in the Programming and Software Engineering group of prof. Wirsing in Munich. I considered it important, as an agent programming researcher, to be aware of what other programming & software engineering researchers study. One of my main discoveries there was of an empirical approach to software engineering research, to complement the theoretical work. This inspired some of the empirical work on the GOAL language Koen Hindriks and I did (2009, 2011, 2012) after I became assistant professor at TU Delft in 2008. I wrote a position paper (2012) in which I propose an empirical software engineering approach to agent programming.
At the Interactive Intelligence section at TU Delft the human-centered focus of my work really started to take shape. Not only by inspiring computational notions, or by studying how programmers use our created languages, but more and more through a focus on supportive technology: creating agents to support people in their daily lives, requiring collaboration between human and machine. This culminated in the Vidi project Computational Reasoning for Socially Adaptive Electronic Partners, which was awarded to me in 2014.