Posted by Torsten Grabs on November 07, 2000 at 19:46:03:
In Reply to: U1: Funktionen von konstruierten Typen posted by Tobias Kaufmann on November 04, 2000 at 15:42:34:
: Im Metamodell der Musterloesung zu Uebung1 werden Funktionen von konstruierten Typen ausgeschlossen (bzw. automatisch in die Klasse der Komponentenselektoren eingeteilt). Im Skript auf Seite 16 wird dagegen eine Funktion eines Tupels verwendet, um eine zweistellige Funktion zu modellieren. Liegt der Fehler hier im Skript oder im Metamodell?
Hier der Stand unserer internen Diskussionen zu diesem Problem:
1.) Wir haben Funktionen auf Tupeltypen und deren Semantik nicht explizit im Skript definiert, deswegen werden Sie von unserem Metamodell auch nicht erlaubt.
2.) Allerdings gibt's durchaus Situationen, wo man solche Funktionen gerne einsetzen wuerde, bspw. dann, wenn sich ein (Funktions-)wert aus den Komponenten des Tupels ableiten laesst. Unsere Vorstellung ist dann, dass man das im RMSDM nicht ausschliessen sollte, aehnlich wie man sich auch vorstellen kann, dass es auch fuer Tupel Print-Funktionen oder aehnliches gibt. Allerdings sollte der Einsatz von Funktionen auf Tupeltypen sich auf diese Bereiche beschraenken.
3.) Beziehungen ausgehend von Tupeltypen hin zu abstrakten Objekttypen sind allerdings als Komponentenfunktionen (Selektoren) zu modellieren.