-
Key: SYSML13-5
-
Legacy Issue Number: 15300
-
Status: closed
-
Source: Change Vision ( Michael Chonoles)
-
Summary:
Page 92 Overwrite
The description of how overwrite works is wrong. The rule given in the spec is to replace the token that would be last to be selected according to the node rules.
For example, let us imagine a node with 1..3 FIFO tokens when overwrite is applied.
New Token Position 3 Position 2 Head (1st to be taken off)
A A
B B A
C C B A
D D B A
E E B A
Probably desired behavior
New Token Position 3 Position 2 Head (1st to be taken off)
A A
B B A
C C B A
D D C B
E E D C
The recommended behavior is the standard behavior for real-time systems (usually implemented as a circular buffer, with the most recently arrived element the oldest element
For LIFO queues
For example, let us imagine a node with 1..3 LIFO tokens when overwrite is applied.
New Token Position 3 Position 2 Head (1st to be taken off)
A A
B A B
C A B C
D D B C
E E B C
Probably desired behavior
New Token Position 3 Position 2 Head (1st to be taken off)
A A
B A B
C A B C
D B C D
E C D E
The recommended approach makes both LIFO/FIFO queues always having the freshest elements to work from.
Recommended
“For upper bounds greater than one, when the queue is full, an arriving token replaces the oldest token in the queue, leaving a FIFO queue with the remaining earliest arriving token at the head of the queue and leaving a LIFO queue with the latest arriving token at the head of the queue.
Also, consider giving an example as above.
-
Reported: SysML 1.2 — Mon, 21 Jun 2010 04:00 GMT
-
Disposition: Resolved — SysML 1.3
-
Disposition Summary:
Agreed, but use wording reflecting the examples, rather than the recommended
wording -
Updated: Fri, 6 Mar 2015 20:58 GMT