Using Architecture Analysis to Evolve Complex Industrial Systems

  • Tommy Kettu
  • Eckhard Kruse
  • Magnus Larsson
  • Goran Mustapic
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5135)


ABB is a large industrial company with a broad product portfolio that contains products that can be categorized as highly complex industrial systems. Software embedded in complex industrial systems must support rigid system dependability requirements. It is not only a challenge to design and implement these systems as dependable, but it is also difficult to maintain this important property over time. There are several factors that make software evolution a challenging task, such as: size of the software base is measured in order of MLOC, products are long-lived and extended to support new requirements over time longer than 10 years. Because of personnel turnover important knowledge is lost from time to time, and the only artifact that is really up-to-date is the implementation itself. Therefore, to obtain an up-to-date view of the system and prevent expensive mistakes during system evolution, it is beneficial to find practical ways to obtain an up-to-date view on an architectural level without having to read thousands of lines of source code. These activities should be seen as an important contribution for preventing the introduction of faults into software systems since they contribute to improve and maintain the overall system dependability. This experience paper provides practical advices on how to reconstruct the architecture of existing systems by combining the use of tools and the existing knowledge within the organization. The paper is based on experiences from two cases in different sub domains within industrial automation.


D.2.11 Software Architectures D.2.7.m Restructuring reverse engineering reengineering 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Merola, L.: The COTS software obsolescence threat. In: Fifth International Conference on Commercial-off-the-Shelf (COTS)-Based Software Systems, 2006, p. 7 (2006)Google Scholar
  2. 2.
    Kazman, R., Carriere, S.J.: Playing detective: reconstructing software architecture from available evidence. Automated Software Engineering 6, 107–138 (1999)CrossRefGoogle Scholar
  3. 3.
    Binkley, D.: Source Code Analysis: A Road Map. In: Future of Software Engineering, 2007. FOSE 2007, pp. 104–119 (2007)Google Scholar
  4. 4.
    Riva, C., Rodriguez, J.V.: Combining static and dynamic views for architecture reconstruction. In: Proceedings Sixth European Conference on Software Maintenance and Reengineering, 2002, pp. 47–55 (2002)Google Scholar
  5. 5.
    Clements, P., Kazman, R., Klein, M.: Evaluating Software Architectures: Methods and Case Studies. Addison-Wesley Professional, Reading (2001)Google Scholar
  6. 6.
    Bosch, J.: Design and Use of Software Architectures: Adopting and Evolving a Product-Line Approach. Addison-Wesley Professional, Reading (2000)Google Scholar
  7. 7.
    Kazman, R., Asundi, J., Klein, M.: Making Architecture Design Decisions: An Economic Approach. Pittsburgh (2002)Google Scholar
  8. 8.
    Sangal, N.: Lightweight Dependency Models for Product Lines. In: Software Product Line Conference, 2006 10th International, p. 228 (2006)Google Scholar
  9. 9.
    Lindvall, M., Ackermann, A., Stratton, W.C., Sibol, D.E., Ray, A., Yonkwa, L., Kresser, J., Godfrey, S., Knodel, J.: Using Sequence Diagrams to Detect Communication Problems between Systems. Fraunhofer Center for Experimental Software Engineering (2007)Google Scholar
  10. 10.
    Svahnberg, M.: A study on agreement between participants in an architecture assessment. In: 2003 International Symposium on Empirical Software Engineering, 2003. ISESE 2003, pp. 61–70 (2003)Google Scholar
  11. 11.
    Avizienis, A., Laprie, J.-C., Randell, B., Landwehr, C.: Basic Concepts and Taxonomy of Dependable and Secure Computing. IEEE Transactions on Dependable and Secure Computing 1(1), 11–33 (2004)CrossRefGoogle Scholar
  12. 12.
    Balakrishnan, G., Reps, T., Melski, D., Teitelbaum, T.: WYSINWYX: What You See Is Not What You eXecute, IFIP Working Conference on Verified Software: Theories, Tools, Experiments, Zurich, Switzerland (2005)Google Scholar
  13. 13.
    Guo, G.Y., Atlee, J.M., Kazman, R.: A Software Architecture Reconstruction Method, WICSA1, San Antonio, Texas, USA (1999)Google Scholar
  14. 14.
    Damien, P., et al.: Towards A Process-Oriented Software Architecture Reconstruction Taxonomy. In: Proceedings of the 11th European Conference on Software Maintenance and Reengineering (2007)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2008

Authors and Affiliations

  • Tommy Kettu
    • 1
  • Eckhard Kruse
    • 2
  • Magnus Larsson
    • 1
    • 3
  • Goran Mustapic
    • 1
  1. 1.Industrial Software SystemsABB, Corporate ResearchVästeråsSweden
  2. 2.Industrial Software SystemsABB, Corporate ResearchLadenburgGermany
  3. 3.Industrial Software SystemsMälardalen UniversityVästeråsSweden

Personalised recommendations