You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

39 lines
1.3 KiB

#pragma once
#include <set>
#include "storm/storage/jani/Composition.h"
namespace storm {
namespace jani {
class AutomatonComposition : public Composition {
public:
/*!
* Creates a reference to an automaton to be used in a composition.
*/
AutomatonComposition(std::string const& name, std::set<std::string> const& inputEnabledActions = {});
/*!
* Retrieves the name of the automaton this composition element refers to.
*/
std::string const& getAutomatonName() const;
virtual boost::any accept(CompositionVisitor& visitor, boost::any const& data) const override;
virtual void write(std::ostream& stream) const override;
std::set<std::string> const& getInputEnabledActions() const;
virtual bool isAutomatonComposition() const override;
private:
/// The name of the automaton this composition element refers to.
std::string name;
/// The names of the actions for which to make this automaton input-enabled.
std::set<std::string> inputEnabledActions;
};
}
}