vs.plotagent
Interface IInspirationModule

All Superinterfaces:
IAgentModule
All Known Implementing Classes:
BasicInspirationModule

public interface IInspirationModule
extends IAgentModule

The inspiration module is an implementation of the Narrative Inspiration idea. It should deliver suggestions based on given fabula and rule base.

Author:
swartjes

Method Summary
 void addUsedSuggestion(Suggestion s)
          Mark a suggestion as having been used (the module should decide whether that means not to use it again)
 java.util.Set<InspirationRule> generateRules(java.lang.String caseFileURL)
          Generates a file containing the rules, generated from a fabula case
 java.util.Set<Suggestion> getSuggestions()
          Retrieves a set containing suggestions given the current state of the fabula
 void loadRules(java.lang.String filename)
          Loads a rule file into memory
 java.util.Set<OperationalizedSuggestion> operationalizeSuggestions(java.util.Set<Suggestion> suggestions)
          Operationalizes given suggestions, meaning: make them ready for use.
 void writeRules(java.util.Set<InspirationRule> rules, java.lang.String ruleFileURL)
          Generates a file containing the given rules.
 
Methods inherited from interface vs.IAgentModule
getAgent
 

Method Detail

addUsedSuggestion

void addUsedSuggestion(Suggestion s)
Mark a suggestion as having been used (the module should decide whether that means not to use it again)


generateRules

java.util.Set<InspirationRule> generateRules(java.lang.String caseFileURL)
Generates a file containing the rules, generated from a fabula case

Parameters:
caseFileURL - the input file containing the fabula
Returns:
the generated rules

getSuggestions

java.util.Set<Suggestion> getSuggestions()
Retrieves a set containing suggestions given the current state of the fabula

Returns:
the set of suggestions

loadRules

void loadRules(java.lang.String filename)
Loads a rule file into memory

Parameters:
filename - the name of the rule file

operationalizeSuggestions

java.util.Set<OperationalizedSuggestion> operationalizeSuggestions(java.util.Set<Suggestion> suggestions)
Operationalizes given suggestions, meaning: make them ready for use. Creates OperationalizedSuggestions that contain: - information about which fabula elements caused the fabula element of this suggestion - information about the type of the suggested fabula element - the vs.communication object representing the operationalized suggestion

Parameters:
suggestions - the suggestions to operationalize
Returns:
the operationalized suggestions

writeRules

void writeRules(java.util.Set<InspirationRule> rules,
                java.lang.String ruleFileURL)
Generates a file containing the given rules.

Parameters:
rules - the rules to output
ruleFileURL - the output file containing the rules