Reverse Engineering to Recover and Describe a System’s Architecture

  • Berndt Bellay
  • Harald Gall
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1429)

Abstract

The increasing interest in the software architecture of systems stems from the need to generate product families, to facilitate the reuse of components, to better understand systems and to redocument them. This paper introduces our approach to recover and describe a system’s architecture: different aspects of a system (i.e. architectural properties) are recovered and then described. The recovery process focuses on architectural properties, such as safety and variance and their description, but not on the recovery of a complete system’s architecture. Such a property-driven recovery allows to incrementally investigate those aspects of a system that are of special interest for the recovery purpose. Additionally the paper presents our architecture recovery framework and process, and an example illustrating the applicability of our framework.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    B. Bellay and H. Gall. A Comparison of four Reverse Engineering Tools. 4 th Working Conference on Reverse Engineering (Amsterdam, NL), October 1997.Google Scholar
  2. 2.
    B. Bellay, H. Gall, V. Hassler, W. Eixelsberger. Architecture recovery based on architectural concepts. Technical Report TUV 1841-97-13, Distributed Systems Department, Technical University of Vienna, 1997.Google Scholar
  3. 3.
    B. Bellay and H. Gall. View integration and combination. Technical Report, Distributed Systems Department, Technical University of Vienna, 1997.Google Scholar
  4. 4.
    W. Eixelsberger, L. Warholm, R. Klösch, and H. Gall. Software architecture recovery of embedded software. Proceedings of the 19 th International Conference on Software Engineering (Boston, USA), pp. 558–9, May 1997.Google Scholar
  5. 5.
    H. Gall and B. Bellay. The Hot-Spots technique to scavenge for architectural elements. Technical Report TUV-1841-97-11, Distributed Systems Department, Technical University of Vienna, 1997.Google Scholar
  6. 6.
    D. Garlan. An introduction to the Aesop system, School of Computer Science, CMU, July 1995.Google Scholar
  7. 7.
    D. Garlan and M. Shaw. An introduction to software architecture. In V. Ambriola and G. Tortora, editors, Advances in Software Engineering and Knowledge Engineering, volume 1, 1993.Google Scholar
  8. 8.
    D.R. Harris, H.B. Reubenstein, and A.S. Yeh. Reverse engineering to the architectural level. Proceedings of the 17 th International Conference on Software Engineering (Seattle, USA), pp. 186–95, April 1995.Google Scholar
  9. 9.
    R. Knor, and G. Trausmuth. Converting data structures and algorithms from C to C++ applying the satndard template library. Technical Report TUV 1841-97-16, Distributed Systems Department, Technical University of Vienna, 1997.Google Scholar
  10. 10.
    B. Kruchten. The 4+1 View Model of Architecture. IEEE Transactions on Software Engineering, pp. 42–50. IEEE, November 1995.Google Scholar
  11. 11.
    D.C. Luckham and J. Vera. An event-based architecture definition language. IEEE Transactions on Software Engineering, 21(9), pp. 717–34. IEEE, September 1995.CrossRefGoogle Scholar
  12. 12.
    J. Magee, N. Dulay, S. Eisenbach, and J. Kramer. Specifying Distributed Software Architectures. Proceedings of the 5th European Software Engineering Conference (Sitges, Spain). Published as LNCS, 989, pp. 137–53. Springer-Verlag, 1995.Google Scholar
  13. 13.
    D.E. Perry and A.L. Wolf. Foundations for the study of software architecture. ACM SIGSOFT Software Engineering Notes, 17(4), pp. 40–52, October 1992.CrossRefGoogle Scholar
  14. 14.
    M. Shaw, R. DeLine, D.V. Klein, T.L. Ross, D.M. Young, and G. Zelesnik. Abstractions for software architecture and tools to support them. IEEE Transactions on Software Engineering, 21(4), pp. 314–35, April 1995.CrossRefGoogle Scholar
  15. 15.
    D. Soni, R.L. Nord, and C. Hofmeister. Software Architecture in Industrial Applications. Proceedings of the 17 th International Conference on Software Engineering (Seattle, USA), pp. 196–207, April 1995.Google Scholar
  16. 16.
    W. Tracz, L. Coglianese, and P. Young. Domain-Specific Software Architecture Engineering Process Guidelines. Technical report ADAGE-IBM-92-02. IBM Corp., 1992.Google Scholar
  17. 17.
    D.I. Witt, F.T. Baker, and E.W. Merritt. Software Architecture and Design Principles, Models, and Methods. Van Nostrand Reinholt, 1994.Google Scholar
  18. 18.
    A.S. Yeh, D.R. Harris, and M.P. Chase. Manipulating recovered software architecture views. Proceedings of the 19 th International Conference on Software Engineering (Boston, USA), pp. 184–94, May1997.Google Scholar

Copyright information

© Springer-Verlag Heidelberg Berlin 1998

Authors and Affiliations

  • Berndt Bellay
    • 1
  • Harald Gall
    • 1
  1. 1.Distributed Systems GroupTechnical University of ViennaViennaAustria, Europe

Personalised recommendations