12.3

[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]