ERE Plugin3 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.

Example

For the pattern:

<mop>
<Client>Web</Client>
<Events>a b</Events>
<Property>
<Logic>ere</Logic>
<Formula>(a b)* ~(b ~(a b))</Formula>
</Property>
<Categories>fail match</Categories>
</mop>

The output generated by the ERE plugin is:

<mop>
<Client>Web</Client>
<Events>a b</Events>
<Property>
<Logic>fsm</Logic>
<Formula>
s0[
a -> s3
b -> s1
]
s2[
b -> s4
]
s1[
a -> s2
]
s4[
]
s3[
a -> s3
b -> s3
]
alias match = s0, s4, s3
</Formula>
</Property>
<Categories>fail match</Categories>
<CreationEvents> b a</CreationEvents>
<Message>done</Message>
<EnableSets>// fail Enables
{b=[[], [b], [b, a]], a=[[b], [b, a]]}
// match Enables
{b=[[], [a], [b, a]], a=[[], [b], [a], [b, a]]}
</EnableSets>
<Statistics>
<TotalMOPCount>252</TotalMOPCount>
<CurrentClient>Web</CurrentClient>
<ClientCount>20</ClientCount>
<CurrentLogic>ere</CurrentLogic>
<LogicCount>205</LogicCount>
<ClientAndLogicCount>3</ClientAndLogicCount>
<TotalExecutionTime>756ms</TotalExecutionTime>
</Statistics>
</mop>


Personal tools
Namespaces

Variants
Actions
Navigation