23.08.2015 Views

Here - Agents Lab - University of Nottingham

Here - Agents Lab - University of Nottingham

Here - Agents Lab - University of Nottingham

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Typing Multi-Agent Programs in simpALAlessandro Ricci and Andrea Santi<strong>University</strong> <strong>of</strong> Bolognavia Venezia 52, 47023 Cesena, Italy{a.ricci,a.santi}@unibo.itAbstract. Typing is a fundamental mechanism adopted in mainstreamprogramming languages, important in particular when developing programs<strong>of</strong> a certain complexity to catch errors at compile time beforeexecuting a program and to improve the overall design <strong>of</strong> a system. Inthis paper we introduce typing also in agent-oriented programming, byusing a novel simple agent programming language called simpAL, whichhas been conceived from scratch to have this feature.1 IntroductionTyping is an important mechanism introduced in traditional programming languages,particularly useful if not indispensable when developing programs <strong>of</strong>a certain complexity [9, 5, 3]. Generally speaking, the definition <strong>of</strong> a (strongand static) type system in a programming language brings two main benefits.First, it enables compile-time error checking, greatly reducing the cost <strong>of</strong> errorsdetection—from both a temporal and economic point <strong>of</strong> view. Second, itprovides developers with a conceptual tool for modeling generalization/specializationrelationships among concepts and abstractions, eventually specializingexisting ones through the definition <strong>of</strong> proper sub-types and making it possibleto fully exploit the principle <strong>of</strong> substitutability [17] for supporting a safeextension and reuse in programming.We argue that these features could be very useful and important also foragent-oriented programming (AOP), in particular as soon as AOP is investigatedas a paradigm for developing s<strong>of</strong>tware systems in general [14]. To authors’knowledge, there are no agent programming languages in the state-<strong>of</strong>-the-artthat fully support typing and related features. Consequently, the support whichis provided by existing languages to catch errors before executing the system isquite weak. To this purpose, in this paper we describe an approach which introducestyping in agent oriented programming, in particular by means <strong>of</strong> a novelsimple agent programming language called simpAL which has been conceivedfrom scratch to have this feature. simpAL, whose general design and conceptshave been already introduced elsewhere vey recently [15], has been conceived onthe one side drawing inspiration from existing APLs based on the BDI model [12]– AgentSpeak(L) [11] / Jason [1] in particular – and existing meta-models suchas the A&A [10] (<strong>Agents</strong> and Artifacts), along with related frameworks such as132

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!