1,721,017 research outputs found
Overview of a scripting language for JADE-based multi-agent systems
This paper outlines the major features of Jadescript, a scripting language designed to support agent-oriented programming. The core abstractions that Jadescript provides are those related to event-driven agents and message passing, and the view of multi-agent systems that it promotes is closely related to that offered by JADE. Programmers using Jadescript are granted a dedicated syntax largely inspired by modern scripting languages, and major programming activities are supported in the scope of the language with a marked raise of the level of abstraction with respect to the direct use of JADE
Extending message handlers with pattern matching in the Jadescript programming language
Software agents are characterized by sophisticated messaging capabilities that support distributed problem solving and that provide the basic ingredients for interoperability in open agent-based systems. Jadescript is an agent-oriented programming language that has been recently proposed to offer programmers the abstractions that characterize agents to concretely and effectively support the implementation of complex agent-based systems. As expected, the abstractions that Jadescript provides include native support for the advanced messaging capabilities that characterize agents. This paper describes a recent development of Jadescript that extends the language with a native support for pattern matching designed to simplify the reception of structured messages and to ease the management of complex conversations. The proposed support for pattern matching is intimately correlated with the type system of the language, and it can be used to effectively associate inbound messages with specific handlers. From the point of view of programmers, the proposed support for pattern matching allows clearly expressing the intended scope of message handlers, and it contributes to raise the level of abstraction of the language
Robust Software Agents with the Jadescript Programming Language
This paper discusses several recent additions to the Jadescript agent-oriented programming language that regard the effective detection and handling of exceptional and erroneous situations at runtime. These new features were introduced to better support the mission-critical level of robustness that software agents are normally demanded to exhibit. The description of these new features is supported by an analysis of the state of the art of exception handling in programming languages, and it is complemented by a discussion on planned future developments. First, the novel exception handling mechanism introduced in Jadescript is presented, and the conceptual similarities and differences with the exception handling mechanisms normally provided by mainstream programming languages are emphasized. Second, the recent additions to Jadescript designed to support failures in behaviours are described, and these additions are related to the novel exception handling mechanism. Finally, the recent language support to manage stale messages using dedicated message handlers is presented and discussed
Imperative and Event-Driven Programming of Interoperable Software Agents
Jadescript is a recent agent-oriented programming language conceived to support the effective development of agents and multi-agent systems based on JADE. Jadescript is designed to ease the development of agents by means of a tailored syntax matched with a programmer-friendly development environment. This paper presents a brief overview of Jadescript by describing its main features and abstractions and by comparing them with the corresponding features and abstractions advocated by other agent-oriented programming languages. Moreover, to show the applicability of Jadescript to the construction of interesting multi-agent systems, this paper concisely summarizes a case study in which Jadescript is used to implement agents that participate in English auctions. Finally, this paper is concluded with a brief overview of planned future developments of the language
Effective handling of exceptional situations in robust software agents
Software agents are normally expected to operate in open and dynamic environments, and therefore they are often supposed to face situations that significantly deviate from the nominal course of events. The effective management of exceptional situations is of paramount importance to provide agents with the needed means to operate in their environments, mostly because these situations should be considered as the norm in open and dynamic environments. This paper presents some recent additions to the Jadescript agent-oriented programming language that were specifically designed to provide agents with the needed capabilities to effectively detect and manage exceptional situations. The first part of this paper motivates the need of sophisticated exception handling capabilities, also by relating the proposed language features with the state of the art documented in the literature. Then, the second part of this paper discusses the proposed language features, also considering the conceptual similarities and differences with the related features normally available in mainstream programming languages. In particular, the proposed language features are presented in terms of three language improvements: the general-purpose support to handle exceptions, the specific support to handle behaviour failures, and the specific support to handle stale messages. Finally, before concluding with some indications on future research activities, the third part of this paper describes a concrete example intended to practically present the actual use of the new language features
Delayed and Periodic Execution of Tasks in Jadescript Programming Language
Software agents are expected to timely act and to dynamically plan their activities, for example, to solve the complex collaboration problems of many real-world applications. The collaboration among agents requires the ability to reason about time to dynamically coordinate and to effectively adjust the frequency of periodic actions and reactions. For these and related reasons, an agent-oriented programming language is demanded to provide the programmer with effective means to schedule the execution of delayed and periodic tasks. This paper describes the new datatypes, and the related changes to some language constructs, that have been recently added to the Jadescript programming language to allow agents to effectively manage the dynamic scheduling of delayed and periodic tasks
Cross-Paradigm Interoperability Between Jadescript and Java
Jadescript is a recent language for practical agent-oriented programming that aims at easing the development of multi-agent systems for real-world applications. Normally, these applications require extensive and structured reuse of existing software modules, which are commonly developed using object-oriented or legacy technologies. Jadescript has been originally designed to ease the translation to Java and, as such, it natively eases the interoperability with Java, and therefore, with mainstream and legacy technologies. This paper overviews the features that have been recently added to Jadescript to support effective two-way interoperability with Java. Moreover, this paper thoroughly discusses the main ideas behind such features by framing them in a comparison with related work, and by outlining possible directions for further developments
An Introduction to the Major Features of a Scripting Language for JADE Agents
This paper presents a concise description of the major features of the Jadescript language for agent-oriented programming. First, the need for a programming language intended explicitly to support the design and implementation of agents and multi-agent systems based on JADE is motivated. Then, core features which characterise the language as an agent-oriented programming language, namely, those meant to support message passing and event-driven programming, are briefly described. The description of core features uses an illustrative example to show how the language can be concretely used to program multi-agent systems, at least in simple, but significant, cases
A Comprehensive Presentation of the Jadescript Agent-Oriented Programming Language
Jadescript is an agent-oriented programming language based on JADE that aims to become a dependable tool for the construction of industrial-strength multi-agent systems. This paper contributes to this objective by providing researchers and practitioners with a comprehensive description of Jadescript that discusses the most relevant features attained in several years of continuous development. In particular, this paper focuses on how Jadescript promotes the adoption of some ideas taken from agent-oriented programming by providing direct support for agent-oriented abstractions, like messages and ontologies, by encouraging the use of event-driven programming to govern interactions, and by allowing fine-grained task management using behaviours. Finally, to illustrate the practical applicability of Jadescript, this paper presents in detail the implementation of a well-known election algorithm traditionally used to coordinate distributed systems
- …
