/** * The plan aborted code. */ public void aborted() { if(getBeliefbase().containsBelief("endmem")) { Long endmem = (Long) getBeliefbase().getBelief("endmem").getFact(); if(endmem==null) { endmem = Long.valueOf(Runtime.getRuntime().totalMemory()-Runtime.getRuntime().freeMemory()); getBeliefbase().getBelief("endmem").setFact(endmem); } } // waitFor(300000); print("Aborted "+move, depth); // print("Aborted "+(isAbortedOnSuccess()? // "on success: ": "on failure: ")+move, depth); }
/** * Returns <tt>true</tt> if this beliefbase contains a belief set with the * specified name. * @param name the name of a belief set. * @return <code>true</code> if contained, <code>false</code> is not contained, or * the specified name refer to a belief. * @see #containsBelief(java.lang.String) */ public boolean containsBeliefSet(String name) { return beliefbase.containsBeliefSet(prefix+name); }
/** * The plan body. */ public void body() { startAtomic(); getBeliefbase().getBelief("a").setFact("test"); getBeliefbase().getBelief("b").setFact("test"); getBeliefbase().getBeliefSet("c").addFact("test"); getBeliefbase().getBeliefSet("d").addFact("test"); endAtomic(); } }
/** * Get a belief for a name. * @param name The belief name. */ public IBelief getBelief(String name) { return beliefbase.getBelief(prefix+name); }
/** * Get a belief set for a name. * @param name The belief set name. */ public IBeliefSet getBeliefSet(String name) { return beliefbase.getBeliefSet(prefix+name); }
/** * Remove a belief listener. * @param name The belief name. * @param listener The belief listener. */ public <T> void removeBeliefListener(String name, IBeliefListener<T> listener) { name = capa!=null ? capa+MElement.CAPABILITY_SEPARATOR+name: name; IBDIAgentFeature bdif = agent.getComponentFeature0(IBDIAgentFeature.class); if(bdif!=null) { bdif.removeBeliefListener(capa!=null ? capa+MElement.CAPABILITY_SEPARATOR+name : name, listener); } else { IBDIXAgentFeature bdixf = agent.getComponentFeature0(IBDIXAgentFeature.class); if(bdixf.getBeliefbase().containsBelief(name)) { bdixf.getBeliefbase().getBelief(name).removeBeliefListener(listener); } else { bdixf.getBeliefbase().getBeliefSet(name).removeBeliefSetListener(listener); } } }
if(getBeliefbase().containsBelief(belief)) getBeliefbase().getBelief(belief).setFact(value); else if(getBeliefbase().containsBeliefSet(belief)) getBeliefbase().getBeliefSet(belief).addFact(value);
/** * Returns <tt>true</tt> if this beliefbase contains a belief with the * specified name. * @param name the name of a belief. * @return <code>true</code> if contained, <code>false</code> is not contained, or * the specified name refer to a belief set. * @see #containsBeliefSet(java.lang.String) */ public boolean containsBelief(String name) { return beliefbase.containsBelief(prefix+name); }
/** * Get the model element. * @return The model element. */ public MElement getModelElement() { return beliefbase.getModelElement(); }
/** * Returns the names of all beliefs. * @return the names of all beliefs. */ public String[] getBeliefNames() { if(names==null) { List<String> lnames = new ArrayList<String>(); for(String name: beliefbase.getBeliefNames()) { if(name.startsWith(prefix)) { name = name.substring(prefix.length()); if(name.indexOf(MElement.CAPABILITY_SEPARATOR)==-1) { lnames.add(name); } } } names = lnames.toArray(new String[lnames.size()]); } return names; }
/** * Returns the names of all belief sets. * @return the names of all belief sets. */ public String[] getBeliefSetNames() { if(setnames==null) { List<String> lnames = new ArrayList<String>(); for(String name: beliefbase.getBeliefSetNames()) { if(name.startsWith(prefix)) { name = name.substring(prefix.length()); if(name.indexOf(MElement.CAPABILITY_SEPARATOR)==-1) { lnames.add(name); } } } setnames = lnames.toArray(new String[lnames.size()]); } return setnames; } }
public IFuture<Void> execute(IInternalAccess ia) { IBeliefbase bb = ia.getComponentFeature(IBDIXAgentFeature.class).getBeliefbase(); for (Iterator it = beliefs.entrySet().iterator(); it.hasNext(); ) { Map.Entry entry = (Map.Entry) it.next(); bb.getBelief((String) entry.getKey()).setFact(entry.getValue()); } return IFuture.DONE; } }
/** * The plan body. */ public void body() { Object[] facts = getBeliefbase().getBeliefSet("egwords").getFacts(); getBeliefbase().getBeliefSet("egwords").removeFact(facts[0]); getLogger().info("Success, removed: "+facts[0]); }
/** * Add a belief listener. * @param name The belief name. * @param listener The belief listener. */ public <T> void addBeliefListener(String name, final IBeliefListener<T> listener) { name = capa!=null ? capa+MElement.CAPABILITY_SEPARATOR+name: name; IBDIAgentFeature bdif = agent.getComponentFeature0(IBDIAgentFeature.class); if(bdif!=null) { bdif.addBeliefListener(name, listener); } else { IBDIXAgentFeature bdixf = agent.getComponentFeature0(IBDIXAgentFeature.class); if(bdixf.getBeliefbase().containsBelief(name)) { bdixf.getBeliefbase().getBelief(name).addBeliefListener(listener); } else { bdixf.getBeliefbase().getBeliefSet(name).addBeliefSetListener(listener); } } }
/** * Execute the plan. */ public void body() { System.out.println("Created:"+this); int cnt = ((Integer)getBeliefbase().getBelief("transcnt").getFact()).intValue(); getLogger().info("Congratulations! You have translated the "+cnt +" word today!"); } }
/** * The fail method is called on plan success. */ public void passed() { getLogger().info("Plan passed: "+this);//getName()); int num = ((Integer)getBeliefbase().getBelief("cnt").getFact()).intValue(); getBeliefbase().getBelief("cnt").setFact(Integer.valueOf(num+1)); if(num==3) { tr.setSucceeded(true); getBeliefbase().getBeliefSet("testcap.reports").addFact(tr); } else if(num<3) { tr.setReason("Plan should not call passed."); getBeliefbase().getBeliefSet("testcap.reports").addFact(tr); } // else plan gets called again (why? broken microplansteps?) }
if(getBeliefbase().containsBelief("endmem")) Long endmem = (Long) getBeliefbase().getBelief("endmem").getFact(); if(endmem!=null)
public void factRemoved(ChangeInfo<Object> info) { logger.info("fact removed: "+info); getBeliefbase().getBeliefSet("belset").removeBeliefSetListener(this); tr2b.setSucceeded(true); }
/** * Called when something went wrong (e.g. timeout). */ public void failed() { // Remove dealer fact. getBeliefbase().getBelief("dealer").setFact(null); } }
/** * The fail method is called on plan failure/abort. */ public void failed() { // getLogger().info("Plan failed: "+getName()+" reason: "+getException()); getLogger().info("Plan failed: "+this+" reason: "+getException()); int num = ((Integer)getBeliefbase().getBelief("cnt").getFact()).intValue(); getBeliefbase().getBelief("cnt").setFact(Integer.valueOf(num+1)); if(num!=3) { tr.setSucceeded(true); } else { tr.setReason("Plan should not call failed."); } getBeliefbase().getBeliefSet("testcap.reports").addFact(tr); }