APICe » Publications » SantiEasss2010

From Objects to Agents: Rebooting Agent-Oriented Programming for Software Development

Andrea Santi
The notion of agent more and more appears in different contexts of computer science, often with different meanings. The main acceptation is the AI (Artificial Intelligence) and Distributed AI one, where agents are essentially exploited as a technique to develop special-purpose systems exhibiting some kind of intelligent behavior. In this paper, we introduce a further perspective, shifting the focus from AI to computer programming and programming languages, seeing agents and related concepts as general-purpose abstractions useful for programming software systems in general, conceptually extending object-oriented programming with features that -- we argue -- are effective to tackle some main challenges of modern software development. First, we define a conceptual space framing the basic features that characterize the agent-oriented approach, then we show how such features are dealt with in practice by using a platform called JaCa. Real-world programming examples are introduced throughout to clarify the discussion.
Keywords: Agents, Artifacts, Jason, CArtAgO, JaCa, AOP
Proceedings of The 12th European Agent Systems Summer School (EASSS 2010), 2010
@article{,
	author = {Santi, Andrea},
	title = {From Objects to Agents: Rebooting Agent-Oriented Programming for Software Development},
	abstract = {The notion of agent more and more appears in different contexts of computer science, often with different meanings. The main acceptation is the AI (Artificial Intelligence) and Distributed AI one, where agents are essentially exploited as a technique  to develop special-purpose systems exhibiting some kind of  intelligent behavior. In this paper, we introduce a further perspective, shifting the  focus from AI to computer programming and programming languages, seeing agents and related concepts as general-purpose abstractions useful for programming software systems in general, conceptually extending object-oriented programming with features that -- we argue -- are effective to tackle some main challenges of modern software development. First, we define a conceptual space framing the basic features that characterize the agent-oriented approach, then we show how such features 
are dealt with in practice by using a platform called JaCa. Real-world programming examples are introduced throughout to clarify the discussion.},
	keywords = {Agents, Artifacts, Jason, CArtAgO, JaCa, AOP},
	status = {Published},
	venue = {---},
	school = {The 12th European Agent Systems Summer School (EASSS 2010)}}