Softwaretechnik 2, WiSe 11,Projektkommentare
Sets und Konstanten
Sets dienen nur dazu, benutzerdefinierte Typen einzuführen. Als "Nebeneffekt" wird gleichzeitig eine Konstante gleichen Namens eingeführt, die die Menge aller Elemente des Typs enthält.
Beispiel: Steckenabschnitte S und belegte Abschnitte A
Falsch:
SETS S, A AXIOMS A <: S
Das gibt einen Typfehler, weil A eine Menge von 'A's ist und S eine Menge von 'S's. A<:S verlangt aber, das beide Mengen den gleichen Typ haben.
Richtig:
SETS S CONSTANTS A AXIOMS A <: S
Neue Typen: ja oder nein? -- Hier: ja
Ich habe bei jemanden gesehen, dass er Linien modelliert hat und Zügen einer Linie zugeordet hat. Linien waren als Relation zwischen Gleisabschnitten realisiert. (Die genaue Definition habe ich nicht im Kopf, ist hier aber auch nicht relevant.) Die Zuordung Zug->Line war entsprechend als Funktion zl zwischen den Zügen Z und den Linien realisiert. Der Typ von zl ist dann ein Funktion auf einer Relation, also recht komplex.
Mein Vorschlag dazu:
- einen Typ Linie (also bei den SETS),
- eine Funktion, die eine Linie auf auf einen Linienverlauf, abbildet, und
- eine Funktion, die einen Zug auf eine Linie abbildet (also zl:Z-->L oder so ähnlich) einführen.