FDR
4.2.7(6ecbe5a21b71ab020e8fcaeccfe5ebaad0599f4f)
|
A particular path through a Machine, often leading to an interesting state. More...
#include <behaviour.h>
Public Member Functions | |
Behaviour (const Behaviour &)=delete | |
std::shared_ptr< LTS::Machine > | machine () const |
The machine in which the behaviour occurs. | |
const std::vector< std::shared_ptr< LTS::Node > > & | node_path () const |
The sequence of nodes leading to the behaviour. More... | |
Behaviour & | operator= (const Behaviour &)=delete |
const std::vector< LTS::CompiledEvent > & | trace () const |
Returns the sequence of events that led to this behaviour. More... | |
Protected Member Functions | |
Behaviour (const std::shared_ptr< LTS::Machine > &machine, const std::vector< std::shared_ptr< LTS::Node >> &node_path, const std::vector< LTS::CompiledEvent > &events) | |
Friends | |
struct | BehaviourFactory |
class | DebugContext |
A particular path through a Machine, often leading to an interesting state.
A behaviour represents a single path in the state machine such that the last state exhibits something interesting. For example, if this Behaviour is actually a TraceBehaviour, then this means that last state can perform a particular event. If this TraceBehaviour came from a trace refinement assertion, then this means that the event was not allowed by the specification.
const std::vector<std::shared_ptr<LTS::Node> >& FDR::Assertions::Behaviour::node_path | ( | ) | const |
The sequence of nodes leading to the behaviour.
This includes the node at which the behaviour occurs. If node_path()[i] is null there are three possible reasons:
const std::vector<LTS::CompiledEvent>& FDR::Assertions::Behaviour::trace | ( | ) | const |
Returns the sequence of events that led to this behaviour.
These are the events that cause transitions between different nodes in node_path(). Note that this can include LTS::INVALID_EVENT, which indicates that the machine did not perform any event.