Class Mealy2ETFWriterAlternating<I,O>
- java.lang.Object
-
- net.automatalib.serialization.etf.writer.AbstractETFWriter<I,MealyMachine<?,I,?,O>>
-
- net.automatalib.serialization.etf.writer.Mealy2ETFWriterAlternating<I,O>
-
- Type Parameters:
I
- the input typeO
- the output type
- All Implemented Interfaces:
InputModelSerializer<I,MealyMachine<?,I,?,O>>
,ModelSerializer<InputModelData<I,MealyMachine<?,I,?,O>>>
public final class Mealy2ETFWriterAlternating<I,O> extends AbstractETFWriter<I,MealyMachine<?,I,?,O>>
Write a Mealy machine with alternating edge semantics. Alternating means that a new edge (and state) is added to the LTS. So, instead of having two labels on one edge, input and output are alternated. Having alternating edge semantics may change the outcomes of temporal formulae.- See Also:
- RERS 2017
-
-
Constructor Summary
Constructors Constructor Description Mealy2ETFWriterAlternating()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static <I,O>
Mealy2ETFWriterAlternating<I,O>getInstance()
protected void
writeEdge(PrintWriter pw)
With alternating edge semantics, there are only edges with one label.protected void
writeETF(PrintWriter pw, MealyMachine<?,I,?,O> mealy, Alphabet<I> inputs)
Write the specific parts of the ETF for Mealy machines with alternating edge semantics.void
writeModel(OutputStream os, MealyMachine<?,I,?,O> model, Alphabet<I> alphabet)
Writes the model to the given output stream.-
Methods inherited from class net.automatalib.serialization.etf.writer.AbstractETFWriter
write
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface net.automatalib.serialization.InputModelSerializer
writeModel, writeModel
-
Methods inherited from interface net.automatalib.serialization.ModelSerializer
writeModel
-
-
-
-
Method Detail
-
writeEdge
protected void writeEdge(PrintWriter pw)
With alternating edge semantics, there are only edges with one label. Both input and output of the Mealy machine is generalized to a label named 'letter', of type 'letter'.- Specified by:
writeEdge
in classAbstractETFWriter<I,MealyMachine<?,I,?,O>>
- Parameters:
pw
- the Writer.
-
writeETF
protected void writeETF(PrintWriter pw, MealyMachine<?,I,?,O> mealy, Alphabet<I> inputs)
Write the specific parts of the ETF for Mealy machines with alternating edge semantics.Writes: - the initial state, - the transitions, - the valuations for the state ids, - the letters from the alphabet.
Note that in this context, the alphabet that is written to ETF is not just the inputs, it is the union of inputs and outputs, of type 'letter'.
- Specified by:
writeETF
in classAbstractETFWriter<I,MealyMachine<?,I,?,O>>
- Parameters:
pw
- the Writer.mealy
- the MealyMachine to write to ETF.inputs
- the alphabet, the input alphabet.
-
writeModel
public void writeModel(OutputStream os, MealyMachine<?,I,?,O> model, Alphabet<I> alphabet)
Description copied from interface:InputModelSerializer
Writes the model to the given output stream.Note: the output stream will not be closed.
- Parameters:
os
- the output stream to write tomodel
- the model to writealphabet
- the inputs of the model to which serialization should be limited
-
getInstance
public static <I,O> Mealy2ETFWriterAlternating<I,O> getInstance()
-
-