A Programming Paradigm based on Agent-Oriented Abstractions

   page       BibTeX_logo.png   
International Journal on Advances in Software 5(1-2), pages 36-52

More and more the notion of agent appears in differ- ent contexts of computer science, often with different meanings. Main ones are Artificial Intelligence (AI) and Distributed AI, where agents are exploited as a technique to develop 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. In particular, we consider 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. The main contribution of the work is the definition of a conceptual space framing the basic features that characterize the agent-oriented approach as a programming paradigm, and its validation in practice by using a platform called JaCa, with real-world programming examples.

keywordsagent-oriented programming; multi-agent systems; concurrent programming; distributed programming