|
spot 2.16
|
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>
Public Types | |
| using | shared_map = brick::hashset::FastConcurrent< deadlock_pair *, pair_hasher > |
| Concurrent hashset for shared state storage. More... | |
| using | shared_struct = shared_map |
| Type alias for shared structure. More... | |
Public Member Functions | |
| swarmed_deadlock (kripkecube< State, SuccIterator > &sys, twacube_ptr, shared_map &map, shared_struct *, unsigned tid, std::atomic< bool > &stop) | |
| Constructor for parallel deadlock detection. More... | |
| void | run () |
| Run the algorithm. More... | |
| void | setup () |
| Setup thread resources. More... | |
| bool | push (State s) |
| Push state onto stack. More... | |
| bool | pop () |
| Pop state from stack. More... | |
| void | finalize () |
| Finalize thread resources. More... | |
| bool | finisher () |
| Check if this thread finished the search. More... | |
| unsigned | states () |
| Return number of states visited. More... | |
| unsigned | transitions () |
| Return number of transitions traversed. More... | |
| unsigned | walltime () |
| Return wall time in milliseconds. More... | |
| std::string | name () |
| Return algorithm name. More... | |
| int | sccs () |
| Return number of SCCs found (returns -1) More... | |
| mc_rvalue | result () |
| Return deadlock detection result. More... | |
| std::string | trace () |
| Return trace. More... | |
Static Public Member Functions | |
| static shared_struct * | make_shared_structure (shared_map, unsigned) |
| Create shared structure for thread tid. More... | |
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.
| using spot::swarmed_deadlock< State, SuccIterator, StateHash, StateEqual, Deadlock >::shared_map = brick::hashset::FastConcurrent <deadlock_pair*, pair_hasher> |
Concurrent hashset for shared state storage.
| using spot::swarmed_deadlock< State, SuccIterator, StateHash, StateEqual, Deadlock >::shared_struct = shared_map |
Type alias for shared structure.
|
inline |
Constructor for parallel deadlock detection.
|
inline |
Finalize thread resources.
|
inline |
Check if this thread finished the search.
|
inlinestatic |
Create shared structure for thread tid.
|
inline |
Return algorithm name.
|
inline |
Pop state from stack.
|
inline |
Push state onto stack.
|
inline |
Return deadlock detection result.
References spot::DEADLOCK, spot::NO_DEADLOCK, and spot::SUCCESS.
|
inline |
Run the algorithm.
|
inline |
Return number of SCCs found (returns -1)
|
inline |
Setup thread resources.
|
inline |
Return number of states visited.
|
inline |
Return trace.
|
inline |
Return number of transitions traversed.
|
inline |
Return wall time in milliseconds.
1.9.4