Show TOC

 Constraints: Restriktionen

Im Restriktionsteil geben Sie an, welche Konsistenzprüfungen ein Constraint durchführen soll. Das Constraint meldet eine Inkonsistenz, wenn der Restriktionsteil unwahr ist.

Hinweis Hinweis

Nicht-deklarative Sprachelemente, wie NOT SPECIFIED, dürfen nicht angegeben werden (vgl. Thema Deklaratives Beziehungswissen ).

Ende des Hinweises

Beispiel:

Sie können über ein Constraint z. B. festlegen, daß die Druckersoftware für einen Drucker WIN95 sein muß, falls als Betriebssystem für einen PC WIN95 ausgewählt wurde:

OBJECTS: (300) PC where BS = Betriebssystem, (300) Drucker where DS = Druckersoftware

RESTRICTIONS:

DS = ‘Treiber_WIN95’ if S eq ‘WIN95’

Es können auch mehrere Einschränkungen angegeben werden. Die verschiedenen Einschränkungen sind durch Kommata verknüpft und stehen in einer UND-Beziehung. ODER-Beziehungen sind nicht möglich.

Beispiel:

RESTRICTIONS: DS = ‘Treiber_WIN95’ if BS eq ‘WIN95’, DS = ‘Treiber_OS/2’ if BS eq ‘OS/2’, DS = ‘Treiber_NT’ if BS eq ‘NT’.

False

Als Restriktion kann auch einfach nur die Aussage FALSE gemacht werden. Das bedeutet, daß Situationen, die im Bedingungsteil angegeben wurden, inkonsistent sind. Wenn dieser Zustand eintritt, wird ein Konflikt gemeldet.

Beispiel:

OBJECTS: PC IS_A (300) PC

CONDITION:

PC.CPU = ‘486’ and PC.SONDERWUNSCH = ‘CO-Prozessor’.

RESTRICTIONS:

FALSE.

Bei diesem Constraint wird eine Inkonsistenz gemeldet, sobald als CPU der Wert ‘486’ und als Sonderwunsch der Wert ‘Co-Prozessor’ angegeben wurde.

Tabellenaufrufe

Im Restriktionsteil können Sie auch Variantentabellen aufrufen, die Sie zuvor definiert haben. Dabei handelt es sich um ein sehr mächtiges Instrument, da mit einem Tabellenaufruf in einem Constraint viele unterschiedliche Vorbedingungen ersetzt werden können.

Tabellen können in Constraints dazu eingesetzt werden, eine konsistente Bewertung zu gewährleisten oder auch, um Werte herzuleiten. Bei einschränkbaren Merkmalen kann die Tabelle auch dazu dienen, den Wertebereich der Merkmale dynamisch einzuschränken. Sie können über eine Tabelle z. B. die Wertkombinationen für ein Gehäuse und die Festplatte eines PC angeben. Wenn Sie sich in einem Constraint auf die Tabelle beziehen, sind nur die Wertkombinationen zulässig, die über die Tabelle festgelegt wurden.

Werteherleitungen im Restriktionsteil

In einigen Fällen können auch bereits aus Angaben im Restriktionsteil Werte hergeleitet werden und nicht erst über Angaben unter INFERENCES. Dies ist bei Gleichungen der Fall, bei denen auf der linken Seite genau eine Variable für ein Merkmal steht. Das Merkmal darf nicht einschränkbar sein.

Beispiel Beispiel

Spannung = Widerstand * Strom

CPU = ‘486’

Ende des Beispiels.

Im ersten Fall wird die Spannung eines Stromkreises aus der Gleichung automatisch hergeleitet, ohne daß dies bei INFERENCES angegeben wird. Auch für CPU wird in der Konfiguration automatisch der Wert ‘486’ gesetzt.