HomeNewsForumECO-BuchLinksImpressum

Login-Bereich

Benutzer Anmeldung

Sind Sie in diesem Portal bereits registriert? Dann können Sie sich hier anmelden:

Benutzername:

Passwort:

Passwort vergessen?

 

Registrierung

 

Fragen zum Forum?

Schicken Sie ein Mail an den Moderator.

ECO-Forum
Anzahl Nachrichten: 2 - Seiten (1): [1]
Autor: Erik
Erstellt: 27. Jan. 2006 - 10:41
Betreff: OCL operation "difference"
Hallo allerseits, Hallo Alois,

ich glaube, einen inhaltlichen Fehler im Buch entdeckt zu haben (bin allerdings nicht hundertprozentig sicher):

Kapitel 3.5, OCL-Befehlsübersicht, Kollektionen-Vergleichs- bzw. Mengen-Operatoren (Seite 137):

difference: "Auswahl der Elemente aus ParamList, die in der Basisliste nicht vorhanden sind"

Meines Wissens und meiner Erfahrung nach ist "difference" in ECO die Umsetzung des originalen OCL-Minus-Operators (einfach "-"), siehe beispielsweise im Buch "The Object Constraint Language Second Edition" von Jos Warmer und Anneke Kleppe (englische Ausgabe), Seite 144.

Ich habe nämlich vorhin mit dem OclPsHandle experimentiert und wollte nicht nur NEUE Einträge in die DataGrid bringen, sondern daraus auch Einträge löschen. Dies habe ich durch folgende Expression umgesetzt:

(self->union(vNewOnes))->difference(vDeletedOnes)

während die Alternative laut ECO-Buch

vDeletedOnes->difference(self->union(vNewOnes))

erst gar keine Zeilen anzeigt, mithin also nicht das gewünschte Ergebnis erzeugt.

Allerdings bin ich noch zu unbedarft im Umgang mit OCL, insofern würde ich diese Erkenntnis gerne hier zur Disposition und Debatte stellen.

Viele Grüße,

Erik
Autor: AS
Erstellt: 02. Feb. 2006 - 04:29
Betreff: re: OCL operation
Hallo Erik,

danke für den Hinweis!
Die Definition im Buch wird mit dem nächsten Update folgendermaßen korrigiert:

difference: "Auswahl der Elemente aus der Basisliste, die nicht in der ParamList enthalten sind"

AS
Anzahl Nachrichten: 2 - Seiten (1): [1]
Sie müssen sich anmelden, um in dieser Konferenz eine Nachricht zu schreiben.