PROGRAMMING LANGUAGE TECHNOLOGIES
ERCIM News No.36 - January 1999

Service Creation for All: Initial Results of the TOSCA Project

by Richard Sinnott


The TOSCA (TINA Open Service Creation Architecture) project aims to develop an open service creation environment that can be used to expedite the creation and subsequent validation of multimedia-based telecommunication services. In particular, the project is attempting to widen the audience of ‘would-be’ service creators. This article gives an overview of how this is being achieved in TOSCA.

The TOSCA project which began in September 1996, has recognised the need to differentiate between the different creators of telecommunication services that might exist in the modern marketplace. For example, service designers as might be employed by public network operators are likely to create services using a detailed knowledge of the expected service behaviour. Business consultants or telecommunication managers on the other hand, are more likely to create services based on an understanding of the end user requirements, as opposed to a detailed knowledge of the service specification and low-level service construction. Regarding this latter point, a lack of understanding of technologies such as C++, SDL (Specification and Description Language), or distributed platform technologies such as Orbix etc. should not be prohibitive to the service creation process.

As well as providing different levels of abstraction at which services might be developed, a key factor on the success of a service creation environment is the speed at which a multitude of services can be created. This includes integration with their service surround as might be the case in the usage of an existing accounting service say, by a newly created tele-learning service.

To accommodate these requirements on rapid service creation and the potentially wide spectrum of would-be users, TOSCA has taken an approach based upon object-oriented frameworks in accompaniment with graphical (and intuitive) service design tools - so called Paradigm tools. A framework may be considered as a mostly complete model of a service with some pre-defined flexibility points where the developer can intervene (either manually or through a paradigm tool) to specialise the behaviour of the service.

Currently frameworks in C++/Orbix and SDL have been completed. These were based around an existing implementation of a TINA based multimedia conferencing service (TIMMAP). Both of these frameworks started from a TINA ODL (Office Document Language) and IDL (Interface Definition Language) description accompanied by informal behavioural descriptions and use cases. We note that tool support (Y.SCE) was used to convert these ODL/IDL descriptions to SDL stubs and skeletons whose behaviour was added (and checked) using the SDL Design Tool of the Telelogic TAU toolset.

Different paradigm abstractions have been considered in TOSCA. Two of those which resulted in prototype implementations were:
• functional block paradigm: here the design of the service is based on architecting a collection of building blocks representing particular functional decompositions of the overall service behaviour
• movies paradigm: here the design of the service is based on considering the service behaviour as a whole through a sequence of snapshots of its expected functionality.

The following highlights how the functional block paradigm tool (Cadenza) is used to create the different roles that might exist in a multimedia conference.

Specifying the Roles in a Multimedia Conference

The functionality associated with these roles is achieved through inserting behaviour into specific framework flexibility points. For example, enabling a chairman to invite other participants (the default functionality is that the party may terminate or suspend their participation in a session) is achieved through specialising the framework flexibility point related to starting user sessions so that a chairman has an invite window created. Other flexibility points related to stopping, suspending or resuming user sessions and starting, stopping, suspending and resuming or service sessions have also been identified.

Specialising the Start-Up of the Chairman Role

More complex building block scenarios are also possible. The output of these tools is the specialising C++ or SDL necessary to complete the service implementation or SDL model from the respective frameworks. An example of the kind of (service-session) user application (for interacting with the service implementation and the service model once a service session has started) that might be generated for a chairman from the framework using the paradigm tool is shown in the figure.

Example of Resultant Chairman Control Window

Once the SDL model of the service is complete, it is used as a basis for deriving test cases to run against the C++/Orbix implementation of that service. Tool support (a CORBA/TTCN gateway; Common Object Request Broker Architecture/Tree and Tabular Combined Notation) has also been developed to allow for these test cases to be executed directly against the service implementation.

The TOSCA project is funded under ACTS (Advanced Communications Technologies and Services). Further information on the TOSCA work can be found at: http://www.teltec.dcu.ie/tosca

Please contact:

Richard Sinnott - GMD
Tel: +49 30 3463 7298
E-mail: sinnott@fokus.gmd.de


return to the ERCIM News 36 contents page