, fully compiled code. For this purpose, Code Generator parses pro- cessDoc and converts each element into the corresponding programming construct. While parsing this document, it creates place holders for the non- Telecom blocks and adds comments to aid the developer when she examines the generated code. For the Telecom blocks, it populates the proxy code, as described next. 3. Populate Telecom proxy code: In this step, the Code Generator imports the rel- evant implementations of the proxies from the Telecom Repository and gener- ates the code necessary to invoke the selected API in the proxy. The code produced depends on the programming language. For example, while for Java, it creates a class with an invoke method that internally calls the proxy API, for BPEL, it generates an invoke statement. Further, Code Generator also analyzes Service design Proxy look up, select Intermediate representation Transformation C/C++ Figure 1.4 Code Generation. Service Composition and Control the method signature of each API to understand the exceptions being thrown and organizes appropriate exception-handling blocks around it. Finally, Unit Test codes available with each proxy are included in the code generated. SewNet has been implemented as a framework, including various Telecom proxies, a composition studio to develop services using these proxies, and genera- tion of code in two different programming styles-Java and BPEL. The details of the implementation are available in [8]. Next, we provide an overview of related art in this space. 1.2.5 Related Work Work related to service composition using Telecom functionality can be broadly classified into (1) Composition Using Web Services and (2) Tools for Mashup Applications. Composition Using Web Services: The literature on Web service composition is extensive. Here we describe a few that we believe are broadly tied in with service composition using Telecom Functionalities. Triana [9] aims to facilitate Web service composition by providing a higher level of abstraction and guiding