DiaDes
0.1
DIAgnosis of Discrete-Event System
|
#include <Component.hh>
Public Types | |
typedef Diades::Utils::Exception< Component > | Exception |
typedef Component * | Pointer |
typedef const Component * | ConstPointer |
typedef Diades::Graph::NodeIterator | StateIterator |
typedef Diades::Graph::EdgeIterator | TransitionIterator |
typedef list< Transition >::const_iterator | EventTransitionIterator |
typedef unordered_set< State >::const_iterator | InitialStateIterator |
typedef Diades::Graph::InEdgeIterator | InputTransitionIterator |
typedef Diades::Graph::OutEdgeIterator | OutputTransitionIterator |
typedef set< Event >::const_iterator | EventIterator |
typedef unordered_set< Transition >::const_iterator | OutputEventTransitionIterator |
typedef unordered_set< Transition >::const_iterator | InputEventTransitionIterator |
typedef unordered_set< State >::const_iterator | LabelledStateIterator |
typedef std::string | StateLabel |
Static Public Member Functions | |
static string | typeName () |
the name by default More... | |
Static Public Attributes | |
static const string | defaultComponentName |
Protected Member Functions | |
virtual void | determine (const Component *comp, const unordered_set< State > &acceptors, unordered_set< State > &newAcceptors) |
virtual void | determine (const Component *comp) |
virtual bool | parseDesCompName (istream &stream) |
virtual bool | parseDesCompStates (istream &stream) |
virtual bool | parseDesCompFaultyEvents (istream &stream) |
virtual bool | parseDesCompNormalEvents (istream &stream) |
virtual bool | parseDesCompObservableEvents (istream &stream) |
virtual bool | parseDesCompMaskedEvents (istream &stream, unsigned number, map< string, set< string > > &maskEvents) |
virtual bool | parseDesCompTransitions (istream &stream) |
Protected Attributes | |
Diades::Graph::Graph | _behav |
unordered_set< State > | _initial |
Diades::Graph::NodeMap< int > | _isInitial |
Private Member Functions | |
void | reachableStates (const BeliefState &bs, Event event, const set< Event > &projectedEvents, BeliefState &nextBs) const |
void | reachableStates (const BeliefState &bs, Event event, const set< Event > &projectedEvents, BeliefState &nextBs, const unordered_set< State > &acceptors, bool &presenceOfAcceptors) const |
State | mergeStates (BeliefState &states) |
void | nerodePartition (vector< BeliefState * > &partition) const |
void | nerodePartition (const unordered_set< State > &acceptors, vector< BeliefState * > &partition) |
void | splitPartition (const BeliefState *bigQ0, const BeliefState *bigQ1, Event littleA, BeliefState *bigQ0prime, BeliefState *bigQ0MinusbigQ0prime) const |
void | splitPartition2 (const BeliefState *bigQ0, const BeliefState *bigQ1, Event littleA, BeliefState *bigQ0prime, BeliefState *bigQ0MinusbigQ0prime, State sinkState) const |
Private Attributes | |
string | _name |
int | _id |
set< Event > | _events |
set< Event > | _faultyEvents |
set< Event > | _normalEvents |
vector< Diades::Graph::NodeMap< unordered_set< Transition > > > | _transitionsWithTarget |
vector< Diades::Graph::NodeMap< unordered_set< Transition > > > | _transitionsWithSource |
vector< unordered_set< State > > | _sourceWithEvent |
vector< unordered_set< State > > | _targetWithEvent |
vector< list< Transition > > | _transitionsWithEvent |
Diades::Graph::EdgeMap< Event > | _eventOfTransition |
Diades::Graph::NodeMap< StateLabel > | _labelOfState |
unordered_map< StateLabel, State > | _stateOfLabel |
A Component is the smallest part of the distributed discrete event system. A Component has a name, an identifier. The behaviour of the component is encoded with help of a Graph. The initial state of the component may be known or not.
Definition at line 56 of file Component.hh.
typedef const Component* Diades::Automata::Component::ConstPointer |
Definition at line 66 of file Component.hh.
typedef set<Event>::const_iterator Diades::Automata::Component::EventIterator |
Definition at line 73 of file Component.hh.
typedef list<Transition>::const_iterator Diades::Automata::Component::EventTransitionIterator |
Definition at line 69 of file Component.hh.
Definition at line 61 of file Component.hh.
typedef unordered_set<State>::const_iterator Diades::Automata::Component::InitialStateIterator |
Definition at line 70 of file Component.hh.
typedef unordered_set<Transition>::const_iterator Diades::Automata::Component::InputEventTransitionIterator |
Definition at line 75 of file Component.hh.
Definition at line 71 of file Component.hh.
typedef unordered_set<State>::const_iterator Diades::Automata::Component::LabelledStateIterator |
Definition at line 76 of file Component.hh.
typedef unordered_set<Transition>::const_iterator Diades::Automata::Component::OutputEventTransitionIterator |
Definition at line 74 of file Component.hh.
Definition at line 72 of file Component.hh.
Definition at line 65 of file Component.hh.
Definition at line 67 of file Component.hh.
typedef std::string Diades::Automata::Component::StateLabel |
Definition at line 77 of file Component.hh.
Definition at line 68 of file Component.hh.
|
inline |
Default constructor: create an invalid component
Definition at line 133 of file Component.hh.
References Diades::Graph::EdgeMap< T >::init(), Diades::Graph::NodeMap< T >::init(), and ~Component().
Diades::Automata::Component::Component | ( | const Component & | component | ) |
Copy contructor
component | the component to copy |
|
virtual |
Destructor
Referenced by Component().
|
inline |
State iterator on states that are the sources of a given event
e | an Event |
Definition at line 757 of file Component.hh.
References Diades::Automata::Event::id(), and require.
|
inline |
State iterator on states that are the targets of a given event
e | an Event |
Definition at line 782 of file Component.hh.
References Diades::Automata::Event::id(), and require.
|
inline |
Definition at line 215 of file Component.hh.
References _behav.
Referenced by Diades::Automata::Trace::clear(), export2Hydiag(), exportBackwardToDot(), exportToDot(), Diades::Automata::ComposableModel::inputEventTransitionBegin(), Diades::Automata::ComposableModel::inputEventTransitionEnd(), Diades::Automata::Trace::isAcceptor(), Diades::Automata::ComposableModel::outputEventTransitionBegin(), Diades::Automata::ComposableModel::outputEventTransitionEnd(), Diades::Automata::ComposableModel::outputTransitionBegin(), Diades::Automata::ComposableModel::outputTransitionEnd(), Diades::Automata::purgeNonPredecessors(), Diades::Automata::Trace::setAcceptor(), and Diades::Automata::Trace::setNonAcceptor().
|
inline |
|
virtual |
clear the Component
Reimplemented in Diades::Automata::Trace, and Diades::Automata::ObservableComponent.
Referenced by Diades::Automata::Trace::clear(), and operator!=().
|
inline |
unset any potential initial state
Definition at line 625 of file Component.hh.
References Diades::Graph::NodeMap< T >::initValue(), stateBegin(), and stateEnd().
|
virtual |
Component export to dot file
fileName | exported file |
Reimplemented in Diades::Automata::ObservableComponent.
Referenced by MealyEncodingV1(), MooreEncoding(), and numberOfTransitions().
|
inline |
Definition at line 348 of file Component.hh.
References Diades::Automata::Event::isValid(), and require.
Referenced by setFaulty(), and setNormal().
void Diades::Automata::Component::deleteState | ( | State | state | ) |
state | a State Delete the state in the Component |
Referenced by Diades::Automata::deleteState(), getState(), MealyEncodingV1(), MooreEncoding(), and Diades::Automata::purgeNonPredecessors().
void Diades::Automata::Component::deleteState | ( | StateIterator | start, |
StateIterator | end | ||
) |
void Diades::Automata::Component::deleteTransition | ( | Transition | t | ) |
Transition deletion
t | a Transition to delete |
Referenced by Diades::Automata::deleteTransition(), and isInitial().
void Diades::Automata::Component::deleteTransition | ( | TransitionIterator | start, |
TransitionIterator | end | ||
) |
Transition deletions
start | TransIterator |
end | TransIterator |
void Diades::Automata::Component::deleteTransition | ( | EventTransitionIterator | start, |
EventTransitionIterator | end | ||
) |
Transition deletions
start | TransitionEventIterator |
end | TransitionEventIterator |
|
protectedvirtual |
Determination of the Component comp The current Component is the result of the determination
comp | Component to determine |
acceptors | acceptors of comp |
newAcceptors | acceptors corresponding to the acceptors in comp but that are from the current determined Component. |
Referenced by numberOfTransitions().
|
protectedvirtual |
Determination of the Component comp The current Component is the result of the determination
|
inline |
State iterator on states that are the sources of a given event
e | an Event |
Definition at line 769 of file Component.hh.
References Diades::Automata::Event::id(), and require.
|
inline |
State iterator on states that are the targets of a given event
e | an Event |
Definition at line 794 of file Component.hh.
References Diades::Automata::Event::id(), and require.
|
inline |
Event iterator
Definition at line 328 of file Component.hh.
Referenced by generateRandomComponent(), Diades::Automata::getEvents(), and main().
|
inline |
Event iterator
Definition at line 338 of file Component.hh.
Referenced by generateRandomComponent(), Diades::Automata::getEvents(), and main().
|
inline |
Definition at line 318 of file Component.hh.
References _events.
Referenced by component2Orange(), export2Hydiag(), initialiseModelFromDesComp(), Diades::Automata::ObservableComponent::inputObservableTransitionEnd(), runGlobalDiagnosisProblem(), startInteractiveSimulation(), and startNonInteractiveSimulation().
|
inline |
Transition iterator
e | an Event |
Definition at line 806 of file Component.hh.
References Diades::Automata::Event::id(), and require.
Referenced by component2Orange().
|
inline |
Transition iterator
e | an Event |
Definition at line 817 of file Component.hh.
References Diades::Automata::Event::id(), and require.
Referenced by component2Orange().
|
virtual |
Component export to the model file "des_comp"
filename | name of an oldmodel file |
Reimplemented in Diades::Automata::ObservableComponent.
Referenced by MealyEncodingV1(), and numberOfTransitions().
|
inline |
Event iterator
Definition at line 396 of file Component.hh.
|
inline |
Event iterator
Definition at line 406 of file Component.hh.
|
inline |
Definition at line 386 of file Component.hh.
References _faultyEvents.
|
inline |
t | a Trans |
Definition at line 304 of file Component.hh.
References _behav, ensure, isValid(), and require.
Referenced by Diades::Automata::FaultDiagnosis::componentDiagnose(), exportBackwardToDot(), exportToDesComp(), exportToDot(), Diades::Automata::generateTransitionList(), Diades::Automata::FaultDiagnosis::globalModelDiagnose(), Diades::Automata::interactiveSimulation(), main(), MealyEncodingV1(), MooreEncoding(), Diades::Automata::TargetDiagState::next(), Diades::Automata::IncorrectPath::noGood(), Diades::Automata::GetEvent::operator()(), printStatistics(), and Diades::Automata::randomSimulateState().
|
inline |
'state' | a State |
Definition at line 521 of file Component.hh.
References _behav, and require.
Referenced by exportBackwardToDot(), exportToDesComp(), exportToDot(), Diades::Automata::generateStateList(), Diades::Automata::generateTransitionList(), Diades::Automata::initialStateSelection(), Diades::Automata::interactiveSimulation(), main(), MooreEncoding(), and Diades::Automata::randomSimulateState().
|
inline |
mapping StateLabel -> State
Definition at line 124 of file Component.hh.
|
inline |
Definition at line 125 of file Component.hh.
|
inline |
'label' | a StateLabel |
Definition at line 534 of file Component.hh.
References deleteState(), and require.
Referenced by getStartingStates().
|
inline |
|
virtual |
Component import from a file
filename | name of a file containing a model |
Referenced by initialiseModelFromDesComp(), and initialiseModelFromSdmdl().
|
virtual |
Component import from an des_comp file
filename | name of a des_comp file |
* name * number of states * initialstate state2 ... stateN * number of failure events * fail1 { obs1 obs2 @ }...failM * number of normal events * norm1 { obs1 obs2 @ }... normP { obs1 obs2 @ } * number of observable events * obs1 ... obsT * number of transitions * statei -> statej event * ... *
Referenced by exportBackwardToDot(), exportToDot(), main(), and numberOfTransitions().
|
virtual |
Component import from an des_comp file
filename | name of a des_comp file |
* name * number of states * initialstate state2 ... stateN * number of failure events * fail1 { obs1 obs2 @ }...failM * number of normal events * norm1 { obs1 obs2 @ }... normP { obs1 obs2 @ } * number of observable events * obs1 ... obsT * number of transitions * statei -> statej event * ... *
|
inline |
Definition at line 638 of file Component.hh.
Referenced by exportToDesComp(), Diades::Automata::FaultDiagnosis::FaultDiagnosis(), getStartingStates(), Diades::Automata::Trace::initialState(), Diades::Automata::initialStateSelection(), main(), MealyEncoding(), MealyEncodingV1(), MooreEncoding(), and Diades::Automata::randomSimulate().
|
inline |
Definition at line 648 of file Component.hh.
Referenced by Diades::Automata::FaultDiagnosis::FaultDiagnosis(), getStartingStates(), Diades::Automata::initialStateSelection(), main(), and Diades::Automata::randomSimulate().
|
inline |
Transition iterator on the input transitions of a given state labelled with a given event
s | a State |
e | an Event |
Definition at line 867 of file Component.hh.
References _behav, Diades::Automata::Event::id(), and require.
Referenced by Diades::Automata::ComposableModel::inputEventTransitionBegin().
|
inline |
Transition iterator on the input transitions of a given state labelled with a given event
s | a State |
e | an Event |
Definition at line 884 of file Component.hh.
References _behav, Diades::Automata::Event::id(), and require.
Referenced by Diades::Automata::ComposableModel::inputEventTransitionEnd().
|
inline |
Input transition iterator
s | State |
Definition at line 936 of file Component.hh.
References _behav, and require.
Referenced by exportBackwardToDot(), printStatistics(), and Diades::Automata::purgeNonPredecessors().
|
inline |
Input transition iterator
s | State |
Definition at line 948 of file Component.hh.
References _behav, and require.
Referenced by exportBackwardToDot(), printStatistics(), and Diades::Automata::purgeNonPredecessors().
void Diades::Automata::Component::insertEvent | ( | const Event & | event | ) |
Insert the event if not already inserted. If not already inserted the inserted event is considered as normal. To change it as faulty use setFaulty(event) turned to be normal
event | an Event |
Referenced by MealyEncoding(), MealyEncodingV1(), MooreEncoding(), name(), and numberOfEvents().
void Diades::Automata::Component::insertEvent | ( | EventIterator | start, |
EventIterator | end | ||
) |
Insert the range of events if not already inserted If not already inserted the inserted event is considered as normal. To change it as faulty use setFaulty(event)
start | EventIterator |
end | EventIterator |
bool Diades::Automata::Component::isComplete | ( | ) | const |
Check completeness. The Component is seen as a finite state automaton (not necessarily deterministic) and we check that any transition label of the TransitionSystem is a label of, at least, one output transition of every state
Referenced by numberOfTransitions().
bool Diades::Automata::Component::isDeterministic | ( | ) | const |
Check determinism
Referenced by numberOfTransitions().
|
inline |
Definition at line 226 of file Component.hh.
References Diades::Graph::Graph::empty().
Referenced by isValid().
|
inline |
event | the event |
Definition at line 373 of file Component.hh.
|
inline |
state | a State |
Definition at line 672 of file Component.hh.
References _behav, deleteTransition(), mergeInfoStates(), newTransition(), and states.
|
inline |
event | the event |
Definition at line 429 of file Component.hh.
|
inline |
Definition at line 236 of file Component.hh.
References defaultComponentName, isEmpty(), and name().
Referenced by getEvent(), and Diades::Automata::ComposableModel::valid().
|
virtual |
Merge information about states when synchronising
components | The set of components that are synchronising |
states | The configuration of states |
currentState | The corresponding state in the current Component currentState = (components[0]->state[0],..., components[n]->state[n]) |
Reimplemented in Diades::Automata::Trace.
Referenced by isInitial().
|
private |
State merge
states | a set of states to merge |
Referenced by numberOfTransitions().
bool Diades::Automata::Component::minimize | ( | ) |
Minimize the Component Application of the minimization algorithm to create the minimal deterministic automata that represents the language of the current Component Note that the language is the prefix-closed language recognised by the current Component when we consider that every state of the Component is acceptor
Referenced by numberOfTransitions().
bool Diades::Automata::Component::minimize | ( | unordered_set< State > & | acceptors | ) |
Minimize the Component Application of the minimization algorithm to create the minimal determinitic automata that represents the language of the current Component
acceptors | set of acceptor states (from a language point of view) |
Note that if acceptors is empty, the language is the prefix-closed language recognised by the current Component when we consider that every state of the Component is an acceptor
|
inline |
Definition at line 256 of file Component.hh.
References _name, ensure, and insertEvent().
Referenced by exportToDesComp(), initialiseDiagnosers(), Diades::Automata::ObservableComponent::inputObservableTransitionEnd(), isValid(), main(), Diades::Automata::ComposableModel::name(), printStatistics(), setName(), and synchroniseModels().
|
private |
Nerode partition (for minimization)
partition | will contain the nerode partition of the Component (required for the minimization of the Component) |
Referenced by numberOfTransitions().
|
private |
State Diades::Automata::Component::newState | ( | ) |
Create a new State in the component
Referenced by getSynchronisedInteraction(), MealyEncoding(), MealyEncodingV1(), MooreEncoding(), and normalEventEnd().
State Diades::Automata::Component::newState | ( | const StateLabel & | label | ) |
Create a new State in the component
label | the associated StateLabel of the state |
Transition Diades::Automata::Component::newTransition | ( | State | source, |
State | target, | ||
Event | event | ||
) |
source | a State of the Component |
target | a State of the Component |
event | an Event If the event is not yet in the component, the event is set to be normal, use setFaulty to change this |
Referenced by isInitial(), MealyEncoding(), MealyEncodingV1(), and MooreEncoding().
Transition Diades::Automata::Component::newTransition | ( | const StateLabel & | source, |
const StateLabel & | target, | ||
Event | event | ||
) |
source | a StateLabel |
target | a StateLabel |
event | an Event, if the event is not yet in the component, the event is set to be normal, use setFaulty to change this |
|
inline |
Event iterator
Definition at line 451 of file Component.hh.
|
inline |
Event iterator
Definition at line 461 of file Component.hh.
References newState(), and replaceEvent().
|
inline |
Definition at line 441 of file Component.hh.
References _normalEvents.
|
inline |
Number of events
Definition at line 284 of file Component.hh.
References insertEvent(), and start.
Referenced by main().
|
inline |
Definition at line 659 of file Component.hh.
Referenced by Diades::Automata::initialStateSelection(), main(), and Diades::Automata::randomSimulate().
|
inline |
Number of states
Definition at line 563 of file Component.hh.
References Diades::Graph::Graph::numberOfNodes().
Referenced by component2Orange(), export2Hydiag(), exportBackwardToDot(), exportToDesComp(), exportToDot(), main(), Diades::Automata::ComposableModel::numberOfStates(), printStatistics(), and Diades::Automata::purgeNonPredecessors().
|
inline |
Number of transitions
Definition at line 958 of file Component.hh.
References component2dot(), determine(), exportDesCompModel(), importDesCompModel(), isComplete(), isDeterministic(), Diades::Utils::Loggable::log(), mergeStates(), minimize(), nerodePartition(), Diades::Graph::Graph::numberOfEdges(), parseDesCompFaultyEvents(), parseDesCompMaskedEvents(), parseDesCompName(), parseDesCompNormalEvents(), parseDesCompObservableEvents(), parseDesCompStates(), parseDesCompTransitions(), project(), reachableStates(), sanityCheck(), splitPartition(), and splitPartition2().
Referenced by getSynchronisedInteraction(), main(), Diades::Automata::ComposableModel::numberOfTransitions(), printStatistics(), and Diades::Automata::randomSimulateState().
|
inline |
|
inline |
Equality operator
component | the Component to compare |
Definition at line 173 of file Component.hh.
|
inline |
Transition iterator on the output transitions of a given state labelled with a given event
s | a State |
e | an Event |
Definition at line 832 of file Component.hh.
References _behav, Diades::Automata::Event::id(), Diades::Automata::Event::isValid(), and require.
Referenced by export2Hydiag(), MealyEncoding(), MealyEncodingV1(), MooreEncoding(), and Diades::Automata::ComposableModel::outputEventTransitionBegin().
|
inline |
Transition iterator on the output transitions of a given state labelled with a given event
s | a State |
e | an Event |
Definition at line 850 of file Component.hh.
References _behav, Diades::Automata::Event::id(), and require.
Referenced by export2Hydiag(), MealyEncoding(), MealyEncodingV1(), MooreEncoding(), and Diades::Automata::ComposableModel::outputEventTransitionEnd().
|
inline |
Output transition iterator
s | State |
Definition at line 913 of file Component.hh.
References _behav, and require.
Referenced by Diades::Automata::FaultDiagnosis::componentDiagnose(), exportToDot(), Diades::Automata::FaultDiagnosis::globalModelDiagnose(), Diades::Automata::interactiveSimulation(), MooreEncoding(), Diades::Automata::ComposableModel::outputTransitionBegin(), printStatistics(), and Diades::Automata::randomSimulateState().
|
inline |
Output transition iterator
s | State |
Definition at line 925 of file Component.hh.
References _behav, and require.
Referenced by Diades::Automata::FaultDiagnosis::componentDiagnose(), exportToDot(), Diades::Automata::FaultDiagnosis::globalModelDiagnose(), Diades::Automata::interactiveSimulation(), MooreEncoding(), Diades::Automata::ComposableModel::outputTransitionEnd(), printStatistics(), and Diades::Automata::randomSimulateState().
|
protectedvirtual |
stream | the input stream parse the faulty events of the component in a des_comp file |
Reimplemented in Diades::Automata::ObservableComponent.
Referenced by numberOfTransitions().
|
protectedvirtual |
stream | the input stream |
number | the number of expected events parse a set of masked events of the component in a des_comp file |
Referenced by numberOfTransitions().
|
protectedvirtual |
stream | the input stream parse the name of the component in a des_comp file |
Referenced by numberOfTransitions().
|
protectedvirtual |
stream | the input stream parse the normal events of the component in a des_comp file |
Reimplemented in Diades::Automata::ObservableComponent.
Referenced by numberOfTransitions().
|
protectedvirtual |
stream | the input stream parse the observable events of the component in a des_comp file here an observable event is just consider as a normal event |
Reimplemented in Diades::Automata::ObservableComponent.
Referenced by numberOfTransitions().
|
protectedvirtual |
stream | the input stream parse the states of the component in a des_comp file |
Referenced by numberOfTransitions().
|
protectedvirtual |
stream | the input stream parse the transitions of the component in a des_comp file, |
Referenced by numberOfTransitions().
|
virtual |
Projection of the Component comp The current Component is the result of the projection of comp over the set of events projectedEvents In the projection, events are considered to be normal, update with setFaulty if required
comp | Component to project |
projectedEvents | set of projected events |
Referenced by numberOfTransitions().
|
virtual |
Projection of the Component comp The current ObservableComponent is the result of the projection of comp over the set of events projectedEvents. In the projection, events are considered to be normal, update with setFaulty if required
comp | ObservableComponent to project |
projectedEvents | set of projected events |
dictionary | the dictionnary that associates to each state of the abstracted component the set of states of the original component. |
|
virtual |
Projection of the Component comp The current Component is the result of the projection of comp over the set of codes projectedCodes
tSys | Component to project |
projectedEvents | set of projected events In the projection, events are considered to be normal, update with setFaulty if required |
acceptors | acceptors of Comp |
newAcceptors | acceptors corresponding to the acceptors in Comp but that are from the current projected Component. |
|
private |
Reachable states
bs | a BeliefState |
event | an Eventt |
projectedEvents | set of projected events |
nextBs | next BeliefState Compute the BeliefState nextBs containing all the states s' such that there exists a transition sequence from a state s of bs to state s' ending with a transition labeled with the Event 'event'. No transition before the last one is labeled with an Event from the set 'projectedCodes' |
Referenced by numberOfTransitions().
|
private |
Reachable states
bs | a BeliefState |
event | an Event |
projectedEvents | set of projected events |
nextBs | next BeliefState |
acceptors | acceptor States |
acceptorPresence | presenceOfAcceptors Compute the BeliefState nextBs containing all the states s' such that there exists a transition sequence from a state s of bs to state s' ending with a transition labeled with the Event 'event'. No transition before the last one is labeled with an Event from the set 'projectedEvents'. If during the search, the algorithm finds out a state that is an acceptor then presenceOfAcceptors is set to true; |
Event replacement, if e2 is not inserted yet, it will be inserted and considered as normal. Use setFaulty(e2) if you want to change that
Referenced by normalEventEnd().
bool Diades::Automata::Component::sanityCheck | ( | string & | log | ) | const |
log | some pieces of information returned by sanityCheck |
Referenced by numberOfTransitions().
|
inline |
set all the states as possible initial states
Definition at line 615 of file Component.hh.
References Diades::Graph::NodeMap< T >::initValue(), stateBegin(), and stateEnd().
|
inline |
event | the event to set faulty |
Definition at line 361 of file Component.hh.
References containsEvent(), and require.
|
inline |
set the identifier of the component
identifier | the new identifier |
Definition at line 208 of file Component.hh.
|
inline |
Set the state as a possible initial state
state | a State of the Component |
Definition at line 589 of file Component.hh.
References _behav.
Referenced by getSynchronisedInteraction(), MealyEncoding(), MealyEncodingV1(), and MooreEncoding().
|
inline |
set the name of the Component
name | the new name of the Component |
Definition at line 246 of file Component.hh.
References ensure, name(), and require.
Referenced by MealyEncoding(), MealyEncodingV1(), and MooreEncoding().
|
inline |
event | the event to set normal |
Definition at line 418 of file Component.hh.
References containsEvent(), and require.
|
private |
Split two partition elements according to the splittable property (minimization)
bigQO | a BeliefState |
bigQ1 | a BeliefState |
littleA | an Event |
bigQ0prime | a BeliefState result of the split |
bigQ0MinusbigQ0prime | a BeliefState result of the split |
Do the split as follows. 1) If the states of Q0 always have an output transition labelled with a that goes to a state of Q1 then Q0 is not splittable and bigQ0prime bigQ0MinusbigQ0prime are empty belief states 2) If the states of Q0 always have an output transition labelled with a that goes to a state NOT in Q1 then Q0 is not splittable and bigQ0prime bigQ0MinusbigQ0prime are empty belief states 3) Otherwise it is splittable and bigQ0prime contains the states of Q0 that satify case 1 and bigQ0MinusbigQ0prime are the one that satisfies case 2
Note that bigQ1 may be equal to 0 which means that Q1 = {sink_state}. The sink_state is not explicitly represented in the Component
Referenced by numberOfTransitions().
|
private |
this version of splitPartition is used when there exist acceptors
bigQO | a BeliefState |
bigQ1 | a BeliefState |
littleA | an Event |
bigQ0prime | a BeliefState result of the split |
bigQ0MinusbigQ0prime | a BeliefState result of the split |
sinkState | sink state (the way to implicitely represents a complete DFA |
Referenced by numberOfTransitions().
|
inline |
State iterator
Definition at line 572 of file Component.hh.
References Diades::Graph::Graph::nodeBegin().
Referenced by clearAllInitialStates(), export2Hydiag(), exportToDesComp(), main(), Diades::Automata::Trace::makeAllAcceptors(), Diades::Automata::Trace::makeAllNonAcceptors(), printStatistics(), Diades::Automata::purgeNonPredecessors(), setAllInitialStates(), and Diades::Automata::ComposableModel::stateBegin().
|
inline |
State iterator
Definition at line 579 of file Component.hh.
References Diades::Graph::Graph::nodeEnd().
Referenced by clearAllInitialStates(), export2Hydiag(), exportToDesComp(), main(), Diades::Automata::Trace::makeAllAcceptors(), Diades::Automata::Trace::makeAllNonAcceptors(), printStatistics(), Diades::Automata::purgeNonPredecessors(), setAllInitialStates(), and Diades::Automata::ComposableModel::stateEnd().
|
inline |
Transition iterator
Definition at line 897 of file Component.hh.
References Diades::Graph::Graph::edgeBegin().
Referenced by exportToDesComp(), and main().
|
inline |
Transition iterator
Definition at line 904 of file Component.hh.
References Diades::Graph::Graph::edgeEnd().
Referenced by exportToDesComp(), and main().
|
inlinestatic |
the name by default
Definition at line 60 of file Component.hh.
|
inline |
Set the state as a possible initial state
state | a State of the Component |
Definition at line 603 of file Component.hh.
References _behav.
|
protected |
Definition at line 80 of file Component.hh.
Referenced by behaviour(), getEvent(), getLabel(), inputEventTransitionBegin(), inputEventTransitionEnd(), Diades::Automata::ObservableComponent::inputObservableTransitionBegin(), Diades::Automata::ObservableComponent::inputObservableTransitionEnd(), inputTransitionBegin(), inputTransitionEnd(), isInitial(), outputEventTransitionBegin(), outputEventTransitionEnd(), Diades::Automata::ObservableComponent::outputObservableTransitionBegin(), Diades::Automata::ObservableComponent::outputObservableTransitionEnd(), outputTransitionBegin(), outputTransitionEnd(), setInitial(), and unsetInitial().
|
private |
Definition at line 95 of file Component.hh.
|
private |
|
private |
|
private |
|
protected |
behaviour of the component
Definition at line 81 of file Component.hh.
|
protected |
possible initial states of the Component
Definition at line 82 of file Component.hh.
|
private |
Definition at line 96 of file Component.hh.
|
private |
|
private |
Definition at line 89 of file Component.hh.
Referenced by normalEvents().
|
private |
Definition at line 92 of file Component.hh.
|
private |
Information on a state
Definition at line 97 of file Component.hh.
|
private |
Definition at line 93 of file Component.hh.
|
private |
Definition at line 94 of file Component.hh.
|
private |
Definition at line 91 of file Component.hh.
|
private |
Definition at line 90 of file Component.hh.
|
static |
Definition at line 59 of file Component.hh.
Referenced by isValid().