This class aims to explore a model to detect whether it contains a deadlock. This deadlock detection performs a DFS traversal sharing information shared among multiple threads. If Deadlock equals std::true_type performs deadlock algorithm, otherwise perform a simple reachability.
More...
#include <spot/mc/deadlock.hh>
template<typename State, typename SuccIterator, typename StateHash, typename StateEqual, typename Deadlock>
class spot::swarmed_deadlock< State, SuccIterator, StateHash, StateEqual, Deadlock >
This class aims to explore a model to detect whether it contains a deadlock. This deadlock detection performs a DFS traversal sharing information shared among multiple threads. If Deadlock equals std::true_type performs deadlock algorithm, otherwise perform a simple reachability.
◆ shared_map
template<typename State , typename SuccIterator , typename StateHash , typename StateEqual , typename Deadlock >
Concurrent hashset for shared state storage.
◆ shared_struct
template<typename State , typename SuccIterator , typename StateHash , typename StateEqual , typename Deadlock >
Type alias for shared structure.
◆ swarmed_deadlock()
template<typename State , typename SuccIterator , typename StateHash , typename StateEqual , typename Deadlock >
| spot::swarmed_deadlock< State, SuccIterator, StateHash, StateEqual, Deadlock >::swarmed_deadlock |
( |
kripkecube< State, SuccIterator > & |
sys, |
|
|
twacube_ptr |
, |
|
|
shared_map & |
map, |
|
|
shared_struct * |
, |
|
|
unsigned |
tid, |
|
|
std::atomic< bool > & |
stop |
|
) |
| |
|
inline |
Constructor for parallel deadlock detection.
◆ finalize()
template<typename State , typename SuccIterator , typename StateHash , typename StateEqual , typename Deadlock >
Finalize thread resources.
◆ finisher()
template<typename State , typename SuccIterator , typename StateHash , typename StateEqual , typename Deadlock >
Check if this thread finished the search.
◆ make_shared_structure()
template<typename State , typename SuccIterator , typename StateHash , typename StateEqual , typename Deadlock >
Create shared structure for thread tid.
◆ name()
template<typename State , typename SuccIterator , typename StateHash , typename StateEqual , typename Deadlock >
◆ pop()
template<typename State , typename SuccIterator , typename StateHash , typename StateEqual , typename Deadlock >
◆ push()
template<typename State , typename SuccIterator , typename StateHash , typename StateEqual , typename Deadlock >
◆ result()
template<typename State , typename SuccIterator , typename StateHash , typename StateEqual , typename Deadlock >
◆ run()
template<typename State , typename SuccIterator , typename StateHash , typename StateEqual , typename Deadlock >
◆ sccs()
template<typename State , typename SuccIterator , typename StateHash , typename StateEqual , typename Deadlock >
Return number of SCCs found (returns -1)
◆ setup()
template<typename State , typename SuccIterator , typename StateHash , typename StateEqual , typename Deadlock >
◆ states()
template<typename State , typename SuccIterator , typename StateHash , typename StateEqual , typename Deadlock >
Return number of states visited.
◆ trace()
template<typename State , typename SuccIterator , typename StateHash , typename StateEqual , typename Deadlock >
◆ transitions()
template<typename State , typename SuccIterator , typename StateHash , typename StateEqual , typename Deadlock >
Return number of transitions traversed.
◆ walltime()
template<typename State , typename SuccIterator , typename StateHash , typename StateEqual , typename Deadlock >
Return wall time in milliseconds.
The documentation for this class was generated from the following file: