Abstract
Many methods and tools for the reengineering of software systems have been developed so far. However, the domain-specific requirements of telecommunication systems have not been addressed sufficiently. The E-CARES project is dedicated to reverse engineering of complex legacy telecommunication systems by providing graph-based tools. With E-CARES, the software architecture of a telecommunication system is recovered in two steps. In the first step (program analysis), the source code is parsed to build a structure graph which uses the abstractions of the underlying programming language and describes the internals of program units (blocks) as well as their communication via exchange of signals. In the second step, a software architecture description is abstracted from the structure graph. The software architecture is described in ROOM, a real-time object-oriented modeling language for embedded systems design. Both program analysis and architecture recovery are based on graphs and graph transformations. In both steps, domain-specific knowledge — referred to as methods of use — is exploited which refers to the ways how language constructs are used to realize processing concepts of telecommunication systems.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Chikofsky, E.J., Cross II, J.H.: Reverse engineering and design recovery: A taxonomy. IEEE Software 7(1), 13–17 (1990)
Kazman, R., Woods, S.G., Carrière, J.: Requirements for integrating software architecture and reengineering models: CORUM II. In: Proceedings 5th Working Conference on Reverse Engineering (WCRE 1998), Hawai, USA, pp. 154–163. IEEE Computer Society Press, Los Alamitos (October 1998)
Cremer, K., Marburger, A., Westfechtel, B.: Graph-based tools for re-engineering. Journal of Software Maintenance and Evolution: Research and Practice 14, 257–292 (2002)
Markosian, L., Newcomb, P., Brand, R., Burson, S., Kitzmiller, T.: Using an enabling technology to reengineer legacy systems. Communications of the ACM 37(5), 58–70 (1994)
Kollmann, R., Selonen, P., Stroulia, E., Systä, T., Zündorf, A.: A study on the current state of the art in tool-supported UML-based static reverse engineering. In: van Deursen, A., Burd, E. (eds.) Proceedings 9th Working Conference on Reverse Engineering (WCRE 2002), Richmond, VA, pp. 22–32. IEEE Computer Society Press, Los Alamitos (November 2002)
Wilde, N., Scully, M.: Software reconnaissance: Mapping program features to code. Journal of Software Maintenance: Research and Practice 7(1), 49–62 (1995)
Marburger, A., Herzberg, D.: E-CARES research project: Understanding complex legacy telecommunication systems. In: Sousa, P., Ebert, J. (eds.) Proceedings 5th European Conference on Software Maintenance and Reengineering (CSMR 2001), Lisbon, Portugal, pp. 139–147. IEEE Computer Society Press, Los Alamitos (2001)
Marburger, A.: Reverse Engineering of Complex Legacy Telecommunication Systems. Informatik. Shaker Verlag, Aachen (2005)
Mosler, C.: Graphbasiertes Reengineering von Telekommunikationssystemen. Informatik. Shaker Verlag, Aachen (2009)
Selic, B., Gullekson, G., Ward, P.T.: Real-Time Object-Oriented Modeling. John Wiley & Sons, Reading (1994)
Herzberg, D.: Modeling Telecommunication Systems: From Standards to System Architectures. PhD thesis, RWTH Aachen University, Aachen, Germany (2003)
Ellsberger, J., Hogrefe, D., Sarma, A.: SDL - Formal Object-Oriented Language for Communicating Systems. Prentice Hall, Upper Saddle River (1997)
Object Management Group Needham, Massachusetts: OMG Unified Modeling Language (OMG UML), Superstructure, V 2.1.2. formal/2007-11-02 edn. (November 2007)
Marburger, A., Westfechtel, B.: Tools for understanding the behavior of telecommunication systems. In: Proceedings 25th International Conference on Software Engineering (ICSE 2003), Portland, OR, pp. 430–441. IEEE Computer Society Press, Los Alamitos (2003)
Liu, S.S., Wilde, N.: Identifying Objects in a Conventional Procedural Language: An Example of Data Design Recovery. In: Proceedings of the Conference on Software Maintenance (CSM 1990), San Diego, CA, pp. 266–271. IEEE Computer Society Press, Los Alamitos (1990)
Canfora, G., Cimitile, A., Munro, M.: An Improved Algorithm for Identifying Objects in Code. Software - Practice and Experience 26(1), 25–48 (1996)
Marburger, A., Westfechtel, B.: Graph-based reengineering of telecommunication systems. In: Corradini, A., Ehrig, H., Kreowski, H.-J., Rozenberg, G. (eds.) ICGT 2002. LNCS, vol. 2505, pp. 270–285. Springer, Heidelberg (2002)
Schürr, A., Winter, A., Zündorf, A.: The PROGRES approach: Language and environment. In: Ehrig, H., Engels, G., Kreowski, H.J., Rozenberg, G. (eds.) Handbook of Graph Grammars and Computing by Graph Transformation. Applications, Languages, and Tools, vol. 2, pp. 487–550. World Scientific, Singapore (1999)
Böhlen, B., Jäger, D., Schleicher, A., Westfechtel, B.: UPGRADE: A framework for building graph-based interactive tools. In: Mens, T., Schürr, A., Taentzer, G. (eds.) Proceedings of the International Workshop on Graph-Based Tools (GraBaTs 2002), Barcelona, Spain. Electronic Notes of Theoretical Computer Science, vol. 72-2, pp. 149–159 (October 2002)
Marburger, A., Westfechtel, B.: Behavioral analysis of telecommunication systems by graph transformations. In: Pfaltz, J.L., Nagl, M., Böhlen, B. (eds.) AGTIVE 2003. LNCS, vol. 3062, pp. 202–219. Springer, Heidelberg (2004)
Schürr, A.: Specification of graph translators with triple graph grammars. In: Mayr, E.W., Schmidt, G., Tinhofer, G. (eds.) WG 1994. LNCS, vol. 903, pp. 151–163. Springer, Heidelberg (1995)
Königs, A., Schürr, A.: Tool Integration with Triple Graph Grammars - A Survey. In: Heckel, R. (ed.) Proceedings of the SegraVis School on Foundations of Visual Modelling Techniques. Electronic Notes in Theoretical Computer Science, vol. 148, pp. 113–150. Elsevier Science, Amsterdam (2006)
Müller, H.A., Wong, K., Tilley, S.R.: Understanding Software Systems Using Reverse Engineering Technology. In: The 62nd Congress of L’Association Canadienne Francaise pour l’Avancement des Sciences ACFAS 1994, Montreal, Canada, pp. 41–48 (May 1994)
Ebert, J., Süttenbach, R., Uhe, I.: Meta-CASE in practice: A case for KOGGE. In: Olivé, À., Pastor, J.A. (eds.) CAiSE 1997. LNCS, vol. 1250, pp. 203–216. Springer, Heidelberg (1997)
van Zuylen, H.J. (ed.): The REDO Compendium: Reverse Engineering for Software Maintenance, p. 405. John Wiley & Sons, Chichester (1993)
Canfora, G., Cimitile, A., De Lucia, A., Di Lucca, G.A.: Decomposing Legacy Systems into Objects: An eclectic approach. Information Technology and Software 43(6), 401–412 (2001)
Zündorf, A.: Rigorous Object-Oriented Development. Habilitation thesis, University of Paderborn, Paderborn, Germany (2002)
Lange, C., Sneed, H.M., Winter, A.: Applying the graph-oriented GUPRO Approach in comparison to a Relational Database based Approach. In: Proceedings of the 9th International Workshop on Program Comprehension IWPC 2001, pp. 209–218. IEEE Computer Society Press, Los Alamitos (2001)
Kazman, R., Carrière, S.J.: Playing Detective: Reconstructing Software Architecture from Available Evidence. Journal of Automated Software Engineering 6(2), 107–138 (1999)
Ebert, J., Kullbach, B., Riediger, V., Winter, A.: GUPRO – Generic Understanding of Programs: An Overview. Electronic Notes in Theoretical Computer Science 72(2), 10 pages (2002), http://www.elsevier.nl/locate/entcs/volume72.html
Finnigan, P.J., Holt, R.C., Kalas, I., Kerr, S., Kontogiannis, K., Müller, H.A., Mylopoulos, J., Perelgut, S.G., Stanley, M., Wong, K.: The Software Bookshelf. IBM Systems Journal 36(4), 564–593 (1997)
Müller, H.A., Orgun, M.A., Tilley, S.R., Uhl, J.S.: A Reverse Engineering Approach To Subsystem Structure Identification. Journal of Software Maintenance: Research and Practice 5(4), 181–204 (1993)
Koschke, R.: Atomic Architectural Component Recovery for Program Understanding and Evolution. Doctoral thesis, Institute of Computer Science. University of Stuttgart, Stuttgart, Germany, p. 414 (2000)
Holt, R.C., Malton, A., Davis, I., Bull, I., Trevors, A.: SWAGKit – The Software Architecture Toolkit. Software Architecture Group, University of Waterloo, Canada (2003), http://swag.uwaterloo.ca/swagkit/
Knor, R., Trausmuth, G., Weidl, J.: Reengineering C/C++ Source Code by Transforming State Machines. In: van der Linden, F.J. (ed.) Development and Evolution of Software Architectures for Product Families. LNCS, vol. 1429, pp. 97–105. Springer, Heidelberg (1998)
Pinzger, M., Gall, H.: Pattern-Supported Architecture Recovery. In: Proceedings of the 10th International Workshop on Program Comprehension (IWPC 2002), Paris, France, pp. 53–61 (June 2002)
Fiutem, R., Tonella, P., Antoniol, G., Merlo, E.: A Cliché-Based Environment to Support Architectural Reverse Engineering. In: Proceedings of the 1996 International Conference on Software Maintenance (ICSM 1996), Monterey, CA, USA, November 4-8, pp. 319–328. IEEE Computer Society Press, Los Alamitos (1996)
Guo, G.Y., Atlee, J.M., Kazman, R.: A Software Architecture Reconstruction Method. In: Donohoe, P. (ed.) Proceedings of the First Working IFIP Conference on Software Architecture (WICSA 1999), San Antonio, Texas, USA, February 22-24, pp. 15–34. Kluwer Academic Publishers, Dordrecht (1999)
Burd, E., Munro, M., Wezeman, C.: Analysing Large COBOL Programs: the extraction of reusable modules. In: Proceedings of the 1996 International Conference on Software Maintenance ICSM 1996, Monetery, Canada, pp. 238–243. IEEE Computer Society Press, Los Alamitos (November 1996)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2010 Springer-Verlag Berlin Heidelberg
About this chapter
Cite this chapter
Marburger, A., Westfechtel, B. (2010). Graph-Based Structural Analysis for Telecommunication Systems. In: Engels, G., Lewerentz, C., Schäfer, W., Schürr, A., Westfechtel, B. (eds) Graph Transformations and Model-Driven Engineering. Lecture Notes in Computer Science, vol 5765. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-17322-6_16
Download citation
DOI: https://doi.org/10.1007/978-3-642-17322-6_16
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-17321-9
Online ISBN: 978-3-642-17322-6
eBook Packages: Computer ScienceComputer Science (R0)