-
Key: KERML11-71
-
Status: open
-
Source: Ansys Government Initiatives ( Mr. Richard Page)
-
Summary:
In the KerML standard library for Triggers.kerml, the "TriggerAfter" function returns a TimeSignal by calling TriggerAt with an expression that involves "clock.currentTime". However, this binds the value of the TriggerAt "timeInstant" to an expression involving a "var" feature (currentTime).
The unfortunate result of this is that the value of the resulting TimeSignal is continuously changing !
return signal : TimeSignal[1] = TriggerAt(clock.currentTime + delay, receiver, clock, monitor);
Instead, we likely want to "capture" the value of "currentTime" using an initial value as of when the TriggerAfter is called to start observing the trigger rather than an ongoing binding.
private feature referenceTime : NumericalValue := clock.currentTime; return signal : TimeSignal [1] = TriggerAt(referenceTime + delay, receiver, clock, monitor);
-
Reported: KerML 1.0b2 — Thu, 3 Jul 2025 22:31 GMT
-
Updated: Tue, 8 Jul 2025 21:30 GMT
KERML11 — TriggerAfter uses a binding to var 'currentTime'
- Key: KERML11-71
- OMG Task Force: Kernel Modeling Language (KerML) 1.1 RTF