UnCoVer (Using Coverability for Verification)
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Pages
Public Types | Public Member Functions | Protected Attributes | List of all members
GTS Class Reference

The GTS class is the data structure for a graph transformation system. More...

#include <GTS.h>

Inheritance diagram for GTS:
Inheritance graph
[legend]
Collaboration diagram for GTS:
Collaboration graph
[legend]

Public Types

typedef unordered_map< IDType,
Rule_sp
RuleMap
 An alias for the map storing standard rules.
 
typedef unordered_map< IDType,
UQRule_sp
UQRuleMap
 An alias for the map storing universally quantified rules.
 

Public Member Functions

 GTS (string name="", RuleMap const &rules=(RuleMap()), UQRuleMap const &uqRules=(UQRuleMap()), vector< Hypergraph_sp > const &initialGraphs=vector< Hypergraph_sp >())
 Generates a new GTS with the given name, standard rule set, quantified rule set and initial graphs. More...
 
 ~GTS ()
 Destroys this GTS instance.
 
vector< Hypergraph_sp > const & getInitialGraphs () const
 Returns a reference to the collection of initial graphs of this GTS. More...
 
bool addInitialGraph (Hypergraph_sp graph)
 Adds the given graph to the collection of initial graphs of this GTS. More...
 
size_t getInitialCount () const
 Returns the number of initial graphs of this GTS. More...
 
string getName () const
 Returns the name of this GTS. More...
 
RuleMap const & getStdRules () const
 Returns a reference to the standard rules of this GTS. More...
 
bool addStdRule (Rule_sp rule)
 Adds the given Rule to the standard rules of this GTS. More...
 
size_t getStdRuleCount () const
 Returns the number of standard rules stored in this GTS. More...
 
UQRuleMap const & getUQRules () const
 Returns a reference to the universally quantified rules of this GTS. More...
 
bool addUQRule (UQRule_sp rule)
 Adds the given UQRule to the quantified rules of this GTS. More...
 
size_t getUQRuleCount () const
 Returns the number of universally quantified rules stored in this GTS. More...
 
virtual void streamTo (std::ostream &ost) const
 Prints a string representation of this GTS to the given steam. More...
 

Protected Attributes

string name
 Stores the name of the GTS.
 
vector< Hypergraph_spinitialGraphs
 Stores all initial graphs of this GTS.
 
RuleMap stdRules
 Stores all standard rules of this GTS, indexed by ID.
 
UQRuleMap uqRules
 Stores all quantified rules of this GTS, indexed by ID.
 

Detailed Description

The GTS class is the data structure for a graph transformation system.

It stores initial graphs, standard rules and universally quantified rules.

Author
Jan Stückrath

Constructor & Destructor Documentation

GTS ( string  name = "",
RuleMap const &  rules = (RuleMap()),
UQRuleMap const &  uqRules = (UQRuleMap()),
vector< Hypergraph_sp > const &  initialGraphs = vector<Hypergraph_sp>() 
)

Generates a new GTS with the given name, standard rule set, quantified rule set and initial graphs.

Parameters
namea sting representing the name of this GTS
rulesa map of the standard rules of this GTS
uqRulesa map of the quantified rules of this GTS.
initialGraphsa collection of initial graphs of this GTS

Member Function Documentation

bool addInitialGraph ( Hypergraph_sp  graph)

Adds the given graph to the collection of initial graphs of this GTS.

Parameters
graphthe graph to be added to the initial graphs
Returns
true, iff the graph was added (i.e. it was not null)
bool addStdRule ( Rule_sp  rule)

Adds the given Rule to the standard rules of this GTS.

Parameters
rulethe Rule to be added
Returns
true, iff the rule was added (i.e. it was not null and not already added before)
bool addUQRule ( UQRule_sp  rule)

Adds the given UQRule to the quantified rules of this GTS.

Parameters
rulethe UQRule to be added
Returns
true, iff the rule was added (i.e. it was not null and not already added before)
size_t getInitialCount ( ) const

Returns the number of initial graphs of this GTS.

Returns
the number of initial graphs of this GTS
vector< shared_ptr< Hypergraph > > const & getInitialGraphs ( ) const

Returns a reference to the collection of initial graphs of this GTS.

Returns
a reference to the collection of initial graphs of this GTS
string getName ( ) const

Returns the name of this GTS.

Returns
the name of this GTS
size_t getStdRuleCount ( ) const

Returns the number of standard rules stored in this GTS.

Returns
the number of standard rules stored in this GTS
unordered_map< IDType, shared_ptr< Rule > > const & getStdRules ( ) const

Returns a reference to the standard rules of this GTS.

Returns
a reference to the standard rules of this GTS
size_t getUQRuleCount ( ) const

Returns the number of universally quantified rules stored in this GTS.

Returns
the number of quantified rules of this GTS
unordered_map< IDType, UQRule_sp > const & getUQRules ( ) const

Returns a reference to the universally quantified rules of this GTS.

Returns
a reference to the quantified rules of this GTS
void streamTo ( std::ostream &  ost) const
virtual

Prints a string representation of this GTS to the given steam.

Parameters
ostthe stream on which the string will be printed

Implements Streamable.


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