Title :
A software engineering approach to constraint programming systems
Author :
Ng, Ka Boon Kevin ; Choi, Chiu Wo ; Henz, Martin
Abstract :
Constraint programming (CP) systems are useful for solving real-life combinatorial problems, such as scheduling, planning, rostering and routing problems. The design of modern CP systems has evolved from a monolithic to an open design in order to meet the increasing demand for application-specific customization. It is widely accepted that a CP system needs to balance various design factors such as efficiency versus customizability and flexibility versus maintenance. This paper captures our experience with using different software engineering approaches in the development of constraint programming systems. These approaches allow us to systematically investigate the different factors that affect the performance of a CP system. In particular we review the application of reuse techniques, such as toolkits, framework and patterns, to the design and implementation of a finite-domain CP system.
Keywords :
constraint handling; software engineering; Constraint programming; combinatorial problems; constraint programming; maintenance; planning; rostering; routing; scheduling; software engineering; Application software; Computer industry; Engines; Information systems; Knowledge based systems; Software algorithms; Software engineering; Software quality; Software systems; System software;
Conference_Titel :
Software Engineering Conference, 2002. Ninth Asia-Pacific
Print_ISBN :
0-7695-1850-8
DOI :
10.1109/APSEC.2002.1182986