Automatic translation of PARADIGM models into PLTL-based programs Rodolfo Sab´ asG´omez Departamento de Ciencias e Ingenier´ ıa de la Computaci´ on Universidad Nacional del Sur Argentina rgomez@cs.uns.edu.ar Juan Carlos Augusto Department of Electronics and Computer Science University of Southampton United Kingdom jca@ecs.soton.ac.uk Abstract Software systems have evolved from monolythic pro- grams to systems constructed from parallel, coopera- tive components, as can be currently found in object- oriented applications. Although powerfull, these coop- erative systems are also more difficult to verify. We show it is possible to automatically translate PARADIGM models into a Propositional Linear Tem- poral Logic based program. This has several in- teresting consequences: a) on one hand we al- low a more declarative view of PARADIGM models, b) the resulting translation is an executable specifica- tion and c) as we show in this work it can also be useful on verifying correctness properties by automatic means. We think this will contribute to enhance the understanding, usability and further development of PARADIGM, and related methods like SOCCA, within both the Software Engineering and the Knowledge En- gineering communities. 1. Introduction PARADIGM [15] is a high-level modelling language which has been proposed for designing parallel and co- operative systems. It is well known as being the sub- language of SOCCA [6] used for modelling object com- munication, coordination and cooperation. SOCCA and PARADIGM have received a notable attention by both Software and Knowledge Engineer- ing communities. For example, SOCCA has been used to describe an adaptive software process [16] and an example of industrial maintenance [5], which are typi- cal problems in the area of SE, as well as to describe Blackboard Systems [14], which is a problem in the area of KE. It can also be argued that PARADIGM and SOCCA are likely to find important applications in the area of multiagent systems. For example, [1] shows an UML statechart-based design of multiagent systems which is very likely to be benefited by the coordination- modelling capabilities of PARADIGM. Other works (see e.g., [8]) can be consulted for details about multi- agent coordination. Propositional Linear Temporal Logic (PLTL) has been used in the specification of dynamic systems and verification of their behavior correctness ([11] and [13]). Different specification and verification systems have been proposed in the literature, notably STeP [3] and SPIN [10]. In the STeP framework SPL can be used to specify a system that is translated to a Fair Transition System. Then, behavior properties expressed by tem- poral logic formulas can be verified using a deductive approach. In the SPIN framework a system is specified using the Promela language to represent a system con- ceived through a Global State Automata. Then tempo- ral logic formulas can again be verified but in this case using the model checking technique. Other approaches to verification are based on more complex temporal as- sumptions like branching time, e.g. Kronos [17], here we focus on linear time leaving verification over branch- ing time and other issues for future exploration. We show it is possible to automatically translate a PARADIGM model into a PLTL-based program, thus obtaining an executable specification for the real sys- tem. This program will be composed by a number of logic rules implying, at any time, the current s- tate of process executions. These rules can be en- tirely generated from the information provided in any PARADIGM model. One benefit that can be expected from such a trans- lation is that the temporal logic framework allow us