Abstract
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.
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
Merola, L.: The COTS software obsolescence threat. In: Fifth International Conference on Commercial-off-the-Shelf (COTS)-Based Software Systems, 2006, p. 7 (2006)
Kazman, R., Carriere, S.J.: Playing detective: reconstructing software architecture from available evidence. Automated Software Engineering 6, 107–138 (1999)
Binkley, D.: Source Code Analysis: A Road Map. In: Future of Software Engineering, 2007. FOSE 2007, pp. 104–119 (2007)
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)
Clements, P., Kazman, R., Klein, M.: Evaluating Software Architectures: Methods and Case Studies. Addison-Wesley Professional, Reading (2001)
Bosch, J.: Design and Use of Software Architectures: Adopting and Evolving a Product-Line Approach. Addison-Wesley Professional, Reading (2000)
Kazman, R., Asundi, J., Klein, M.: Making Architecture Design Decisions: An Economic Approach. Pittsburgh (2002)
Sangal, N.: Lightweight Dependency Models for Product Lines. In: Software Product Line Conference, 2006 10th International, p. 228 (2006)
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)
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)
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)
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)
Guo, G.Y., Atlee, J.M., Kazman, R.: A Software Architecture Reconstruction Method, WICSA1, San Antonio, Texas, USA (1999)
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)
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 2008 Springer-Verlag Berlin Heidelberg
About this chapter
Cite this chapter
Kettu, T., Kruse, E., Larsson, M., Mustapic, G. (2008). Using Architecture Analysis to Evolve Complex Industrial Systems. In: de Lemos, R., Di Giandomenico, F., Gacek, C., Muccini, H., Vieira, M. (eds) Architecting Dependable Systems V. Lecture Notes in Computer Science, vol 5135. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-85571-2_14
Download citation
DOI: https://doi.org/10.1007/978-3-540-85571-2_14
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-85570-5
Online ISBN: 978-3-540-85571-2
eBook Packages: Computer ScienceComputer Science (R0)