Hostname: page-component-cd9895bd7-jkksz Total loading time: 0 Render date: 2024-12-29T02:35:53.291Z Has data issue: false hasContentIssue false

Efficient large-scale configuration via integer linear programming

Published online by Cambridge University Press:  15 January 2013

Ingo Feinerer*
Affiliation:
Institute of Information Systems, Vienna University of Technology, Vienna, Austria
*
Reprint requests to: Ingo Feinerer, Institute of Information Systems, Vienna University of Technology, Favoritenstraße 9, A-1040 Wien, Austria. E-mail: [email protected]

Abstract

Configuration of large-scale applications in an engineering context requires a modeling environment that allows the design engineer to draft the configuration problem in a natural way and efficient methods that can process the modeled setting and scale with the number of components. Existing configuration methods in artificial intelligence typically perform quite well in certain subareas but are hard to use for general-purpose modeling without mathematical or logics background (the so-called knowledge acquisition bottleneck) and/or have scalability issues. As a remedy to this important issue both in theory and in practical applications, we use a standard modeling environment like the Unified Modeling Language that has been proposed by the configuration community as a suitable object-oriented formalism for configuration problems. We provide a translation of key concepts of class diagrams to inequalities and identify relevant configuration aspects and show how they are treated as an integer linear program. Solving an integer linear program can be done efficiently, and integer linear programming scales well to large configurations consisting of several thousands components and interactions. We conduct an empirical study in the context of package management for operating systems and for the Linux kernel configuration. We evaluate our methodology by a benchmark and obtain convincing results in support for using integer linear programming for configuration applications of realistic size and complexity.

Type
Regular Articles
Copyright
Copyright © Cambridge University Press 2013

Access options

Get access to the full version of this content by using one of the access options below. (Log in options will check for institutional or personal access. Content may require purchase if you do not have access.)

References

REFERENCES

