Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 5.3

...

 advantagedisadvantage 
Don't use signals
  • no need to be implemented
  • no signals
No
Boolean variables as signals
  • implementation in a short time
  • a short form declaration:

    in I instead of in I:boolean

  • a short form of use:
    I / O instead of [I==true] / O = false
  • no more possible to use of Boolean variables
No
Yakindu events as signals
  • use of already implemented features
  • differ between Signals and Boolean Variables

Declaration: in signal I;

  • signals are implemented as events
  • Question: How to mix Signals and variables?
Yes
New declaration type
  • differ between Signals and Boolean Variables

Declaration: in signal I;

  • expensive
no

 Image Added

Local Reactions

...

Info
iconfalse
titleLocalReactionTrigger returns sgraph::Trigger:

{ReactionTrigger} triggers+=LocalReactionType ('&&' (isImmediate?='#')? (delay=INT)? ((triggers+=RegularEventSpec) | ('[' guardExpression=Expression ']'))?)?;

Examples:

  • Entry && I / O=true;S
  • During && I
  • Exit && S 
  • Exit && [S1 &&S2] 
  • Entry && # S 
  • Entry && # 3 S
LocalReaction Effect
Info
iconfalse
titleReactionEffect returns sgraph::Effect:

{ReactionEffect} actions+=Expression (=> ',' actions+=Expression)*;

Example:

  •  I / Suspend;
  •  / O=false;
  • Exit && I1  / I1=true, I2=false;Exit && [I1 &
  • &I2]  / I1=true, I2=false;
  • Entry && # I  / O=true;


Transition

A Transition is defined by a Reaction, consisting of a Trigger and an Effect. 

Image Added

Transition Trigger

A trigger:

  • can be a Signal, 
  • a boolean Variable
  • an Expression
  • can be immediate (optional)
  • delay (optional)
Info
iconfalse
titleReactionTrigger returns sgraph::Trigger:

{ReactionTrigger} (isImmediate?='#')? (delay=INT)? ((triggers+=RegularEventSpec) | ('[' guardExpression=Expression ']'));

...

Examples:

  • S
  • [S1 && S2]
  • # 3 I / O=true;

Transition

...

  • _S
  • #_3 S

Transition Effect

Info
iconfalse
titleReactionEffect returns sgraph::Effect:

{ReactionEffect} actions+=Expression (=> ',' actions+=Expression)*;

Examples:

  • / S
  • / I = false
  • / I1 = false, I2 = I3 + 10 

Extending the Validator