Information and Software Technology 1995 37 (10) 580-587 A software engineering environment driven by event-condition-action rules and its trigger mechanism* WalcClio L Melo University zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA of Brasilia, Department of Computer Science, Brasilia, DF, Brazil e-mail:melo@cic.unb.br Noureddine Belkhatir and Jacky Estublier hboratoire de Genie Informatique, BP 53, 38041 Grenoble, France e-mail:belkhatir@isis.imag.fr Recently, PSEEs (Process-Centred Software Engineering Environments) have been investigated as a new architecture of SEES in which the software processes are explicitly described and drive the user interactions. A typical PSEE is composed of two components: a resource manager and a process manager. The resource manager is responsible for the management and control of all objects manipulated during the software processes. The process manager is the component supporting an explicit formalism to describe software processes. ADELE/TEMPO is a sample of this new tendency. This paper presents the main components of the kernel of the ADELE/ TEMPO system, i.e. its resource manager and process manager. Special attention is given to how these different basic components are integrated into a platform where software process models can be explicitly described by event-condition-action rules (E-C-A) and supported by an active software engineering database. Keywords: trigger, active software engineering database, role concept, process modelling, event-condition-action rules, knowledge-based software engineering environments During the past decade, projects on SEE (Software Engineering Environments) pointed out the importance of data integration and the role of an object management system as a kernel of SEES, e.g. ADELE’ and PCTE+*. Recently PSEEs (Process-Centred Software Engineering Environments) have been investigated as a new architecture of SEES in which the software processes are explicitly described and drive the user interactions. A typical PSEE is composed of two components: a resource manager and a process manager. The resource manager is responsible for the management and control of all objects manipulated during the software processes. The process manager is the component supporting an explicit formalism to describe software processes. In general, the resource manager uses an object-oriented database for controlling the allocations of resources to the software processes. *This paper is a revised and extended version of ‘Software process model and work space control in the ADELE/TEMPO system’, N Belkhatir, J Estublier and W Melo, published in the Proc. of the 2nd ht. Conf on the Software Process, pp 2-l 1, February 1993, IEEE Press. Due to the fact that objects are potentially shared simul- taneously by different software processes (in which they play different roles), the behaviour of an object cannot be defined statically; it is context dependent, i.e. the object behaviour depends on the processes in which it is used. Faced with the problem of multiple behaviour definitions, we have used a two-layer approach: (1) a kernel providing a general purpose set of concepts and mechanisms; and (2) an enactable formalism for software process definition and control oriented towards team coordination and synchronization. Based on our industrial experiments with ADELE 2’ (a software engineering database), we developed a prototype of PSEE, called ADELE/TEMPO. TEMPO makes intensive use of O-O (Object-Oriented) concepts and adapts them to software process description and enactment. The main characteristics of the software process language used by the ADELE/TEMPO system are the heavy use of trigger rules and O-O concepts, such as inheritance, late-binding and methods. In the remainder of this paper, we will show that the rule 0950-5849/95/!§09.50 0 1995 Elsevier Science B.V. All rights reserved