Code patterns for agent-oriented programming
نویسندگان
چکیده
The mainstream approach to design of BDI-inspired agent programming languages is to choose a set of agent-oriented features with a particular semantics and their subsequent implementation in the programming language interpreter. The language designer’s choices thus impose strong constraints on the architecture of the implemented agents as well as only a limited toolbox of high-level language constructs for encoding the agent program. As an alternative, we propose a purely syntactic approach to designing an agent programming language. On the substrate of Behavioural State Machines (BSM ), a generic modular programming language for hybrid agents, we show how an agent designer can implement high-level agent-oriented constructs in the form of code patterns (macros). To express the semantics of agent programs in the logic-agnostic programming language of BSM, we propose LTL program annotations and subsequently introduce DCTL*, an extension of the CTL* logic with features of dynamic logic, for reasoning about traces of BSM program executions. We show how DCTL* specifications can be used to prove relevant properties of code patterns. Moreover, DCTL* allows for natural verification of BSM agent programs.
منابع مشابه
Code Patterns for Agent-Oriented Programming1
One of the high ambitions of the agents programming community is development of a theoretically founded programming framework enabling creation of cognitive agents, i.e., agents with mental states. A programming language is an engineering tool in the first place and thus it has to provide a toolbox for development of practical systems. On the other hand, it is desirable to establish a tight rel...
متن کاملDwarf Frankenstein is still in your memory: tiny code reuse attacks
Code reuse attacks such as return oriented programming and jump oriented programming are the most popular exploitation methods among attackers. A large number of practical and non-practical defenses are proposed that differ in their overhead, the source code requirement, detection rate and implementation dependencies. However, a usual aspect among these methods is consideration of the common be...
متن کاملImplementation Patterns for Visual Construction and Runtime Customization of Multi-Agent-Systems
During the last years graphical tools have been developed for simplyfying the construction of MAS. Most of the existing tools [3,2,13] have the following abstract development process. First, agents are visually designed using a sort of metadata, then the agent code is generated using the designed metadata and finally the agents are deployed on a platform. We propose a different way to construct...
متن کاملClassification of Scattered Code in Object-Oriented Applications
Aspect-oriented programming strives to encapsulate crosscutting concerns into modular units called aspects. Aspect Mining techniques aim to search for aspect candidates in existing software systems. These techniques associate all occurrences of scattered code in existing applications with the absence of aspects. In this paper, we demonstrate that in a poorly designed object-oriented system, sca...
متن کاملMethod integration: An approach to develop agent oriented methodologies
Agent oriented software engineering (AOSE) is an emerging field in computer science and proposes some systematic ideas for multi agent systems analysis, implementation and maintenance. Despite the various methodologies introduced in the agent-oriented software engineering, the main challenges are defects in different aspects of methodologies. According to the defects resulted from weaknesses ...
متن کامل