[java]
public class MySemanticAgent extends SemanticAgentBase {
class MySemanticCapabilities extends SemanticCapabilities {
protected SemanticInterpretationPrincipleTable setupSemanticInterpretationPrinciples() {
SemanticInterpretationPrincipleTable t = super.setupSemanticInterpretationPrinciples();
t.addSemanticInterpretationPrinciple(…);
…
return t;
}
protected KBase setupKbase() {
FilterKBase kb = (FilterKBase) super.setupKbase();
kb.addKBAssertFilter(…);
kb.addKBQueryFilter(…);
…
return kb;
}
protected SemanticActionTable setupSemanticActions() {
SemanticActionTable t = super. setupSemanticActions();
t.addSemanticAction(…);
…
return t;
}
…
}
public MySemanticAgent() {
this.semanticCapabilites = new MySemanticCapabilities();
}
}
======================================
class BookBuyerCapabilities extends SemanticCapabilities {
class PriceProposalSIP extends ApplicationSpecificSIPAdapter {
…
}
class SellActionDoneSIP extends ActionDoneSIPAdapter {
…
}
protected SemanticInterpretationPrincipleTable setupSemanticInterpretationPrinciples() {
SemanticInterpretationPrincipleTable t = super.setupSemanticInterpretationPrinciples();
t.addSemanticInterpretationPrinciple(new PriceProposalSIP());
t.addSemanticInterpretationPrinciple(new SellActionDoneSIP());
return t;
}
}
[/java]