Hybrid approach to software interworking problems: 
Managing interactions between legacy and evolving telecommunications software

Muffy Calder, E.H. Magill and D. Marples
IEE Proceedings Software, Volume 146, Number 3, pages 167-175, June 1999

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 online or offline, formally or pragmatically/experimentally based. While numerous approaches have been developed, there have been very few attempts to combine formally based and online approaches to produce a technique.  Our research goal is to develop such a technique because our experience with the other combinations has led to the belief 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 online and formally based approaches promises to address problems which have proven very difficult to resolve with other techniques.  The paper outlines a hybrid approach based on a transactional technique with rollback capability. While the approach described is applied specifically to telecommunications services software, many aspects of the approach are applicable to other software domains which exhibit similar characteristics of real-time, event driven operation, such as control systems.