1. Introduction
In recent papers [e.g. [2], we have argued that, in order to endow systems with the levels of agility that are required for operating in environments in which business requirements change very rapidly–which is the case of most organisations operating in the e-Economy–it is essential that the rules that determine the way the components that model basic business entities need to interact in order to fulfil these requirements, be externalised from the way these components are implemented, and given an explicit representation in architectural models of systems as connectors. The idea is to implement these connectors in ways that allow for the architecture to evolve in terms of the reconfiguration of the connectors in place without being intrusive on the code that implements the components. In this way, we can make system evolution to be directly compositional over business evolution, i.e., through the architecture, changes in the business domain can be mapped directly to the configuration of the system. For this purpose, we have proposed the extension of current conceptual modelling languages and approaches like the UML [3] with a new semantic primitive - coordination contracts–that builds on well established concepts and practices of Software Engineering, namely superposition as known for Parallel Program Design [8], coordination principles as developed in the context of Coordination Languages and Models [6], and the notion of architectural connector as developed within Software Architectures [1], [11]. This primitive has been proposed together with methodological principles [2], a mathematical semantics [4], and implementation micro-architectures that use known design patterns [7].