School of Computing

Projects

C3DS - Control and Coordination of Complex Distributed Services

The objective of the C3DS project is to exploit distributed object technology to create a framework for complex service provisioning. By complex service provisioning we primarily mean the ability to compose a given service out of existing ones as well as the ability to exercise dynamic control over the execution of the service. Mechanisms will be needed to dynamically add, extend, remove or move component services in a dependable and predictable manner (service level requirements). At the same time, end users, most of whom will not be programmers, must be able to specify, create, configure and manage services easily (end user requirements). The C3DS approach to building a framework for complex service provisioning, unlike other approaches, will be based on unifying three technologies: software architecture based development environments, software agents and transactional workflow management systems. An agent may be defined as a software entity (e.g. a process, an active object) that performs operations on behalf of a user or another software entity in order to achieve an assigned goal. Agents are ideally suited to meeting end user requirements. Workflows are rule based management software that direct, coordinate and monitor execution of multiple tasks arranged to form complex organisational functions. Workflow management systems are ideally suited to meeting service level requirements. Software architecture specifications, expressed in a high-level Architecture Description Language (ADL) describe the structure of the components of a software system, their interrelationships, and principles and guidelines governing their design and evolution. ADL based development environments are an ideal way of precisely describing and composing modern software systems and hold the promise of abstracting away the differences between agent and workflow based systems. C3DS will achieve its objective by: (a) developing ADL-based tools and techniques for the specification of the software architecture of complex services, and for the construction of services through combination of components; and, (b) integrating agent and workflow technologies for the development of a distributed Task Control and Coordination Service (TCCS) platform that will provide the basic infrastructure for the deployment of software agents and control and coordination of service provisioning activities. The features of the ADL will be expressive enough to permit descriptions of inter-task dependencies and coordination as expressed in workflow scripts and agent programs thereby providing a unified way to build agent and workflow based systems. To achieve interoperability in a heterogeneous environment, the TCCS platform will make use of the object request broker (ORB) middleware and CORBA services, such as object transaction service, to support a novel dependable workflow execution environment using flexible transactions composed of transactional and non-transactional activities. The Project will construct demonstrator applications to evaluate the approach. The Project will adopt an evolutionary approach, building upon past results and the current research activity and experience of each of the partners in the area of distributed computing. Bull and INRIA-Rhone-Alpes are presently working on the development of agent technology, Newcastle is developing a CORBA compliant transactional workflow system for service provisioning, while Imperial and INRIA-Rennes have extensive experience of component based programming, and have developed architecture specification tools and notations. This will enable the Project to embark on research, design and implementation work on the integrated framework and meet the Project objectives within the constraints of time and budget. The Project has formed an Industrial Advisory Panel, that together with the industrial partner (Bull) will ensure that the Project addresses the needs of industry, The main result will be the C3DS framework, a novel software toolkit for specifying, controlling and coordinating complex distributed services that will be easy to create, manage and customise. The need for such a framework is widely recognised. A number of industry led initiatives, OMG, TINA, W3C to mention a few, are active in this area Whilst the Framework will be the most identifiable way of demonstrating the effectiveness of the Project results, the concepts and techniques that underpin these results will be of generic value, capable of being incorporated in proprietary systems. Results from C3DS will lead to significantly improved software technology for service provisioning and, given the interest in this area, will be timely and relevant to the European IT industry. Members of the Industrial Advisory Panel are potential users of C3DS technology. The industry partner of the Project (Bull) will apply C3DS results to enhance its distributed firewall coordination and control technology. In addition, the academic partners of the Project have planned specific exploitation routes for C3DS results through their industrially funded projects. The Project will organise an Open Workshop to disseminate research results. The open workshop will include a technology transfer event consisting of demonstrations of C3DS results. The Project will contribute within the Software Technologies Domain; specifically in the Distributed Systems and Database Technology sub-domain, Tasks 1.13, 1.14, 1.15, 1.16, 1.21, 1.26 and 1.34 and in the Human Comfort and Security sub-domain, Task 1.26.