FOCLASA 2007 Executable Models as Composition Elements in the Construction of Families of Applications Jorge Villalobos 1 , Mario S´ anchez 2,3 and Daniel Romero 4 Universidad de los Andes, Bogot´ a, Colombia Abstract In control-based applications, there is a central coordination element that leads the cooperative execution of several active entities, and provides a way to integrate them to achieve a common goal. Unfortunately, the contexts where control-based applications are used tend to evolve frequently, and they are not always flexible enough to cope with these changes in a timely and cost effective manner. In particular, they present problems with the coordination and composition of evolving and new elements. In this paper, we propose a strategy to build families of control-based applications by lessening the problems related to evolution and adaptation. This is achieved using an executable language for modeling processes, Cumbia-XPM, and a coordination model that supports the modeling language. The latter is composed by open objects, which are objects that expose their internal state using a state machine that abstracts their life-cycle. These state machines provide also an event-based mechanism for coordination. Because of this underlying model, Cumbia-XPM is very extensible and can be used as an intermediate model that supports the execution of the control perspective of higher level languages. Using a similar strategy, the coordination model can be used to build models that represent other perspectives that also participate in control-based applications. Keywords: Objects, State machines, Composition, Coordination, Workflows, BPM. 1 Introduction Nowadays, a growing number of contexts are taking advantage of the usage of control-based applications. In these applications there is a central coordination el- ement that leads the cooperative execution of several active entities, and provides a way to integrate them to achieve a common goal[10]. This central element is what we call the control component. It comprises and executes entities that are part of the control-flow perspective, that is, elements that describe tasks and their execution ordering[15] to form processes. Control is complemented by entities from 1 Email: jvillalo@uniandes.edu.co 2 Email: mar-san1@uniandes.edu.co 3 Supported by the VLIR funded CARAMELOS project: http://ssel.vub.ac.be/caramelos/ 4 Email: da-romer@uniandes.edu.co This paper is electronically published in Electronic Notes in Theoretical Computer Science URL: www.elsevier.nl/locate/entcs