The CORDET Framework


The CORDET Framework

The CORDET Framework is a specification of a generic architecture for service-oriented applications.

It pre-defines a set of components and message-based interfaces through which applications can request services from each other and provide information about themselves to each other. With the CORDET Framework a system of distributed applications is specified by customizing these components and by connecting them through the framework’s service interface.

The CORDET Framework provides a complete and unambiguous behavioural model for all its components. The behavioural model is based on state machines and activity diagrams. It allows users to analyze the behaviour of their applications statically and at specification level. Model checking techniques can be used to provide formal proof of correctness. The definition of the CORDET Framework is available in this document.

The service concept of the CORDET Framework is derived from the Packet Utilization Standard (PUS). The PUS is an interface standard for space-based applications which is widely used in European space programs. An extension of the framework to support the most commonly used PUS services is under development. Its specification is available on request.

An early version of the CORDET Framework was used to define the architecture of a system of medical diagnostic applications. The current version has been used for the development of the on-board software of the payload of the CHEOPS and SMILE Satellites.

A Service-Oriented Architecture

The distribution model of the CORDET Framework is based on the concept of service. A service is a set of logically and functionally related capabilities that an application offers to other applications. The CORDET Service concept sees an application as a provider of services to other applications and as a user of services from other applications.

The user of a service controls the service by sending commands to the service provider. A command defines actions to be executed by the service provider. The provider of a service sends reports to the user of the service. A report encapsulates information about the internal state of the service provider. The same application may act as a service provider to several user applications and, vice-versa, it may use the services from several other providers. A CORDET System consists of a network of applications which interact with each other by exchanging service requests.

With a service-oriented concept, an application is specified in terms of the services it offers to other applications and of the services it needs from other applications. The services are in turn specified by the commands and reports which implement them.

The CORDET Framework supports the development of service-oriented distributed applications by:

  • Providing a formal definition of the abstract (implementation-independent) concept of commands and reports.
  • Specifying the components which implement the abstract command and report concepts.
  • Allowing services of general applicability for a specific domain to be pre-defined as building blocks for the development of applications in that domain.