Most excellent! I will post back when I've had a chance to work through these...
Update: Using "flashlight with parameter" as the exemplar - OK, my simpler-than-flashlight CallEvent case actually continues past the parameter definition now by adding an opaque action to define the value. That's very interesting how a defined parameter with an undefined value makes a CallEvent no longer a functioning CallEvent.
Update: OK, my simpler-than-flashlight SignalEvent case actually continues past the attribute definition now by adding an opaque action to define the value. A default value defined is not adequate to make the SignalEvent a valid SignalEvent, there must be an opaque action (or, I would hope, some other information source to define "slot") to make the SignalEvent trigger the transition.
I think I attempted to use an OpaqueAction before, but did not populate the Body (tried something, not remembering now...) and it had no effect...
Update: it is only necessary to define an OpaqueAction with an output pin and attach it to the SendSignalAction input pin; nothing has to be defined inside the OpaqueAction for the signal to trigger the transition.
Examining "send signal with property 2", you used a ValueSpecificationAction to feed a value to the SendSignalAction. THIS is what I attempted to use and could not remember. However, it did not work for me...
And I attempt to apply the ValueSpecificationAction in the place of the OpaqueAction, and it lies there like a dead fish... the only difference is that I'm sending the signal over a Port and your example does not.
This is feeling like playing a game of FizzBin... is it Tuesday yet?
https://memory-alpha.fandom.com/wiki/FizzbinIt's a ROYAL FIZZBIN! Apparently trying things leaves little turds around that quietly make the simulation stall. Kinda like leaving a semicolon out. Sometimes. I cleaned up the turds, and I now have a flashlight simulation where I have BOTH a ValueSpecificationAction and an QpaqueAction in the same activity - and I can connect either one to the SendSignalAction and the simulation will run...
Yeah!
https://docs.nomagic.com/display/CST202 ... ripts+APIs ALH.getvalue($signal$, "value") - get the value "value" from "The last signal Instance in an Event pool of a specified object." - not clear how the object has been "specified" - is this a contextual thing?
BEST AND FINAL - WOOPIE! And now I've cranked what you've taught me back into my IPMI bus model addressing multiple blocks with a single parameterized signal and only the addressed block is responding.
Guard on Transition: ALH.getValue($signal$, "slot") == 9 && ALH.getValue($signal$, "command") == "activate"
Now I have to learn how to create classes and parameterize model components - which is what I think you've provided in the third example "sending signal with multiple parameters"...
Thank you very much!
labai ačiū!