-
Key: KERML-234
-
Status: closed
-
Source: Budapest University of Technology and Economics ( Dr. Vince Molnar)
-
Summary:
Features successors and predecessors of Occurrence should be disjoint. Otherwise, the library would allow circular HappensBefore graphs. If HappensBefore is to be interpreted as a strict temporal ordering constraint (which is suggested by the current documentation in the library) or is supposed to capture causality relationships, such cycles could/should not be collapsed into time-coincident occurrences, always leading to unsatisfiable models.
-
Reported: KerML 1.0a1 — Sat, 25 Nov 2023 11:30 GMT
-
Disposition: Closed; No Change — KerML 1.0b2
-
Disposition Summary:
Occurrence::successors and predecessors are (effectively) disjoint
Features Occurrence::successors and predecessors are inverses, so the only way two occurrences could "point at" each other (making the features non-disjoint) would be if the two occurrences are the same one, that is, the features are (at least partially) reflexive, but they both subset withoutOccurrences, which is irreflexive:
feature successors: Occurrence[0..*] subsets withoutOccurrences inverse of predecessors { ... } feature predecessors: Occurrence [0..*] subsets withoutOccurrences { ... } feature withoutOccurrences: Occurrence[0..*] unions successors, predecessors, outsideOfOccurrences inverse of withoutOccurrences { ... /* withoutOccurrences is irreflexive. */ inv { (that as Occurrence) != (that.that as Occurrence) } }
-
Updated: Tue, 1 Jul 2025 15:01 GMT
KERML — Features successors and predecessors of Occurrence should be disjoint
- Key: KERML-234
- OMG Task Force: Kernel Modeling Language (KerML) 1.0 FTF