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

Image Removed

Entry

is A Local Reaction has a Trigger and an Effect.EntryAction returns sgraph::Effect:
{EntryAction} 'Entry' ''

Info
iconfalse
titleLocalReaction:

(trigger=(LocalReactionTrigger | ReactionTrigger))? ('/' effect=(ReactionEffect | SuspendEffect)) ';';

...

Inside

is an Effect.

...

LocalReactionTrigger
Info
iconfalse
titleLocalReactionTrigger returns sgraph::

...

Trigger:

{

...

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
iconfalse
titleReactionEffect returns sgraph::Effect:

{

...

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. 

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}

...

Transition

...

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

Examples:

  • S
  • [S1 && S2]
  • #_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