Representing a Constraint Satisfiability Problem using SW technologies

In the automotive industry, manufacturers often define their range (the set of 
cars that a customer can choose among) as the set of solutions of a Constraint 
Satisfiability Problem (CSP):
1) there is a finite set V of variables (eg body type, fuel type, engine type, 
colour,...)
2) each of these properties has a range, which is a finite list of discrete 
values (for instance, for the variable "body type", the possible values are 
sedan, convertible, ... For any actual vehicle, any variable in V has exactly 
one value)
3) and there is a finite set of constraints between the values of variables.

How would you represent that using SW technologies?

Note that I am not concerned with reasonning here (we have programs for that): 
my question is only about "SW friendly" ways of representing this data, in order 
to share it between systems.

Points 1 and 2 are easy: the variables in V can be seen as functional properties 
of class "Car". Their ranges are enumerated classes. But what's about the 
constraints (boolean expressions involving the values of the variables)? At this 
time, I have defined a BooleanExpr class, with AND, OR, and NOT subclasses, but 
noboby knows the semantics of these classes but me. I could probably use the OWL 
unionOf, intersectionOf and complementOf constructs as they map to logical 
operators, but it seems a little bit weird (we are used to write constraints as 
plain text strings with boolean operators and parenthesis). If RIF is supposed 
to address this question (is it?), what would you suggest to do now?

Any idea? Thanks in advance

fps


-- Disclaimer ------------------------------------
Ce message ainsi que les eventuelles pieces jointes constituent une correspondance privee et confidentielle a l'attention exclusive du destinataire designe ci-dessus. Si vous n'etes pas le destinataire du present message ou une personne susceptible de pouvoir le lui delivrer, il vous est signifie que toute divulgation, distribution ou copie de cette transmission est strictement interdite. Si vous avez recu ce message par erreur, nous vous remercions d'en informer l'expediteur par telephone ou de lui retourner le present message, puis d'effacer immediatement ce message de votre systeme.
***
This e-mail and any attachments is a confidential correspondence intended only for use of the individual or entity named above. If you are not the intended recipient or the agent responsible for delivering the message to the intended recipient, you are hereby notified that any disclosure, distribution or copying of this communication is strictly prohibited. If you have received this communication in error, please notify the sender by phone or by replying this message, and then delete this message from your system.

Received on Wednesday, 14 February 2007 15:18:59 UTC