Ich stelle ein komisches Verhalten fest: In einem ILI-Modell definierte Referenzattribute werden als normale Assoziationen dargestellt (soweit OK…) und auch als normale Assoziationen exportiert (m.E. nicht mehr OK). Die Erwartung wäre, dass Referenzattribute erhalten bleiben, auch mit mehrwertigen Definitionen! In INTERLIS 2.4 können Referenzattribute direkt als normale Attributtypen in Klassen definiert werden, ohne Umweg via Strktur wie in ILI 2.3.
Im Originalmodell wurde ein BAG OF-Referenzattribut definiert, im ILI-Export aus dem UML-Editor resultiert daraus eine normale {1}-Assoziationsrolle. Wenn im UML-Editor originär ein neues Attribut als Referenzattribut definiert wird, dann wird es im UML-Diagramm als Klassenattribut dargestellt auch korrekt exportiert – auch als BAG OF. (!)
Wo liegt hier der Fehler?
Original-ILI:
INTERLIS 2.4;
/** Catalogues, not Cats, of course */
MODEL CatM (en) AT "mailto:localhost" VERSION "0.0.1" =
TOPIC CatT =
CLASS Cats = Entry: MANDATORY TEXT; END Cats;
END CatT;
END CatM.
MODEL MyModel (en) AT "mailto:localhost" VERSION "0.0.1" =
IMPORTS CatM;
TOPIC MyTopic =
DEPENDS ON CatM.CatT;
CLASS MyClass =
Category1: MANDATORY REFERENCE TO (EXTERNAL) CatM.CatT.Cats;
Category2: BAG {1} OF REFERENCE TO (EXTERNAL) CatM.CatT.Cats;
END MyClass;
END MyTopic;
END MyModel.
ILI-Export aus dem UML-Editor (manuell nur kompakter gesetzt!):
INTERLIS 2.4;
/** Catalogues, not Cats, of course */
MODEL CatM (en) AT "mailto:localhost" VERSION "0.0.1" =
TOPIC CatT =
CLASS Cats = Entry : MANDATORY TEXT; END Cats;
END CatT;
END CatM.
MODEL MyModel (en) AT "mailto:localhost" VERSION "0.0.1" =
IMPORTS CatM;
TOPIC MyTopic =
DEPENDS ON CatM.CatT;
CLASS MyClass =
END MyClass;
ASSOCIATION CatsMyClass =
Category1 (EXTERNAL) -- {1} CatM.CatT.Cats;
MyClass -- MyClass;
END CatsMyClass;
ASSOCIATION CatsMyClass =
Category2 (EXTERNAL) -- {1} CatM.CatT.Cats;
MyClass -- MyClass;
END CatsMyClass;
END MyTopic;
END MyModel.
dummy_model.zip (3,1 KB)
Geht das eventuell in eine ähnliche Richtung wie ILI2.3: Import of valid model leads to invalid model in umleditor (CONSTRAINT) · Issue #82 · claeis/umleditor · GitHub … ?