A Hybrid Approach to Software Interworking Problems:
Legacy and Evolving Telecommunications Software
Department of Computing Science
University of Glasgow
Department of Electronic and Electrical Engineering
University of Strathclyde
CITEL Technologies Limited
Wheatcroft Business Park, Landmere Lane
Interworking problems between software services arise for a number of reasons; they may occur because the services, or their component parts, have evolved to fulfill different roles from the originally intended ones, resulting in conflicting requirements. Alternatively, the services themselves may be undocumented, poorly understood, or required to interwork with services from third party legacy systems. Interworking problems are difficult to predict and detect, as well as to resolve in an acceptable manner. The problems are particularly acute in the telecommunications domain with its supplementary concerns of real-time, distributed control and data, high reliability, rapid evolution, and a deregulated market that is encouraging multiple service providers.
Approaches to interworking problems may be characterised as being either on or off-line, formally or pragmatically/experimentally based. While numerous approaches have been developed, there have been very few attempts to combine formally-based and on-line approaches to produce a technique. Our research goal is to develop such a technique because our experience with the other combinations has led us to believe that they are not sufficient to deal with the interworking problems of complex, evolving software systems, as common in telecommunications. This is particularly the case for systems which also have to interwork with third party and legacy code: a hybrid approach which combines both on-line and formally based approaches promises to address problems which have proven very difficult to resolve with other techniques.
In this paper we outline a hybrid approach based on a transactional technique with rollback capability. Our long-term research programme is to integrate this with formal approaches; this is still at a preliminary stage. While the approach we describe is applied specifically to telecommunications services software many aspects of our approach are applicable in other software domains which exhibit similar characteristics of real-time, event driven operation, such as control systems.