Abstract
An approach for modelling configurable software product families (CSPFs) and for automated configuring of product individuals using the models is presented. It is based on a similar approach for configuring physical products. The conceptual foundation and syntax of the Koalish modelling language used for this purpose are defined. The language extends Koala, a component model and architecture description language, with explicit variation modelling mechanisms. Koalish is further provided a formal semantics by defining a translation from it to Weight Constraint Rule Language (WCRL), a form of logic programs. This allows using an existing inference tool for WCRL, smodels, to implement the reasoning needed in the configurator. The configurator is able to construct all valid product individuals, with respect to a Koalish model of a CSPF, that satisfy a given set of requirements. The implemented functionality of the configurator has been tested using small-scale toy examples, for which it performs adequately.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Clements, P.C., Northrop, L.: Software Product Lines - Practices and Patterns. Addison-Wesley, Boston (2001)
Bosch, J.: Design and Use of Software Architectures: Adapting and Evolving a Product-Line Approach. Addison-Wesley, Boston (2000)
Bosch, J.: Maturity and Evolution in Software Product Families: Approaches, Artefacts and Organization. In: Chastek, G.J. (ed.) SPLC 2002. LNCS, vol. 2379, pp. 257–271. Springer, Heidelberg (2002)
Faltings, B., Freuder, E.C.: Special Issue on Configuration. IEEE Intelligent Systems 14(4), 29–85 (1998)
Darr, T., Klein, M., McGuinness, D.L.: Special Issue on Configuration Design. Artificial Intelligence for Engineering Design, Analysis and Manufacturing 12(4), 293–397 (1998)
Lakemeyer, G., Nebel, B.: Foundations of Knowledge Representation and Reasoning - A Guide to This Volume. In: Lakemeyer, G., Nebel, B. (eds.) ECAI-WS 1992. LNCS, vol. 810, pp. 1–12. Springer, Heidelberg (1994)
Asikainen, T., Soininen, T., Männistö, T.: A Koala-Based Ontology for Configurable Software Product Families. In: Configuration Workshop of 18th International Conference on Artificial Intelligence (IJCAI) (2003)
van Ommering, R., van der Linden, F., Kramer, J., Magee, J.: The Koala Component Model for Consumer Electronics Software. IEEE Computer 33(3), 78–85 (2000)
Simons, P., Niemelä, I., Soininen, T.: Extending and Implementing the Stable Model Semantics. Artificial Intelligence 138(1-2), 181–234 (2002)
Soininen, T., Niemelä, I., Tiihonen, J., Sulonen, R.: Representing Configuration Knowledge with Weight Constraint Rules. In: Proceedings of the AAAI Spring 2001 Symposium on Answer Set Programming: Towards Efficient and Scalable Knowledge Representation and Reasoning (2001)
Tiihonen, J., Soininen, T., Niemelä, I., Sulonen, R.: A Practical Tool for Mass-Customising Configurable Products. In: Proceedings of the International Conference on Engineering Design (ICED 2003), Stockholm, Sweden (2003)
Soininen, T., Stumptner, M.: Introduction to Special Issue on Configuration. Artificial Intelligence for Engineering Design, Analysis and Manufacturing 17(1-2), 1–2 (2003)
Fleischanderl, G., Friedrich, G., Haselböck, A., Schreiner, H., Stumptner, M.: Configuring Large Systems Using Generative Constraint Satisfaction. IEEE Intelligent Systems 13(4), 59–68 (1998)
McGuinness, D.L., Wright, J.R.: An Industrial-Strength Description Logic-Based Configurator Platform. IEEE Intelligent Systems 14(4), 69–77 (1998)
Haag, A.: Sales Configuration in Business Processes. IEEE Intelligent Systems 13(4), 78–85 (1998)
Yu, B., Skovgaard, J.: A Configuration Tool to Increase Product Competitiveness. IEEE Intelligent Systems 13(4), 34–41 (1998)
van Ommering, R.: Building Product Populations with Software Components. In: Proceedings of the 24th International Conference on Software Engineering (ICSE 2002), pp. 255–265 (2002)
Soininen, T., Tiihonen, J., Männistö, T., Sulonen, R.: Towards a General Ontology of Configuration. Artificial Intelligence for Engineering Design, Analysis and Manufacturing 12(4), 357–372 (1998)
Tiihonen, J., Soininen, T., Niemelä, I., Sulonen, R.: Empirical Testing of a Weight Constraint Rule Based Configurator. In: Configuration workshop of the 15th European Conference on Artificial Intelligence (ECAI 2002), Lyon, France, pp. 17–22 (2002)
Kojo, T., Männistö, T., Soininen, T.: Towards Intelligent Support for Managing Evolution of Configurable Software Product Families. In: Westfechtel, B., van der Hoek, A. (eds.) SCM 2001 and SCM 2003. LNCS, vol. 2649, pp. 86–101. Springer, Heidelberg (2003)
Tiihonen, J., Soininen, T., Niemelä, I., Sulonen, R.: A Practical Tool for Mass-Customising Configurable Products. In: Proceedings of the International Conference on Engineering Design (ICED 2003), Stockholm, Sweden (2003)
Medvidovic, N., Taylor, R.M.: A Classification and Comparison Framework for Software Architecture Description Languages. IEEE Transactions on Software Engineering 26(1), 70–93 (2000)
Felfernig, A., Friedrich, G., Jannach, D.: Conceptual Modeling for Configuration of Mass-Customizable Products. Artificial Intelligence in Engineering 15(2), 165–176 (2001)
Geyer, L., Becker, M.: On the Influence of Variabilities on the Application-Engineering Process of a Product Family. In: Chastek, G.J. (ed.) SPLC 2002. LNCS, vol. 2379, pp. 1–14. Springer, Heidelberg (2002)
Hotz, L., Krebs, T.: Supporting the Product Derivation Process with a Knowledge-Based Approach. In: Software Variability Management Workshop of ICSE 2003 (2003)
Hein, A., MacGregor, J.: Managing Variability with Configuration Techniques. In: Software Variability Management Workshop of ICSE 2003 (2003)
Czarnecki, K., Eisenecker, U.W.: Generative Programming. Addison-Wesley, Boston (2000)
Kang, K., Cohen, S.G., Hess, J.A., Novak, W.E., Peterson, S.A.: Feature-Oriented Domain Analysis (FODA) - Feasibility Study. CMU/SEI-90-TR-21, Software Engineering Institute, Carnegie Mellon University (1990)
Thiel, S., Hein, A.: Modeling and Using Product Line Variability in Automotive Systems. IEEE Software 19(4), 66–72 (2002)
van Gurp, J., Bosch, J., Svahnberg, M.: On the Notion of Variability in Software Product Lines. In: Proceedings of the Working IEEE/IFIP Conference on Software Architecture (WICSA 2001), pp. 45–54 (2001)
Kang, K., Lee, J., Donohoe, P.: Feature-oriented Product Line Engineering. IEEE Software 19(4), 58–65 (2002)
Garlan, D., Monroe, R.T., Wile, D.: Acme: An Architecture Description Interchange Language. In: Proceedings of CASCON 1997 (1997)
van der Hoek, A., Heimbigner, D., Wolf, A.L.: Capturing Architectural Configurability: Variants, Options, and Evolution. Technical report CU-CS-895-99, University of Colorado (1999)
Schmid, K., John, I.: A Practical Approach to Full-Life Cycle Variability Management. In: Workshop on Software Variability Management (SVM) of 25th International Conference on Software Engineering, pp. 41–46 (2003)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2004 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Asikainen, T., Soininen, T., Männistö, T. (2004). A Koala-Based Approach for Modelling and Deploying Configurable Software Product Families. In: van der Linden, F.J. (eds) Software Product-Family Engineering. PFE 2003. Lecture Notes in Computer Science, vol 3014. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-24667-1_17
Download citation
DOI: https://doi.org/10.1007/978-3-540-24667-1_17
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-21941-5
Online ISBN: 978-3-540-24667-1
eBook Packages: Springer Book Archive