ERE Plugin Output Syntax

From FSL
Jump to: navigation, search


The ERE plugin generates a state machine from the input pattern. The state of the monitor is updated according to the current state and the received event. A trace of events is validated whenever the monitor reaches one of the acceptance states, e.g., state 3 in the below example. The pattern is violated when the monitor gets stuck, i.e., when no transition can be made from the current state upon the received event. The output is an FSM description in the input syntax of the FSM plugin, which can be found here, and a jpeg image of the FSM. We provide this graphical output to help visualize the finite state machines only; it is not used by any instance of MOP. Since EREs have a builtin notion of matching which is used to generate the alias match, we use double circles to denote states in the match alias in the diagrams. However, this would not make sense in the general FSM plugin, because match is not treated especially from any other alias.


Example

For the pattern:

 event a
 event b
 ere: (a b)* ~(b ~(a b))

The output generated by the ERE plugin is:

 fsm:
   s0[
     a -> s3
     b -> s1
   ]
   s2[
     b -> s4
   ]
   s1[
     a -> s2
   ]
   s4 []
   s3[
     a -> s3
     b -> s3
   ]
   match : s0, s3, s4

Image representation of the output:

Ere ex.jpg

Personal tools
Namespaces

Variants
Actions
Navigation