Diskussion:Object Constraint Language

Letzter Kommentar: vor 12 Jahren von Fit in Abschnitt OCL und Kategorie Abfragesprache

OCL Teil von UML

Bearbeiten

Eigentlich ist es ja nicht richtig, dass OCL Teil von UML ist. Vielmehr müsste doch gesagt werden, dass OCL heute Teil von UML ist. OCL wurde eigenständig entwickelt und wurde später dann mit UML kombiniert (wie auch ein Link als Titel hat).(nicht signierter Beitrag von MathiasBank (Diskussion | Beiträge) 14:06, 19. Apr. 2007)

Vielleicht sollte einfach eine Abschnitt über die Geschichte und die Entstehung eingebracht werden(nicht signierter Beitrag von Brill1977 (Diskussion | Beiträge) 17:19, 12. Apr. 2008)

UML Diagramm

Bearbeiten

Das UML Diagramm ist fehlerhaft. Multiplizitäten und Rollen sind falsch. Es sollte ausgetauscht werden.(nicht signierter Beitrag von 141.89.44.4 (Diskussion) 17:18, 29. Jul. 2008)

Ja, sollte wirklich mal ausgetauscht werden. Ich habe es mal etwas korrigiert. Leider weiß ich nicht, wie ich es hier hochladen kann. Ich habe es mal auf http://files.mellons.de/OCL-Beispiel.png hochgeladen. Ist selbstgezeichnet und jeder darf es weiterverwenden wie er lustig ist. Wäre also schön, wenn das jemand hier mal hochladen und verlinken könnte. Bei der Gelegenheit müßten in den zugehörigen Constraints die Attribut-Zugriffe in Kleinschreibung geändert werden. Goodbyte 03:45, 25. Aug. 2008 (CEST)

Der Satz "Das folgende UML-Klassendiagramm verdeutlicht die OCL und lässt verschiedene Bedingungen in OCL formulieren:" ist unsinnig. Wieso verdeutlicht das Klassendiagramm die OCL? (nicht signierter Beitrag von 94.220.83.155 (Diskussion) 11:34, 7. Feb. 2011 (CET)) Beantworten

Beispiele

Bearbeiten

Das als Beispiel angegebene Bedingung „Eine Person hat genau 2 Eltern.“ ist unerfüllbar. Spätestens bei Adam und Eva ist Schluss, außer man trägt Gott als Vater und Mutter von Adam und Eva und von sich selbst ein.

Ich habe diese Bedingung daher in „Eine Person hat höchstens 2 Eltern.“ abgeändert.

Diese Änderung müsste auch noch im UML-Diagramm vorgenommen werden (eltern 0..2). (nicht signierter Beitrag von Kowarschick (Diskussion | Beiträge) 13:59, 25. Feb. 2011 (CET)) Beantworten

Anmerkungen zu den Beispielen: 8. Jede Person, die mindestens ein Auto besitzt, hat mindestens ein Auto, das jünger ist als sie selbst. Anmerkung: Diese Bedingung ist so (auf diese Realität bezogen, also als Beispiel) falsch, schliesslich kann ich mir auch einen Oldtimer kaufen/geschenkt bekommen. 10. Es gibt mindestens eine Person, die ein Auto besitzt. (Bzw. von allen Personen gibt es mindestens eine Person, die mindestens ein Auto besitzt.) Anmerkung: Der Zusatz in der Klammer bzgl. der Person enthält keine Information. Eine Person bezieht sich (im allgemeinen Sprachgebrauch) immer auf eine Person von allen Personen. Also könnte man formulieren: Es gibt mindestens eine Person, die mindestens ein Auto besitzt. -- 88.76.8.137 02:58, 19. Dez. 2011 (CET) JusBeantworten

Eigenständigkeit von OCL

Bearbeiten

Der Satz "OCL alleine ist ungeeignet für die Modellierung von Software." ist definitiv falsch!

Mit OCL kann man wohl eine Software modellieren, vieles sogar besser ausdrücken als in einem Diagramm. Wichtiger für die Modellierung einer Software als bunte Bildchen ist ein in sich konsistentes, semantisch einwandfreies und vollständiges MODELL. Das dieses Modell dann in Form von bunten Bildchen geschickt so aufbereitet wird, dass es auch unsere Manager verstehen können, besagt noch lange nicht, dass diese Bildchen ausreichen oder von jedermann gleich verstanden werden.

Anders, wenn ich eine formalisierte Syntax habe, die widerspruchsfrei mein Modell abbildet:

context Person
def: alter : Integer
def: kinder : Set(Person)
def: eltern : Set(Person)
inv: self.eltern->size() = 2
def: autos : Bag(Auto)
def: bekommtKind() : Person
def: hatGeburtstag() : Void

context Auto
def: kennzeichen : String
def: marke : String
def: erstzulassung : Integer
def: baujahr : Integer
def: besitzer : Person

Diese Syntax lässt sich leicht programmatisch verarbeiten und ist daher z.B. auch für MDA-Zwecke wesentlich besser geeignet als irgendwelche nichtssagenden Kästchen. --82.113.106.167 14:29, 7. Aug. 2009 (CEST)Beantworten

Bearbeiten

"an introduction to ocl" (nicht signierter Beitrag von 132.230.151.42 (Diskussion | Beiträge) 12:59, 14. Sep. 2009 (CEST)) Beantworten

Constraint Typen

Bearbeiten

Stimmt das mit den sieben Constraint Typen? Ich hab gelesen, dass in der OCL Spec zumindest formell nur vier Stereotypes für Constraints definiert sind (inv, pre, post, def). Die restlichen laufen wohl unter was anderem. Allerdings bin ich mir da nicht so wirklich sicher, da ich mich erst seit kurzem mit OCL befasse. Siehe dazu auch die Spec unter http://www.omg.org/cgi-bin/doc?formal/2012-01-01.pdf Kapitel 7.3.1 und Klassendiagramme in Kapitel 12 --91.9.49.214 18:50, 29. Apr. 2012 (CEST)Beantworten

OCL und Kategorie Abfragesprache

Bearbeiten

Wieso steht die OCL in der Kategorie Abfragesprache? So richtig das aus den beiden Wikipedia-Artikeln OCL und Abfragesprache nicht hervor. -- Fit (Diskussion) 01:14, 26. Jun. 2012 (CEST)Beantworten