/** * Get the rulebase. */ public IRulebase getRulebase() { return rulesystem.getRulebase(); }
/** * Get the rulebase. */ public IRulebase getRulebase() { return rulesystem.getRulebase(); }
public void intermediateResultAvailable(IRulebaseEvent event) { if(event instanceof RuleAddedEvent) { rulesystem.getRulebase().addRule(((RuleAddedEvent)event).getRule()); // System.out.println("Added rule: "+event); } else if(event instanceof RuleRemovedEvent) { rulesystem.getRulebase().removeRule(((RuleRemovedEvent)event).getRuleName()); // System.out.println("Removed rule: "+event); } ((ARulebaseEvent)event).setFinished(subscription); }
/** * Remove a belief listener. * @param name The belief name. * @param listener The belief listener. */ public void removeBeliefListener(String name, IBeliefListener listener) { name = bdimodel.getCapability().getBeliefReferences().containsKey(name) ? bdimodel.getCapability().getBeliefReferences().get(name) : name; String rulename = name+"_belief_listener_"+System.identityHashCode(listener); getRuleSystem().getRulebase().removeRule(rulename); }
public void intermediateResultAvailable(IRulebaseEvent event) { if(event instanceof RuleAddedEvent) { rulesystem.getRulebase().addRule(((RuleAddedEvent)event).getRule()); // System.out.println("Added rule: "+event); } else if(event instanceof RuleRemovedEvent) { rulesystem.getRulebase().removeRule(((RuleRemovedEvent)event).getRuleName()); // System.out.println("Removed rule: "+event); } ((ARulebaseEvent)event).setFinished(subscription); }
/** * Remove a belief listener. * @param name The belief name. * @param listener The belief listener. */ public void removeBeliefListener(String name, IBeliefListener listener) { name = bdimodel.getCapability().getBeliefReferences().containsKey(name) ? bdimodel.getCapability().getBeliefReferences().get(name) : name; String rulename = name+"_belief_listener_"+System.identityHashCode(listener); getRuleSystem().getRulebase().removeRule(rulename); }
/** * Remove a belief listener. * @param name The belief name. * @param listener The belief listener. */ public void removeBeliefListener(String name, IBeliefListener listener) { BDIModel bdimodel = (BDIModel)getInterpreter().getMicroModel(); name = bdimodel.getBeliefMappings().containsKey(name) ? bdimodel.getBeliefMappings().get(name) : name; BDIAgentInterpreter ip = (BDIAgentInterpreter)getInterpreter(); String rulename = name+"_belief_listener_"+System.identityHashCode(listener); ip.getRuleSystem().getRulebase().removeRule(rulename); }
public IFuture<Void> execute(IEvent event, IRule<Void> rule, Object context, Object condresult) { // Remove rule and continue after wait bdif.getRuleSystem().getRulebase().removeRule(rule.getName()); ret.setResult(null); return IFuture.DONE; } });
public IFuture<Void> execute(IEvent event, IRule<Void> rule, Object context, Object condresult) { // Remove rule and continue after wait bdif.getRuleSystem().getRulebase().removeRule(rule.getName()); ret.setResult(null); return IFuture.DONE; } });
public void resultAvailable(final ITimer timer) { if(timer!=null) rescom.setTimer(timer); 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) { // if(rescom.equals(getResumeCommand())) { setDispatchedElement(new ChangeEvent(event)); RPlan.executePlan(RPlan.this, ia, rescom); } return IFuture.DONE; } }); rule.addEvent(et); ip.getRuleSystem().getRulebase().addRule(rule); } });
public void resultAvailable(final ITimer timer) { if(timer!=null) rescom.setTimer(timer); Rule<Void> rule = new Rule<Void>(rulename, filter==null? ICondition.TRUE_CONDITION: new ICondition() { public IFuture<Tuple2<Boolean, Object>> evaluate(IEvent event) { return new Future<Tuple2<Boolean, Object>>(filter.filter((ChangeInfo<?>)event.getContent())? ICondition.TRUE: ICondition.FALSE); } }, new IAction<Void>() { public IFuture<Void> execute(IEvent event, IRule<Void> rule, Object context, Object condresult) { // if(rescom.equals(getResumeCommand())) // { setDispatchedElement(new ChangeEvent(event)); rescom.execute(null); // RPlan.executePlan(RPlan.this, getAgent(), rescom); // } return IFuture.DONE; } }); // rule.addEvent(et); rule.setEvents(ets); getRuleSystem().getRulebase().addRule(rule); } });
public void resultAvailable(final ITimer timer) { if(timer!=null) rescom.setTimer(timer); 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) { // if(rescom.equals(getResumeCommand())) { setDispatchedElement(new ChangeEvent(event)); RPlan.executePlan(RPlan.this, ia, rescom); } return IFuture.DONE; } }); rule.addEvent(eta); rule.addEvent(etb); ip.getRuleSystem().getRulebase().addRule(rule); } });
ip.getRuleSystem().getRulebase().removeRule(rulename);
/** * 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); }
public void resultAvailable(final ITimer timer) { if(timer!=null) rescom.setTimer(timer); Rule<Void> rule = new Rule<Void>(rulename, cond!=null? cond: ICondition.TRUE_CONDITION, new IAction<Void>() { public IFuture<Void> execute(IEvent event, IRule<Void> rule, Object context, Object condresult) { // if(rescom.equals(getResumeCommand())) { setDispatchedElement(new ChangeEvent(event)); RPlan.executePlan(RPlan.this, ia, rescom); } return IFuture.DONE; } }); for(String ev: events) { rule.addEvent(new EventType(ev)); } ip.getRuleSystem().getRulebase().addRule(rule); } });
public void resultAvailable(final ITimer timer) { if(timer!=null) rescom.setTimer(timer); Rule<Void> rule = new Rule<Void>(rulename, cond!=null? cond: ICondition.TRUE_CONDITION, new IAction<Void>() { public IFuture<Void> execute(IEvent event, IRule<Void> rule, Object context, Object condresult) { // if(rescom.equals(getResumeCommand())) // { setDispatchedElement(new ChangeEvent(event)); rescom.execute(null); // RPlan.executePlan(RPlan.this, getAgent(), rescom); // } return IFuture.DONE; } }); for(String ev: events) { rule.addEvent(new EventType(ev)); } getRuleSystem().getRulebase().addRule(rule); } });
getRuleSystem().getRulebase().addRule(rule);
getRuleSystem().getRulebase().addRule(rule);
bdif.getRuleSystem().getRulebase().addRule(rule); ret.get(timeout);
bdif.getRuleSystem().getRulebase().addRule(rule); ret.get(timeout);