2 research outputs found
Using Integer Constraint Solving in Reuse Based Requirements Engineering
Product Lines (PL) have proved an effective approach to reuse-based systems
development. Several modeling languages were proposed so far to specify PL.
Although they can be very different, these languages show two common features:
they emphasize (a) variability, and (b) the specification of constraints to
define acceptable configurations. It is now widely acknowledged that
configuring a product can be considered as a constraint satisfaction problem.
It is thus natural to consider constraint programming as a first choice
candidate to specify constraints on PL. For instance, the different constraints
that can be specified using the FODA language can easily be expressed using
boolean constraints, which enables automated calculation and configuration
using a SAT solver. But constraint programming proposes other domains than the
boolean domain: for instance integers, real, or sets. The integer domain was,
for instance, proposed by Benavides to specify constraints on feature
attributes. This paper proposes to further explore the use of integer
constraint programming to specify PL constraints. The approach was implemented
in a prototype tool. Its use in a real case showed that constraint programming
encompasses different PL modeling languages (such as FORE, OVM, or else), and
allows specifying complex constraints that are difficult to specify with these
languages