Storm
A Modern Probabilistic Model Checker
Loading...
Searching...
No Matches
storm::jani::ParallelComposition Class Reference

#include <ParallelComposition.h>

Inheritance diagram for storm::jani::ParallelComposition:
Collaboration diagram for storm::jani::ParallelComposition:

Public Member Functions

 ParallelComposition (std::shared_ptr< Composition > const &subcomposition, std::vector< SynchronizationVector > const &synchronizationVectors)
 Creates a parallel composition of the subcomposition and the provided synchronization vectors.
 
 ParallelComposition (std::vector< std::shared_ptr< Composition > > const &subcompositions, std::vector< SynchronizationVector > const &synchronizationVectors)
 Creates a parallel composition of the subcompositions and the provided synchronization vectors.
 
 ParallelComposition (std::vector< std::shared_ptr< Composition > > const &subcompositions, std::set< std::string > const &synchronizationAlphabet)
 Creates a parallel composition of the subcompositions over the provided synchronization alphabet.
 
 ParallelComposition (std::shared_ptr< Composition > const &leftSubcomposition, std::shared_ptr< Composition > const &rightSubcomposition, std::set< std::string > const &synchronizationAlphabet)
 Creates a parallel composition of the subcompositions over the provided synchronization alphabet.
 
virtual bool isParallelComposition () const override
 
Composition const & getSubcomposition (uint64_t index) const
 Retrieves the subcomposition with the given index.
 
std::vector< std::shared_ptr< Composition > > const & getSubcompositions () const
 Retrieves the subcompositions of the parallel composition.
 
uint64_t getNumberOfSubcompositions () const
 Retrieves the number of subcompositions of this parallel composition.
 
SynchronizationVector const & getSynchronizationVector (uint64_t index) const
 Retrieves the synchronization vector with the given index.
 
std::vector< SynchronizationVector > const & getSynchronizationVectors () const
 Retrieves the synchronization vectors of the parallel composition.
 
std::size_t getNumberOfSynchronizationVectors () const
 Retrieves the number of synchronization vectors.
 
virtual boost::any accept (CompositionVisitor &visitor, boost::any const &data) const override
 
virtual void write (std::ostream &stream) const override
 
bool areActionsReused () const
 
- Public Member Functions inherited from storm::jani::Composition
virtual ~Composition ()=default
 
virtual bool isAutomatonComposition () const
 
AutomatonComposition const & asAutomatonComposition () const
 
ParallelComposition const & asParallelComposition () const
 

Detailed Description

Definition at line 70 of file ParallelComposition.h.

Constructor & Destructor Documentation

◆ ParallelComposition() [1/4]

storm::jani::ParallelComposition::ParallelComposition ( std::shared_ptr< Composition > const &  subcomposition,
std::vector< SynchronizationVector > const &  synchronizationVectors 
)

Creates a parallel composition of the subcomposition and the provided synchronization vectors.

Definition at line 134 of file ParallelComposition.cpp.

◆ ParallelComposition() [2/4]

storm::jani::ParallelComposition::ParallelComposition ( std::vector< std::shared_ptr< Composition > > const &  subcompositions,
std::vector< SynchronizationVector > const &  synchronizationVectors 
)

Creates a parallel composition of the subcompositions and the provided synchronization vectors.

Definition at line 139 of file ParallelComposition.cpp.

◆ ParallelComposition() [3/4]

storm::jani::ParallelComposition::ParallelComposition ( std::vector< std::shared_ptr< Composition > > const &  subcompositions,
std::set< std::string > const &  synchronizationAlphabet 
)

Creates a parallel composition of the subcompositions over the provided synchronization alphabet.

Definition at line 146 of file ParallelComposition.cpp.

◆ ParallelComposition() [4/4]

storm::jani::ParallelComposition::ParallelComposition ( std::shared_ptr< Composition > const &  leftSubcomposition,
std::shared_ptr< Composition > const &  rightSubcomposition,
std::set< std::string > const &  synchronizationAlphabet 
)

Creates a parallel composition of the subcompositions over the provided synchronization alphabet.

Definition at line 156 of file ParallelComposition.cpp.

Member Function Documentation

◆ accept()

boost::any storm::jani::ParallelComposition::accept ( CompositionVisitor visitor,
boost::any const &  data 
) const
overridevirtual

Implements storm::jani::Composition.

Definition at line 237 of file ParallelComposition.cpp.

◆ areActionsReused()

bool storm::jani::ParallelComposition::areActionsReused ( ) const

Definition at line 195 of file ParallelComposition.cpp.

◆ getNumberOfSubcompositions()

uint64_t storm::jani::ParallelComposition::getNumberOfSubcompositions ( ) const

Retrieves the number of subcompositions of this parallel composition.

Definition at line 179 of file ParallelComposition.cpp.

◆ getNumberOfSynchronizationVectors()

std::size_t storm::jani::ParallelComposition::getNumberOfSynchronizationVectors ( ) const

Retrieves the number of synchronization vectors.

Definition at line 191 of file ParallelComposition.cpp.

◆ getSubcomposition()

Composition const & storm::jani::ParallelComposition::getSubcomposition ( uint64_t  index) const

Retrieves the subcomposition with the given index.

Definition at line 171 of file ParallelComposition.cpp.

◆ getSubcompositions()

std::vector< std::shared_ptr< Composition > > const & storm::jani::ParallelComposition::getSubcompositions ( ) const

Retrieves the subcompositions of the parallel composition.

Definition at line 175 of file ParallelComposition.cpp.

◆ getSynchronizationVector()

SynchronizationVector const & storm::jani::ParallelComposition::getSynchronizationVector ( uint64_t  index) const

Retrieves the synchronization vector with the given index.

Definition at line 183 of file ParallelComposition.cpp.

◆ getSynchronizationVectors()

std::vector< SynchronizationVector > const & storm::jani::ParallelComposition::getSynchronizationVectors ( ) const

Retrieves the synchronization vectors of the parallel composition.

Definition at line 187 of file ParallelComposition.cpp.

◆ isParallelComposition()

bool storm::jani::ParallelComposition::isParallelComposition ( ) const
overridevirtual

Reimplemented from storm::jani::Composition.

Definition at line 167 of file ParallelComposition.cpp.

◆ write()

void storm::jani::ParallelComposition::write ( std::ostream &  stream) const
overridevirtual

Implements storm::jani::Composition.

Definition at line 241 of file ParallelComposition.cpp.


The documentation for this class was generated from the following files: