1 #ifndef __MODULE_BELIEF_H__ 2 #define __MODULE_BELIEF_H__ 8 #include "ModuleGeneric.h" 10 #include "Constraints.h" 19 class BooleanExpression;
32 std::vector<std::string>* _members);
40 std::vector<std::string> *get_members()
const;
45 void add_domain(
Domain *d);
56 void set_modules(std::vector<ModuleGeneric *> *_modules)
override;
85 bool check_single_valuation(std::vector<QuantifierEntry*>* quantifiers,
int index,
Result* r,
86 std::map<std::string, Value*>* valuation, std::vector<Inter4ql::Value*>* expected)
const;
88 std::vector<std::string> *members;
89 std::vector<ModuleGeneric *> *member_modules;
92 std::vector<Domain*> *domains;
93 std::vector<ModuleGeneric *> *modules;
94 std::vector<Fact*> *facts;
96 mutable bool disable_constraints;
bool constraints_violated() override
checks whether constraints are violated
Definition: ModuleBelief.cc:291
std::vector< ModuleGeneric * > * get_member_modules()
gets a list of member module objects
Definition: ModuleBelief.cc:191
class that implements a fact
Definition: Fact.h:14
bool check_constraints_local(bool check_rigid, bool check_flexible) const override
evaluates constraints locally, in current module
Definition: ModuleBelief.cc:179
ModuleBelief(std::string _name, Constraints *_constraints, std::vector< std::string > *_members)
constructor
Definition: ModuleBelief.cc:21
void reason()
performs reasoning
Definition: ModuleBelief.cc:145
Definition: Expression.h:10
Result evaluate_expression_bf(Expression *expr) const override
provides bel-free valuations matching given Expression
Definition: ModuleBelief.cc:196
Result ask_for_result(Fact *term) const
provides valuations matching given Fact
Definition: ModuleBelief.cc:150
Definition: Application.cc:37
std::string get_name() const
getter for a name of module
Definition: ModuleBelief.cc:100
Domain class - class that points to a data type.
Definition: Domain.h:12
Generic class of module (only virtual methods)
Definition: ModuleGeneric.h:21
Relation * get_relation(std::string s) const
getter for a relation
Definition: ModuleBelief.cc:51
void set_modules(std::vector< ModuleGeneric *> *_modules) override
setter for modules needed in this module
Definition: ModuleBelief.cc:249
virtual std::vector< Domain * > * get_domains() const
getter for domains
Definition: ModuleBelief.cc:96
~ModuleBelief()
destructor
Definition: ModuleBelief.cc:38
Constraints * get_constraints() const override
getter for constraints
Definition: ModuleBelief.h:61
module_type::type get_module_type() const
getter for module type
Definition: ModuleBelief.cc:133
void set_disable_constraints(bool value) const override
allows for disabling constraints check
Definition: ModuleBelief.h:66
Output class handles standard output of interpreter.
Definition: Constraints.h:68
std::string print()
function that returns string with module information
Definition: ModuleBelief.cc:104
type
Enumeration type for types of values.
Definition: Types.h:26
Result evaluate_expression(Expression *expr) const override
provides valuations matching given Expression
Definition: ModuleBelief.cc:222
Implementation of ModuleGeneric for modules with reasoning.
Definition: ModuleBelief.h:22
class that handles relation instance inside modules
Definition: Relation.h:13