This thesis explores a method to model network services with particular emphasis on telecommunication controlplane applications. This class of applications is stateful, that is, the application's correct behavior is predicated upon the processing of previous events. Most telecommunication infrastructures are realized by a number of independent organizations, relying upon standards to ensure interoperability. By their very nature, most standards are open to some degree of interpretation, leading to issues during use. One of the primary motivations for the work described in this thesis has been to be able to rapidly realize and customize control plane applications described using models (messagecharts, statemachines) contained in industry standards. These efforts have resulted in the creation of the Lightweight Flow Engine (LiFE), an execution environment which accepts a domainspecific language designed to correspond well to modern control plane applications. While LiFE provides a general and flexible solution to the development of diverse services ranging from Voice over IP (VoIP) call control to billreconciliation processing, the resulting implementations have proven to be highly efficient and portable; additionally, services developed using the LiFE system are dynamically extensible and reconfigurable. In the thesis, several aspects of LiFE will be examined, including the software and system architecture of the flow engine, performance of key portions of the architecture, as well as the domainspecific language used to implement network functions. Two use cases will be presented as examples of the range of applications that can be described and realized efficiently using LiFE. As part of this thesis, a formal model is presented that distills the theoretical underpinnings of the domainspecific call-flow graph language described. The model, formulated as a labeled transition graph in which highlevel programming constructs are ascribed to transitions, smoothly unifies a number of computational paradigms that have remained separate so far. First, it can express both the asynchronous characteristics of interactive systems as well as the synchronous characteristics of reactive systems. Second, the data flow is explicitly delineated along message send and receive operations, thus assimilating the spirit of dataflow languages. The combination of asynchronous and synchronous features, as well as an explicit structure on the control and data flow seems to correspond well with the way network services are typically specified.
|Award date||13 Sep 2013|
|Place of Publication||Enschede|
|Publication status||Published - 13 Sep 2013|