Abstract

The aim of the paper is to investigate issues with modelling systems that rely on concurrent access to a central data source. This will be investigated by looking at the tools used to model concurrent behavior in Empirical Modelling (EM) [1] and how such a system can be developed with the available tools. The existing tools, supplied by Warwick University, are LSD [2] specifications, the Abstract Definitive Machine (ADM) [3] and the EDEN interpreter [4]. LSD is responsible for specifying agents in a system and how they interact. LSD by itself cannot produce executable code but can be animated by extending the specification with the ADM, with the help of the EDEN interpreter.

EM is a way of representing our construal of artefacts in the world. It can describe them using three principles, observables, dependencies and agents. EM can be used to model a concurrent system by treating it as a special form of construal. Normally these types of systems require advanced formal specification of the concurrent behavior but EM accounts for behavior through identifying agents/objects and the observables used whilst interacting. It allows a designer to be a super-user in observation of a system and determine the simple interaction that occurs between models. This power to model the simple interaction between agents is the main basis for choosing EM to model the concurrency. This will model accessing shared resources in a more relaxed manner than conventional theory forming a view on commonsense concurrency.

Developing models with control of access to shared resources will be compared to other concurrent programming methods. This will involve comparing both the theoretical modelling of concurrency as well as physically implementing a model. Methods to be compared are the Communicating Sequential Processes (CSP) theory by Tony Hoare [5] and the Java language created by Sun Microsystems [6] respectively. The advantages of EM for development of systems as well as comparing the scope of the tools in ensuring correct behavior of a system. It is hoped that a simple evaluation of the EM and its respective tools will be achieved.

The paper will be of interest to those looking into the practical implementation of EM modelling of concurrent systems. This will only look at a specific area of concurrency, accessing a shared resource by many users. It will assume a basic knowledge of programming and concurrency as well as a basic understanding of EM itself. A model of a library booking system using a central resource that stores information about the books, employees and users will be developed to explore the issues. It will developed using LSD and the ADM tool as well using the EDEN interpreter to run the final application.