Page History
...
Info | ||||
---|---|---|---|---|
| ||||
{EventDefinition} (isInput?='input')? (isOutput?='output')? 'signal' name=ID ';'; |
4 views to implement signals:
...
Examples:
- input signal I;
- output signal I;
- input output signal I;
- signal I;
advantage | disadvantage | ||
---|---|---|---|
Don't use signals |
|
| No |
Boolean variables as signals |
|
| No |
Yakindu events as signals |
Declaration: in signal I; |
| Yes |
New declaration type |
Declaration: in signal I; |
| no |
...
Local Reactions
Entry
is A Local Reaction has a Trigger and an Effect.EntryAction returns sgraph::Effect:
{EntryAction} 'Entry' '
Info | ||||
---|---|---|---|---|
| ||||
(trigger=(LocalReactionTrigger | ReactionTrigger))? ('/' effect=(ReactionEffect | SuspendEffect)) ';'; |
Inside
is an Effect.
...
LocalReactionTrigger
Info | ||||
---|---|---|---|---|
|
...
| |
{ |
...
Exit
is an Effect
...
ReactionTrigger} triggers+=LocalReactionType ('&&' (isImmediate?='#')? (delay=INT)? ((triggers+=RegularEventSpec) | ('[' guardExpression=Expression ']'))?)?; |
Examples:
- Entry && S
- During && S
- Exit && S
- Exit && [S1 &&S2]
- Entry && # S
- Entry && # 3 S
LocalReaction Effect
Info | ||||
---|---|---|---|---|
| ||||
{ |
...
Suspend
is a Trigger.
...
ReactionEffect} actions+=Expression (=> ',' actions+=Expression)*; |
Example:
- I / Suspend;
- / O=false;
- / I1=true, I2=false;
- / I1=true, I2=false;
- / O=true;
Transition
A Transition is defined by a Reaction, consisting of a Trigger and an Effect.
Transition Trigger
A trigger:
- can be a Signal,
- a boolean Variable
- an Expression
- can be immediate (optional)
- delay (optional)
Info | ||||
---|---|---|---|---|
| ||||
{ |
...
Transition
...
ReactionTrigger} (isImmediate?='#')? (delay=INT)? ((triggers+=RegularEventSpec) | ('[' guardExpression=Expression ']')); |
Examples:
- S
- [S1 && S2]
- #_S
- #_3 S
Transition Effect
Info | ||||
---|---|---|---|---|
| ||||
{ReactionEffect} actions+=Expression (=> ',' actions+=Expression)*; |
Examples:
- / S
- / I = false
- / I1 = false, I2 = I3 + 10