Software & Systems Modeling

, Volume 13, Issue 1, pp 35–54 | Cite as

Effective development of automation systems through domain-specific modeling in a small enterprise context

  • Andrea Leitner
  • Christopher Preschern
  • Christian Kreiner
Theme Section Paper

Abstract

High development and maintenance costs and a high error rate are the major problems in the development of automation systems, which are mainly caused by bad communication and inefficient reuse methods. To overcome these problems, we propose a more systematic reuse approach. Though systematic reuse approaches such as software product lines are appealing, they tend to involve rather burdensome development and management processes. This paper focuses on small enterprises. Since such companies are often unable to perform a “big bang” adoption of the software product line, we suggest an incremental, more lightweight process to transition from single-system development to software product line development. Besides the components of the transition process, this paper discusses tool selection, DSL technology, stakeholder communication support, and business considerations. Although based on problems from the automation system domain, we believe the approach may be general enough to be applicable in other domains as well. The approach has proven successful in two case studies. First, we applied it to a research project for the automation of a logistics lab model, and in the second case (a real-life industry case), we investigated the approaches suitability for fish farm automation systems. Several metrics were collected throughout the evolution of each case, and this paper presents the data for single system development, clone&own and software product line development. The results and observable effects are compared, discussed, and finally summarized in a list of lessons learned.

Keywords

Domain-specific modeling Small enterprise cost model Automation system Software product line System development process 

