Fundamental Research on Agent Programming Language
Research on agent programming involves studying agent programming languages and their features, their use in practice, and research into integrating various techniques such as planning and learning into these languages that are needed for developing effective agents. We provide a brief personal outline of a research agenda and research topics that we believe are important for progressing the field.
Fundamental and basic research questions:
What kind of expressiveness do we need in AOP? Or, what language elements and features are needed? E.g. extending GOAL to enable GOAL agents to handle preferences (e.g. I want this more than that).
Which language elements and features of agent programming languages are actually used? Is the meaning of the language elements provided in agent programming languages clear to their users, i.e. programmers? Which methods for agent program design are effective? Which tools are needed to develop agent programs?
How can we verify that agent programs are correct? Can we use e.g. temporal logic combined with belief and goal operators to prove that agents are correct? Which techniques and tools are most effective for proving correctness? Which testing and debugging approaches are most effective?
Learning: How can we effectively integrate e.g. reinforcement learning into AOP to optimize action selection?
Teamwork: What are effective mas structures to organize communication, coordination, cooperation between multiple agents?
And, last but not least, to address these questions we need to actually develop applications and take account of the lessons learned. Of course, what is most needed then is to share these experiences and lessons learned.