net.automatalib.automata.MutableDeterministic Maven / Gradle / Ivy
/* Copyright (C) 2013 TU Dortmund
* This file is part of AutomataLib, http://www.automatalib.net/.
*
* AutomataLib is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License version 3.0 as published by the Free Software Foundation.
*
* AutomataLib is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with AutomataLib; if not, see
* http://www.gnu.de/documents/lgpl.en.html.
*/
package net.automatalib.automata;
/**
* Interface for a mutable deterministic automaton.
*
* @author Malte Isberner
*
* @param state class.
* @param input symbol class.
* @param transition class.
* @param state property.
* @param transition property.
*/
public abstract interface MutableDeterministic extends UniversalDeterministicAutomaton,
MutableAutomaton {
/**
* Sets the initial state to the given state
* @param state the new initial state
*/
public void setInitialState(S state);
/**
* Sets the transition for the given state and input symbol.
* @param state the source state
* @param input the triggering input symbol
* @param transition the transition
*/
public void setTransition(S state, I input, T transition);
/**
* Sets the transition for the given state and input symbol to a newly
* created one.
* @param state the source state
* @param input the triggering input symbol
* @param successor the target state
* @param property the transition's property
*/
public void setTransition(S state, I input, S successor, TP property);
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy