Class SelectiveBeliefChangeBDI


  • public class SelectiveBeliefChangeBDI
    extends java.lang.Object
    (2017/03/08) https://sourceforge.net/p/jadex/discussion/274112/thread/1e465814/ Hello, I wrote an agent that was triggering self regulating plans based on a belief (ie. @Trigger(factchanged="belief")). then I tried using this same belief in a goal condition (@GoalCreationCondition). When I ran the agent with the Goal implemented, the plans associated with triggers senstive to this belief would not execute. I created a test case Agent to observe this behaviour. I have implemented a belief called number which triggers the numberChangedPlan plan with the factchanged propertyListener in the trigger. I have also created a dummy goal GenericGoal which uses the belief number in the @GoalCreationCondition. If you run the agent with the goal present in the agent description class, then the numberChangedPlan will not be triggered. with the Goal commented out, numberChangedPlan is triggered. Is this expected behaviour? -> problem was method not being static
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected double number  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void body​(jadex.bridge.IInternalAccess agent)  
      void init​(jadex.bridge.IInternalAccess agent)  
      void numberChangedPlan​(jadex.bdiv3.runtime.ChangeEvent event)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • number

        protected double number
    • Constructor Detail

      • SelectiveBeliefChangeBDI

        public SelectiveBeliefChangeBDI()
    • Method Detail

      • init

        public void init​(jadex.bridge.IInternalAccess agent)
      • body

        public void body​(jadex.bridge.IInternalAccess agent)
      • numberChangedPlan

        public void numberChangedPlan​(jadex.bdiv3.runtime.ChangeEvent event)