Diskussion:Object Constraint Language
OCL Teil von UML
BearbeitenEigentlich 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
BearbeitenDas 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))
Beispiele
BearbeitenDas 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))
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) Jus
Eigenständigkeit von OCL
BearbeitenDer 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)
Toter Link
Bearbeiten"an introduction to ocl" (nicht signierter Beitrag von 132.230.151.42 (Diskussion | Beiträge) 12:59, 14. Sep. 2009 (CEST))
Constraint Typen
BearbeitenStimmt 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)
OCL und Kategorie Abfragesprache
BearbeitenWieso 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)