Control and Coordination of
Complex Distributed Services
ESPRIT Long Term Research Project 24962
(expected) 1 January 1998 to 31 December 2000
The objective of the C3DS Project has been to exploit distributed object technology to create a framework for complex service provisioning. That is, the ability to compose a given service out of existing ones (most distributed services will not be built from scratch; they will make use of existing services and facilities) and the ability to exercise dynamic control over the execution of the service.
The approach taken has been to consider the entire life cycle of a service; specification, analysis, deployment (creation) and management, based on the use of three technologies:
Using these technologies, the Project has developed an advanced service execution environment, the Task Control and Coordination Service (TCCS) platform based on the integration of workflow and MOM/agent technologies and the TCCS development environment with associated high-level graphical tools for configuring, deploying, controlling and monitoring services based on the use of Architecture Description Languages (ADLs) based tools for service specification, analysis, creation and management.
The service provisioning platform and development environment are:
Finally, the project has presented research results at international conferences and seminars, contributed to the development of OMG standards and transferred the technology to market through the development of start-up companies. A joint Bull S.A. and INRIA spin-off: A3 Technologies, intends to productise and industrialise the messaging A3 platform and the Architecture Description Language environment. Arjuna Solutions Ltd, a company set up at Newcastle to exploit transaction and workflow technologies, has been acquired by Bluestone Software Inc., now a wholly owned subsidiary of Hewlett-Packard.
At the project's final review, the reviewers congratulated all partners on the completion of a successful project. While C3DS was ambitious in scope, as befits a Long Term Research Project, the reviewers were impressed by the final results and consequent industrial take up.
C3DS Project publications are available on this web site via the Technical Report Series link (below) and presentations of results at the final review are available by clicking here.
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-Rhône-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 ESPRIT 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.
Industrial Advisory Panel: