Skip to content

Commit 7150e54

Browse files
authored
Merge pull request #470 from Systems-Modeling/ST6RI-658
ST6RI-658 spaceTimeCoincidentOccurrences should subset timeCoincidentOccurrences
2 parents ec9adf1 + ec31af0 commit 7150e54

1 file changed

Lines changed: 19 additions & 10 deletions

File tree

sysml.library/Kernel Libraries/Kernel Semantic Library/Occurrences.kerml

Lines changed: 19 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -151,11 +151,12 @@ standard library package Occurrences {
151151
*/
152152

153153
/* timeCoincidentOccurrences occurrences happen during each other. */
154-
feature thisOccurrence: Occurrence[1] subsets that;
155-
feature thatOccurrence: Occurrence[1] subsets self;
154+
feature thatOccurrence: Occurrence[1] subsets longerOccurrence;
155+
feature thisOccurrence: Occurrence[1] subsets shorterOccurrence;
156+
156157
connector :HappensDuring
157-
from shorterOccurrence references thatOccurrence [1]
158-
to longerOccurrence references thisOccurrence [1];
158+
from shorterOccurrence references thisOccurrence [1]
159+
to longerOccurrence references thatOccurrence [1];
159160
}
160161

161162
feature spaceEnclosedOccurrences: Occurrence[1..*] subsets occurrences {
@@ -166,8 +167,8 @@ standard library package Occurrences {
166167
*/
167168

168169
/* spaceEnclosedOccurrences is transitive. */
169-
feature smallerSpace: Occurrence[1] subsets that;
170-
feature largerSpace: Occurrence[1] subsets self;
170+
feature largerSpace: Occurrence[1] subsets that;
171+
feature smallerSpace: Occurrence[1] subsets self;
171172
subset smallerSpace.spaceEnclosedOccurrences subsets largerSpace.spaceEnclosedOccurrences;
172173
}
173174

@@ -189,12 +190,20 @@ standard library package Occurrences {
189190
binding startShot[1] = endShot[1];
190191
}
191192

192-
feature spaceTimeCoincidentOccurrences: Occurrence[1..*] subsets spaceTimeEnclosedOccurrences inverse of spaceTimeCoincidentOccurrences {
193+
feature spaceTimeCoincidentOccurrences: Occurrence[1..*] subsets timeCoincidentOccurrences, spaceEnclosedOccurrences inverse of spaceTimeCoincidentOccurrences {
193194
doc
194195
/*
195196
* Occurrences that this one completely includes in both space and time,
196197
* and vice-versa, including this one.
197198
*/
199+
200+
/* spaceTimeCoincidentOccurrences occurrences are inside of each other. */
201+
feature redefines thatOccurrence subsets largerSpace;
202+
feature redefines thisOccurrence subsets smallerSpace;
203+
204+
connector :InsideOf
205+
from largerSpace references thatOccurrence [1]
206+
to smallerSpace references thisOccurrence [1];
198207
}
199208

200209
feature outsideOfOccurrences: Occurrence[0..*] subsets withoutOccurrences inverse of outsideOfOccurrences {
@@ -750,17 +759,17 @@ standard library package Occurrences {
750759
end feature largerOccurrence: Occurrence[1..*] redefines longerOccurrence, largerSpace;
751760
}
752761

753-
assoc all WithinBoth specializes Within {
762+
assoc all WithinBoth specializes Within, HappensWhile {
754763
doc
755764
/*
756765
* WithinBoth asserts that two occurrences are Within each other, that is, they occupy the
757766
* same four dimensional region. Note that this means every Occurrence is WithinBoth with
758767
* itself and transitive.
759768
*/
760769

761-
end feature thisOccurrence: Occurrence[1..*] redefines smallerOccurrence
770+
end feature thisOccurrence redefines smallerOccurrence redefines HappensWhile::thisOccurrence
762771
subsets thatOccurrence.spaceTimeCoincidentOccurrences;
763-
end feature thatOccurrence: Occurrence[1..*] redefines largerOccurrence
772+
end feature thatOccurrence redefines largerOccurrence redefines HappensWhile::thatOccurrence
764773
subsets thisOccurrence.spaceTimeCoincidentOccurrences;
765774
}
766775

0 commit comments

Comments
 (0)