References

  1. 1.
    Abdellaoui, M., Gonzales, C.: Multiattribute Utility Theory, pp. 579–616. ISTE (2010)Google Scholar
  2. 2.
    Boehm, B., Brown, W.A., Madachy, R., Yang, Y.: A software product line life cycle cost estimation model. In: International Symposium on Empirical Software Engineering (2004)Google Scholar
  3. 3.
    Brito e Abreu, F., Melo, W.: Evaluating the impact of object-oriented design on software quality. In: Proceedings of the 3rd International Software Metrics, Symposium, Mar 1996, pp. 90–99 (1996)Google Scholar
  4. 4.
    Breivold, H.P., Larsson, S., Land, R.: Migrating industrial systems towards software product lines: experiences and observations through case studies. In: SEAA ’08: Proceedings of the 2008 34th Euromicro Conference Software Engineering and Advanced Applications, pp. 232–239. IEEE Computer Society, Washington, DC, USA (2008)Google Scholar
  5. 5.
    Böckle, G., Munoz, J.B., Knauber, P., Krueger, C.W., do Prado Leite, J.C., van der Linden, F., Northrop, L.M., Stark, M., Weiss, D.M.: Adopting and institutionalizing a product line culture. In SPLC 2: Proceedings of the Second International Conference on Software Product Lines, pp. 49–59, London, UK. Springer, Berlin (2002)Google Scholar
  6. 6.
    Bekkers, W., van de Weerd, I., Spruit, M., Brinkkemper, S.: A framework for process improvement in software product management. In: EuroSPI 2010 Proceedings, pp. 1–12 (2010)Google Scholar
  7. 7.
    Czarnecki, K., Eisenecker, U.W.: Generative programming: methods, tools, and applications. ACM Press/Addison-Wesley Publishing Co., New York (2000)Google Scholar
  8. 8.
    Constantinescu, R., Iacob, I.M.: Testing: first steps towards software quality. J. Appl. Quant. Methods. 3(3), 241–253 (2008)Google Scholar
  9. 9.
    Clements, P.C., Jones, L.G., Northrop, L.M., McGregor, J.D.: Project management in a software product line organization. IEEE Softw. 22(5), 54–62 (2005)CrossRefGoogle Scholar
  10. 10.
    Clements, P.C., McGregor, J.D., Cohen, S.G.: The Structured Intuitive Model for Product Line Economics (SIMPLE). Technical report, Software Engineering Institute at Carnegie Mellon University (2005)Google Scholar
  11. 11.
    Clements, P., Northrop, L.: Software Product Lines: Practices and Patterns. Addison-Wesley Longman Publishing Co., Inc., Boston (2001)Google Scholar
  12. 12.
    Dager, J.C.: Cummins’s experience in developing a software product line architecture for real-time embedded diesel engine controls. In: First Conference on Software Product Lines: Experience and Research Directions, pp. 23–45. Kluwer Academic Publishers, Dordrecht (2000)Google Scholar
  13. 13.
    de Almeida Falbo, R., Guizzardi, G., Duarte, K.C.: An ontological approach to domain engineering. In: Proceedings of the 14th International Conference on Software Engineering and Knowledge Engineering, SEKE ’02, pp. 351–358, New York, NY, USA. ACM, New York (2002)Google Scholar
  14. 14.
    Gonzalez, J., Benavides, D.: Transition from Products to Products Lines (Case Study). http://www.esi.es/Cafe/pdf/Product_line_transition_and_adoption.zip (2010). Accessed 15 Oct 2010
  15. 15.
    Haselsberger, A.: Design and Implementation of a Domain Specifc Architecture for PLC. Master’s thesis, TU Graz, Graz (2009)Google Scholar
  16. 16.
    Kästner, C., Apel, S., Kuhlemann, M.: Granularity in software product lines. In: Proceedings of the 30th International Conference on Software Engineering, pp. 311–320, New York, NY, USA. ACM, New York (2008)Google Scholar
  17. 17.
    Kang, K.C., Cohen, S.G., Hess, J.A., Novak, W.E., Peterson, A.S.: Feature-Oriented Domain Analysis (FODA) Feasibility Study. Technical report, Carnegie-Mellon University Software Engineering Institute (1990)Google Scholar
  18. 18.
    Kim, K., Kim, H., Kim, W.: Building software product line from the legacy systems “Experience in the Digital Audio and Video Domain”. In: SPLC ’07: Proceedings of the 11th International Software Product Line Conference, pp. 171–180. IEEE Computer Society, Washington, DC, USA (2007)Google Scholar
  19. 19.
    Kang, K.C., Kim, S., Lee, J., Kim, K., Kim, G.J., Shin, E.: FORM: A feature-oriented reuse method with domain-specific reference architectures. Ann. Softw. Eng. 5, 143–168 (1998)Google Scholar
  20. 20.
    Kruchten, P.: The 4+1 view model of architecture. IEEE Softw. 12, 42–50 (1995)CrossRefGoogle Scholar
  21. 21.
    Krueger, C.W.: Introduction to software product lines. http://www.softwareproductlines.com/introduction/introduction.html (2012). Accessed 9 Oct 2012
  22. 22.
    Kelly, S., Tolvanen, J.-P.: Domain-specific modeling: enabling full code generation. Wiley, New York (2008)CrossRefGoogle Scholar
  23. 23.
    Leitner, A.: A software product line for a business process oriented IT landscape. Master’s thesis, TU Graz, Graz (2009)Google Scholar
  24. 24.
    Leitner, A., Christian, K.: Managing ERP configuration variants: an experience report. In: KOPLE 2010: Knowledge-Oriented Product Line Engineering, pp. 1–6. ACM Digital Library (2010)Google Scholar
  25. 25.
    Leitner, A., Weiß, R., Kreiner, C.: Analyzing the complexity of domain models. In: ECBS12 Proceedings (2012)Google Scholar
  26. 26.
    Mansell, J.X.: Product-line action plan specification. http://www.esi.es/Cafe/pdf/Product_line_transition_and_adoption.zip (2010). Accessed 15 Oct 2010
  27. 27.
    Moser, T., Mordinyi, R., Biffl, S.: An ontology-based methodology for supporting knowledge-intensive multi-discipline engineering processes. In: ODiSE 2010: 2nd International Workshop on Ontology-Driven Software Engineering, pp. 2:1–2:6. ACM Digital Library (2010)Google Scholar
  28. 28.
    Metzger, A., Pohl, K.: Variability management in software product line engineering. In: ICSE Companion, pp. 186–187 (2007)Google Scholar
  29. 29.
    Pohl, K., Böckle, G., van der Linden, F.J.: Software Product Line Engineering: Foundations, Principles and Techniques, Secaucus, NJ. USA. Springer, New York (2005)Google Scholar
  30. 30.
    Pohl, K., Böckle, G., van der Linden, F.: Software Product Line Engineering. Springer, Berlin (2005)MATHGoogle Scholar
  31. 31.
    Preschern, C., Kajtazovic, N., Kreiner, C.: Applying patterns to model-driven development of automation systems: an industrial case study. In: EuroPLoP (2012)Google Scholar
  32. 32.
    Preschern, C., Leitner, A., Kreiner, C.: Domain specific language architecture for automation systems: an industrial case study. In: ECMFA12 Proceedings (2012)Google Scholar
  33. 33.
    Preschern, C.: PISCAS-Pisciculture automation system product line. Master’s thesis, TU Graz, Graz (2011)Google Scholar
  34. 34.
    Robertson, J., Robertson, S.: Volere requirements specification template. http://www.volere.co.uk/ (2012). Accessed 9 Oct 2012
  35. 35.
    Schreiber, A.: Transition process for switching to product-family engineering. http://www.esi.es/Cafe/pdf/Product_line_transition_and_adoption.zip (2010). Accessed 15 Oct 2010
  36. 36.
    SEI Carnegie Mellon. Product Line Hall of Fame. http://splc.net/fame.html (2012). Accessed 9 Oct 2012
  37. 37.
    Stelzmann, E.S., Kreiner, C.J., Spork, G., Messnarz, R., König, F.: Agility meets systems engineering: a catalogue of success factors from industry practice. In: EuroSPI 2010 Proceedings, pp. 245–256 (2010)Google Scholar
  38. 38.
    Smolander, K., Lyytinen, K., Tahvanainen, V.-P., Marttiin, P.: MetaEdit: a flexible graphical environment for methodology modelling. In: Advanced Information, Systems Engineering, pp. 168–193 (1991)Google Scholar
  39. 39.
    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: SPLC ’04: Proceedings of the 3rd International Software Product Line Conference, pp. 34–50 (2004)Google Scholar
  40. 40.
    Schmid, K., Verlage, M.: The economic impact of product line adoption and evolution. IEEE Softw. 19, 50–57 (2002)CrossRefGoogle Scholar
  41. 41.
    Tolvanen, J.-P., Kelly, S.: MetaEdit+: defining and using integrated domain-specific modeling languages. In: OOPSLA ’09: Proceeding of the 24th ACM SIGPLAN Conference Companion on Object Oriented Programming Systems Languages and Applications, pp. 819–820, New York, NY, USA. ACM, New York (2009)Google Scholar
  42. 42.
    Tolvanen, J.-P., Pohjonen, R., Kelly, S.: Advanced tooling for domain-specific modeling: MetaEdit+. http://www.dsmforum.org/events/DSM07/papers/tolvanen.pdf (2012). Accessed 9 Oct 2012
  43. 43.
    van der Linden, F.J., Klaus, S., Rommes, E.: Software Product Lines in Action: The Best Industrial Practice in Product Line Engineering. Springer, Berlin (2007)Google Scholar
  44. 44.
    Völter, M.: A catalog of patterns for program generation. In: Proceedings of the 8th European Conference on Pattern Languages of Programms (EuroPLoP ’2003) (2003)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2012

Authors and Affiliations

  • Andrea Leitner
    • 1
  • Christopher Preschern
    • 1
    • 2
  • Christian Kreiner
    • 1
  1. 1.Institute for Technical InformaticsGraz University of TechnologyGrazAustria
  2. 2.HOFERNET IT-SolutionsLendorfAustria

Personalised recommendations