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.
Similar content being viewed by others
References
Abdellaoui, M., Gonzales, C.: Multiattribute Utility Theory, pp. 579–616. ISTE (2010)
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)
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)
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)
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)
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)
Czarnecki, K., Eisenecker, U.W.: Generative programming: methods, tools, and applications. ACM Press/Addison-Wesley Publishing Co., New York (2000)
Constantinescu, R., Iacob, I.M.: Testing: first steps towards software quality. J. Appl. Quant. Methods. 3(3), 241–253 (2008)
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)
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)
Clements, P., Northrop, L.: Software Product Lines: Practices and Patterns. Addison-Wesley Longman Publishing Co., Inc., Boston (2001)
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)
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)
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
Haselsberger, A.: Design and Implementation of a Domain Specifc Architecture for PLC. Master’s thesis, TU Graz, Graz (2009)
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)
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)
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)
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)
Kruchten, P.: The 4+1 view model of architecture. IEEE Softw. 12, 42–50 (1995)
Krueger, C.W.: Introduction to software product lines. http://www.softwareproductlines.com/introduction/introduction.html (2012). Accessed 9 Oct 2012
Kelly, S., Tolvanen, J.-P.: Domain-specific modeling: enabling full code generation. Wiley, New York (2008)
Leitner, A.: A software product line for a business process oriented IT landscape. Master’s thesis, TU Graz, Graz (2009)
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)
Leitner, A., Weiß, R., Kreiner, C.: Analyzing the complexity of domain models. In: ECBS12 Proceedings (2012)
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
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)
Metzger, A., Pohl, K.: Variability management in software product line engineering. In: ICSE Companion, pp. 186–187 (2007)
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)
Pohl, K., Böckle, G., van der Linden, F.: Software Product Line Engineering. Springer, Berlin (2005)
Preschern, C., Kajtazovic, N., Kreiner, C.: Applying patterns to model-driven development of automation systems: an industrial case study. In: EuroPLoP (2012)
Preschern, C., Leitner, A., Kreiner, C.: Domain specific language architecture for automation systems: an industrial case study. In: ECMFA12 Proceedings (2012)
Preschern, C.: PISCAS-Pisciculture automation system product line. Master’s thesis, TU Graz, Graz (2011)
Robertson, J., Robertson, S.: Volere requirements specification template. http://www.volere.co.uk/ (2012). Accessed 9 Oct 2012
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
SEI Carnegie Mellon. Product Line Hall of Fame. http://splc.net/fame.html (2012). Accessed 9 Oct 2012
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)
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)
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)
Schmid, K., Verlage, M.: The economic impact of product line adoption and evolution. IEEE Softw. 19, 50–57 (2002)
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)
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
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)
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)
Acknowledgments
This work was funded by an FFG Innovationsscheck.
Author information
Authors and Affiliations
Corresponding author
Additional information
Communicated by Dr. Jeff Gray, Juha-Pekka Tolvanen, and Matti Rossi.
Rights and permissions
About this article
Cite this article
Leitner, A., Preschern, C. & Kreiner, C. Effective development of automation systems through domain-specific modeling in a small enterprise context. Softw Syst Model 13, 35–54 (2014). https://doi.org/10.1007/s10270-012-0289-1
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10270-012-0289-1