Abate, P., Di Cosmo, R., Treinen, R., & Zacchiroli, S. (2011). MPM: a modular package manager. Proc. 14th Int. ACM SIG-SOFT Symp. Component Based Software Engineering, CBSE-2011.CrossRefGoogle Scholar
Alliance for Telecommunications Industry Solutions. (2000). ATIS telecom glossary 2000. Accessed at http://www.atis.orgGoogle Scholar
Chen, P.P.S. (1976). The entity–relationship model: toward a unified view of data. ACM Transactions on Database Systems 1(1), 936.CrossRefGoogle Scholar
Falkner, A., Feinerer, I., Salzer, G., & Schenner, G. (2010). Computing product configurations via UML and integer linear programming. Journal of Mass Customisation 3(4), 351367.CrossRefGoogle Scholar
Falkner, A., Haselböck, A., Schenner, G., & Schreiner, H. (2011). Modeling and solving technical product configuration problems. Artificial Intelligence for Engineering Design, Analysis and Manufacturing 25(2), 115129.CrossRefGoogle Scholar
Feinerer, I. (2007). A formal treatment of UML class diagrams as an efficient method for configuration management. PhD thesis. Vienna University of Technology.Google Scholar
Feinerer, I. (2011). Efficient configuration and verification of software product lines. Proc. 15th Int. Software Product Line Conf, SPLC'11. Association for Computing Machinery.CrossRefGoogle Scholar
Feinerer, I., & Salzer, G. (2007). Consistency and minimality of UML class specifications with multiplicities and uniqueness constraints. Proc. 1st IEEE/IFIP Int. Symp. Theoretical Aspects of Software Engineering, TASE'07. New York: IEEE.Google Scholar
Felfernig, A., Friedrich, G., & Jannach, D. (2000). UML as domain-specific language for the construction of knowledge-based configuration systems. Journal of Software Engineering and Knowledge Engineering 10(4), 449469.CrossRefGoogle Scholar
Felfernig, A., Friedrich, G., Jannach, D., Stumptner, M., & Zanker, M. (2003). Configuration knowledge representations for semantic web applications. Artificial Intelligence for Engineering Design, Analysis and Manufacturing 17(1), 3150.CrossRefGoogle Scholar
Felfernig, A., Friedrich, G., Jannach, D., & Zanker, M. (2002). Configuration knowledge representation using UML/OCL. Proc. 5th Int. Conf. the Unified Modeling Language, UML'02. Berlin: Springer–Verlag.Google Scholar
Felfernig, A., & Schubert, M. (2011). Personalized diagnoses for inconsistent user requirements. Artificial Intelligence for Engineering Design, Analysis and Manufacturing 25(2), 175183.CrossRefGoogle Scholar
Felfernig, A., Stumptner, M., & Tiihonen, J. (2011). Special issue: configuration [Editorial]. Artificial Intelligence for Engineering Design, Analysis and Manufacturing 25(2), 113114.CrossRefGoogle Scholar
Fleischanderl, G., Friedrich, G., Haselböck, A., Schreiner, H., & Stumptner, M. (1998). Configuring large systems using generative constraint satisfaction. IEEE intelligent systems 13(4), 5968.CrossRefGoogle Scholar
Floyd, R.W. (1962). Algorithm 97: shortest path. Communications of the ACM 5(6), 345.CrossRefGoogle Scholar
Heinrich, M., & Jüngst, E.W. (1991). A resource-based paradigm for the configuring of technical systems from modular components. Proc. 7th IEEE Conf. Artificial Intelligence Applications.CrossRefGoogle Scholar
Jackson, D., & Wing, J.M. (1996). Lightweight formal methods. IEEE Computer 29(4), 2122.Google Scholar
Janota, M., Lynce, I., Manquinho, V.M., & Marques-Silva, J. (2012). Packup: tools for package upgradability solving. Journal of Satisfiability, Boolean Modeling and Computation 8(1–2), 8994.CrossRefGoogle Scholar
Lenzerini, M., & Nobili, P. (1990). On the satisfiability of dependency constraints in entity-relationship schemata. Information Systems 15(4), 453461.CrossRefGoogle Scholar
Mailharro, D. (1998). A classification and constraint-based framework for configuration. Artificial Intelligence in Engineering Design, Analysis and Manufacturing 12(4), 383397.CrossRefGoogle Scholar
Männistö, T., Peltonen, H., Soininen, T., & Sulonen, R. (2001). Multiple abstraction levels in modelling product structures. Data & Knowledge Engineering 36(1), 5578.CrossRefGoogle Scholar
Maraee, A., & Balaban, M. (2007). Efficient reasoning about finite satisfiability of UML class diagrams with constrained generalization sets. Proc. Model Driven Architecture―Foundations and Applications, 3rd European Conf., ECMDA-FA'07.CrossRefGoogle Scholar
Mayer, W., Stumptner, M., Killisperger, P., & Grossmann, G. (2011). A declarative framework for work process configuration. Artificial Intelligence for Engineering Design, Analysis and Manufacturing 25(2), 143162.CrossRefGoogle Scholar
Niederbrucker, G., & Sisel, T. (2011). CLEWS. Accessed at http://www.logic.at/clewsGoogle Scholar
Object Management Group. (2011). Unified Modeling Language 2.4.1. Accessed at http://www.omg.orgGoogle Scholar
Object Management Group. (2012). Object Constraint Language 2.3.1. Accessed at http://www.omg.orgGoogle Scholar
Sincero, J., Schirmeier, H., Schröder-Preikschat, W., & Spinczyk, O. (2007). Is the Linux kernel a software product line? Proc. Int. Workshop on Open Source Software and Product Lines, SPLC-OSSPL'07.Google Scholar
Soininen, T., Tiihonen, J., Männistö, T., & Sulonen, R. (1998). Towards a general ontology of configuration. Artificial Intelligence in Engineering Design, Analysis and Manufacturing 12(4), 357372.CrossRefGoogle Scholar
Stumptner, M., Friedrich, G., & Haselböck, A. (1998). Generative constraint-based configuration of large technical systems. Artificial Intelligence in Engineering Design, Analysis and Manufacturing 12(4), 307320.CrossRefGoogle Scholar
Tucker, C., Shuffelton, D., Jhala, R., & Lerner, S. (2007). Opium: optimal package install/uninstall manager. Proc. 29th Int. Conf. Software Engineering, ICSE'07. Washington, DC: IEEE Computer Society.Google Scholar
Voronov, A., Åkesson, K., & Ekstedt, F. (2011). Enumeration of valid partial configurations. Proc. IJCAI 2011 Workshop on Configuration.Google Scholar
Zengler, C., & Küchlin, W. (2010). Encoding the Linux kernel configuration in propositional logic. Proc. ECAI 2010 Workshop on Configuration Systems.Google Scholar