print · source · login   

Flatten EFSM model with data to FSM model

Flattening is useful for learning a SUT with data parameters for a limited range of its parameters. Note: with flattening we mean removing data parameters from input actions by defining for each input instead a set of symbols where each symbol presents an unique instance of its input parameters from the given range.

Important: for flattening the Sut tool also needs the CADP tool set installed.

Flattening at work

To flatten a Sut model in a uppaal file to mealy fsm in dot format

  • if you flatten an uppaal model using cadp via the lotos path to a .bcg file
      sut_uppaal2bcg model.uppaal.xml model.bcg 0 2
Here [0:2] is the range we take for the data parameters in the inputs. You are free to choose any continous range. The format .bcg is binary coded graphs. Note: both input as output model have input and output on a separate transition.
  • the .bcg file can be converted to an .aut file which always has state 0 as start state with
      bcg_io model.bcg model.aut
The format .aut is aldebaran format. Note: both input as output model have input and output on a separate transition.
  • then you can convert this to a mealy machine in a dot file
      sut_ioaut2mealydot model.aut model.dot
The format .dot is graph description language. In the output model the input and output of a mealy machine's transition are now combined in a single transition. This last step can be only done for fsm io-automata which have alternating input and output.

The final result file model.dot contains the flat mealy model!