Abstract

We describe an extension to the AJPF agent program model-checker so that it may be used to generate models for input into other, non-agent, model-checkers. We motivate this adaptation, arguing that it potentially improves the efficiency of the modelchecking process and provides access to richer property specification languages. We illustrate the approach by describing the export of AJPF program models to both the SPIN and Prism model-checkers. We also investigate, experimentally, the effect the process has on the overall efficiency of model-checking.

Highlights

  • Agent Java Pathfinder (AJPF) [7] is a model-checker for programs written in a range of Belief–Desire–Intention (BDI) agent programming languages

  • The goal of this paper is to expand upon this idea showing how AJPF can be adapted to output models in the input languages of both SPIN and PRISM tools

  • We have shown how AJPF can be used to generate models of BDI agent programs for formal verification using other model checkers in a two-step process

Read more

Summary

Introduction

Agent Java Pathfinder (AJPF) [7] is a model-checker for programs written in a range of Belief–Desire–Intention (BDI) agent programming languages. It is built on top of Java Pathfinder (JPF), an explicit state program model-checker for Java programs [29], and exhaustively checks the execution of Java-based interpreters for BDI languages. AJPF has a property specification language based upon Linear Temporal Logic (LTL) extended with descriptions of beliefs, intentions, etc. Using a program model-checker gives the advantage that results derived apply directly to the program under consideration without the need for an intermediate stage Such program model-checkers utilise symbolic execution to internally build a model to be analysed and, AJPF is slow when compared to traditional model-checkers. Java PathFinder (JPF) is an explicit state model-checker for Java programs [29] It is a program model-checker, meaning that it takes as input an executable Java program rather than a model of a Java program and exhaustively explores all possible execution paths through this program to ensure that some property holds. The BDI agent concepts [26] are mapped to specific data structures in the Java program, allowing properties such as the following to be verified:

Objectives
Results
Conclusion
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call