/** * * @return */ protected String getRuleName() { return getId()+"_wait_#"+cnt++; }
/** * * @return */ protected String getRuleName() { return getId()+"_wait_#"+cnt++; }
public void customResultAvailable(ChangeInfo<?> result) { System.out.println("plan continues 2: "+rplan.getId()+" "+result); tr[1].setSucceeded(true); lis.resultAvailable(null); } }));
public void customResultAvailable(ChangeInfo<?> result) { System.out.println("plan continues 1: "+rplan.getId()+" "+result); tr[0].setSucceeded(true); lis.resultAvailable(null); } }));
/** * */ protected void dumpPlans() { if(plans!=null) { System.out.println("plans: "+plans.size()); System.out.println("--------"); for(RPlan plan: plans) { StringBuffer buf = new StringBuffer(); determineValid(plan, plan, buf); if(plan.aborted) System.out.println("aborted zombie plan: "+plan.getId()); System.out.println(buf.toString()); System.out.println(plan.getId()+" "+plan.getLifecycleState()+" "+plan.getProcessingState()); System.out.println("--------"); } } }
/** * */ protected void dumpPlans() { if(plans!=null) { System.out.println("plans: "+plans.size()); System.out.println("--------"); for(RPlan plan: plans) { StringBuffer buf = new StringBuffer(); determineValid(plan, plan, buf); if(plan.isFinishing()) System.out.println("aborted zombie plan: "+plan.getId()); System.out.println(buf.toString()); System.out.println(plan.getId()+" "+plan.getLifecycleState()+" "+plan.getProcessingState()); System.out.println("--------"); } } }
protected void determineValid(RPlan plan, RPlan orig, StringBuffer buf) { buf.append(plan.getId()+plan.aborted); Object reason = plan.getReason(); if(reason instanceof RGoal) { RGoal rg = (RGoal)reason; if(rg.isFinished()) System.out.println("fini goal"+" "+reason+" "+orig); RPlan pp = rg.getParentPlan(); buf.append(" reason is: "+((RProcessableElement)reason).getId()+rg.lifecyclestate); if(pp!=null) { if(pp.isFinished()) System.out.println("fini plan"+" "+pp+" "+orig); buf.append(" parent plan is: "); determineValid(pp, orig, buf); } } } }
/** * * @param plan * @param orig * @param buf */ protected void determineValid(RPlan plan, RPlan orig, StringBuffer buf) { buf.append(plan.getId()+plan.isFinishing()); Object reason = plan.getReason(); if(reason instanceof RGoal) { RGoal rg = (RGoal)reason; if(rg.isFinished()) System.out.println("fini goal"+" "+reason+" "+orig); RPlan pp = rg.getParentPlan(); buf.append(" reason is: "+((RProcessableElement)reason).getId()+rg.lifecyclestate); if(pp!=null) { if(pp.isFinished()) System.out.println("fini plan"+" "+pp+" "+orig); buf.append(" parent plan is: "); determineValid(pp, orig, buf); } } }
/** * Set up a rule for the waitqueue to signal to what kinds of events this plan * in principle reacts to. */ public void internalSetupEventsRule(List<EventType> events) { final String rulename = getId()+"_waitqueue"; Rule<Void> rule = new Rule<Void>(rulename, ICondition.TRUE_CONDITION, new IAction<Void>() { public IFuture<Void> execute(IEvent event, IRule<Void> rule, Object context, Object condresult) { // System.out.println("Added to waitqueue: "+event); addToWaitqueue(new ChangeEvent(event)); return IFuture.DONE; } }); rule.setEvents(events); getAgent().getComponentFeature(IInternalBDIAgentFeature.class).getRuleSystem().getRulebase().updateRule(rule); }
final String rulename = rplan.getId()+"_waitqueue"; Rule<Void> rule = new Rule<Void>(rulename, ICondition.TRUE_CONDITION, new IAction<Void>()
System.out.println("plan waiting: "+rplan.getId());
Rule<Void> rule = new Rule<Void>("plan_condition_"+rplan.getId()+"_"+mcond.getName(), new ICondition()
Rule<Void> rule = new Rule<Void>("plan_condition_"+rplan.getId()+"_"+expr, new ICondition()