Advertisement

Evolving Industrial Software Architectures into a Software Product Line: A Case Study

  • Heiko Koziolek
  • Roland Weiss
  • Jens Doppelhamer
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5581)

Abstract

Industrial software applications have high requirements on performance, availability, and maintainability. Additionally, diverse application landscapes of large corporate companies require systematic planning for reuse, which can be fostered by a software product-line approach. Analyses at the software architecture level can help improving the structure of the systems to account for extra-functional requirements and reuse. This paper reports a case study of product-line development for ABB’s robotics PC software. We analysed the software architectures of three existing robotics applications and identified their core assets. As a result, we designed a new product-line architecture, which targets at fulfilling various extra-functional requirements. This paper describes experiences and lessons learned during the project.

Keywords

Software Architecture Robot System Software Product Line Robot Controller Common Functionality 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Clements, P.C., Northrop, L.: Software Product Lines: Practices and Patterns. SEI Series in Software Engineering. Addison-Wesley, Reading (2001)Google Scholar
  2. 2.
    Stoermer, C., O’Brien, L.: MAP - mining architectures for product line evaluations. In: Proceedings of the First Working IEEE/IFIP Conference on Software Architecture (WICSA 2001), Amsterdam, Netherlands, pp. 35–44 (August 2001)Google Scholar
  3. 3.
    O’Brien, L.: Architecture reconstruction to support a product line effort: Case study. Technical Report CMU/SEI-2001-TN-015, Software Engineering Institute (SEI), Carnegie Mellon University (CMU) (July 2001)Google Scholar
  4. 4.
    Smith, D.B., Brien, L.O., Bergey, J.: Using the options analysis for reengineering (oar) method for mining components for a product line. In: SPLC 2: Proceedings of the Second International Conference on Software Product Lines, pp. 316–327. Springer, London (2002)Google Scholar
  5. 5.
    Engels, G., Hess, A., Humm, B., Juwig, O., Lohmann, M., Richter, J.P.: Quasar Enterprise: Anwendungslandschaften service-orientiert gestalten. Dpunkt-Verlag (2008)Google Scholar
  6. 6.
    Mustapic, G., Andersson, J., Norstroem, C., Wall, A.: A dependable open platform for industrial robotics - a case study. In: de Lemos, R., Gacek, C., Romanovsky, A. (eds.) Architecting Dependable Systems II. LNCS, vol. 3069, pp. 307–329. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  7. 7.
    Campwood Software: SourceMonitor (January 2009), http://www.campwoodsw.com
  8. 8.
    van Heesch, D.: Doxygen: Source code documentation generator tool, http://www.stack.nl/~dimitri/doxygen/
  9. 9.
    Forschungszentrum Informatik (FZI), Karlsruhe: SISSy: Structural Investigation of Software Systems (January 2009), http://sissy.fzi.de
  10. 10.
    Chouambe, L., Klatt, B., Krogmann, K.: Reverse Engineering Software-Models of Component-Based Systems. In: Kontogiannis, K., Tjortjis, C., Winter, A. (eds.) 12th European Conference on Software Maintenance and Reengineering, Athens, Greece, April 1–4, pp. 93–102. IEEE Computer Society Press, Los Alamitos (2008)Google Scholar
  11. 11.
    Bass, L., Clements, P., Kazman, R.: Software Architecture in Practice, 2nd edn. SEI Series in Software Engineering. Addison-Wesley, Reading (2003)Google Scholar
  12. 12.
    Pohl, K., Böckle, G., van der Linden, F.J.: Software Product Line Engineering: Foundations, Principles and Techniques. Springer, New York (2005)CrossRefzbMATHGoogle Scholar
  13. 13.
    Kettu, T., Kruse, E., Larsson, M., Mustapic, G.: Using architecture analysis to evolve complex industrial systems. In: de Lemos, R., Di Giandomenico, F., Gacek, C., Muccini, H., Vieira, M. (eds.) WADS 2007. LNCS, vol. 5135, pp. 326–341. Springer, Heidelberg (2008)Google Scholar
  14. 14.
    Software Engineering Institute: Product Line Hall of Fame (January 2009), http://www.sei.cmu.edu/productlines/plp_hof.html
  15. 15.
    Steger, M., Tischer, C., Boss, B., Müller, A., Pertler, O., Stolz, W., Ferber, S.: Introducing pla at bosch gasoline systems: Experiences and practices. In: Proc. 3rd Int. Software Product Line Conference (SPLC 2004) (2004)Google Scholar
  16. 16.
    Wijnstra, J.G.: Critical factors for a successful platform-based product family approach. In: SPLC 2: Proceedings of the Second International Conference on Software Product Lines, London, UK, pp. 68–89. Springer, Heidelberg (2002)Google Scholar
  17. 17.
    Hetrick, W.A., Krueger, C.W., Moore, J.G.: Incremental return on incremental investment: Engenio’s transition to software product line practice. In: OOPSLA 2006: Companion to the 21st ACM SIGPLAN symposium on Object-oriented programming systems, languages, and applications, pp. 798–804. ACM Press, New York (2006)CrossRefGoogle Scholar
  18. 18.
    Deelstra, S., Sinnema, M., Bosch, J.: Product derivation in software product families: a case study. J. Syst. Softw. 74(2), 173–194 (2005)CrossRefGoogle Scholar
  19. 19.
    Q-Impress Consortium: Q-Impress Project Website, http://www.q-impress.eu

Copyright information

© Springer-Verlag Berlin Heidelberg 2009

Authors and Affiliations

  • Heiko Koziolek
    • 1
  • Roland Weiss
    • 1
  • Jens Doppelhamer
    • 1
  1. 1.ABB Corporate Research, Industrial Software SystemsLadenburgGermany

Personalised recommendations