bdi-network-resilience

Refactoring in belief Goals

8/28/2014 12:33:19 PM

Details

diff --git a/network-resilience/src/br/ufrgs/inf/bdinetr/capability/AnomalyDetectionCapability.java b/network-resilience/src/br/ufrgs/inf/bdinetr/capability/AnomalyDetectionCapability.java
index ac3d5c3..ed7a1a3 100644
--- a/network-resilience/src/br/ufrgs/inf/bdinetr/capability/AnomalyDetectionCapability.java
+++ b/network-resilience/src/br/ufrgs/inf/bdinetr/capability/AnomalyDetectionCapability.java
@@ -27,7 +27,7 @@ import bdi4jade.belief.Belief;
 import bdi4jade.belief.PropositionalBelief;
 import bdi4jade.core.Capability;
 import bdi4jade.core.GoalUpdateSet;
-import bdi4jade.goal.BeliefGoal;
+import bdi4jade.goal.BeliefPresentGoal;
 import bdi4jade.goal.PropositionalBeliefValueGoal;
 import bdi4jade.reasoning.AbstractReasoningStrategy;
 import bdi4jade.reasoning.OptionGenerationFunction;
@@ -59,7 +59,7 @@ public class AnomalyDetectionCapability extends Capability {
 							+ "))");
 					getMyAgent().addGoal(
 							AnomalyDetectionCapability.this,
-							new BeliefGoal<Benign>(new Benign(anomalous
+							new BeliefPresentGoal<Benign>(new Benign(anomalous
 									.getName().getIp())));
 					log.debug("goal(?benign(" + anomalous.getName().getIp()
 							+ "))");
diff --git a/network-resilience/src/br/ufrgs/inf/bdinetr/capability/LinkMonitorCapability.java b/network-resilience/src/br/ufrgs/inf/bdinetr/capability/LinkMonitorCapability.java
index 1f68f0d..f16b455 100644
--- a/network-resilience/src/br/ufrgs/inf/bdinetr/capability/LinkMonitorCapability.java
+++ b/network-resilience/src/br/ufrgs/inf/bdinetr/capability/LinkMonitorCapability.java
@@ -29,7 +29,7 @@ import bdi4jade.belief.TransientBelief;
 import bdi4jade.belief.TransientPropositionalBelief;
 import bdi4jade.core.Capability;
 import bdi4jade.core.GoalUpdateSet;
-import bdi4jade.goal.BeliefGoal;
+import bdi4jade.goal.BeliefPresentGoal;
 import bdi4jade.goal.PropositionalBeliefValueGoal;
 import bdi4jade.reasoning.AbstractReasoningStrategy;
 import bdi4jade.reasoning.BeliefRevisionStrategy;
@@ -38,7 +38,6 @@ import br.ufrgs.inf.bdinetr.BDINetRAgent.RootCapability;
 import br.ufrgs.inf.bdinetr.domain.Device;
 import br.ufrgs.inf.bdinetr.domain.Link;
 import br.ufrgs.inf.bdinetr.domain.LinkProposition.AttackPrevented;
-import br.ufrgs.inf.bdinetr.domain.LinkProposition.FullyOperational;
 import br.ufrgs.inf.bdinetr.domain.LinkProposition.OverUsage;
 import br.ufrgs.inf.bdinetr.domain.LinkProposition.RegularUsage;
 import br.ufrgs.inf.bdinetr.domain.LinkProposition.Usage;
@@ -73,8 +72,9 @@ public class LinkMonitorCapability extends Capability {
 								+ overUsage.getName().getLink() + "))");
 						getMyAgent().addGoal(
 								LinkMonitorCapability.this,
-								new BeliefGoal<RegularUsage>(new RegularUsage(
-										overUsage.getName().getLink())));
+								new BeliefPresentGoal<RegularUsage>(
+										new RegularUsage(overUsage.getName()
+												.getLink())));
 						log.debug("goal(?regularUsage("
 								+ overUsage.getName().getLink() + "))");
 					}
diff --git a/network-resilience/src/br/ufrgs/inf/bdinetr/capability/RateLimiterCapability.java b/network-resilience/src/br/ufrgs/inf/bdinetr/capability/RateLimiterCapability.java
index 396e218..64c49a9 100644
--- a/network-resilience/src/br/ufrgs/inf/bdinetr/capability/RateLimiterCapability.java
+++ b/network-resilience/src/br/ufrgs/inf/bdinetr/capability/RateLimiterCapability.java
@@ -30,6 +30,7 @@ import bdi4jade.belief.PropositionalBelief;
 import bdi4jade.belief.TransientPropositionalBelief;
 import bdi4jade.core.Capability;
 import bdi4jade.core.GoalUpdateSet;
+import bdi4jade.goal.BeliefValueGoal;
 import bdi4jade.goal.GoalTemplateFactory;
 import bdi4jade.goal.PropositionalBeliefValueGoal;
 import bdi4jade.plan.DefaultPlan;
@@ -111,8 +112,12 @@ public class RateLimiterCapability extends Capability {
 
 	@bdi4jade.annotation.Plan
 	private Plan limitLinkRate = new DefaultPlan(
-			GoalTemplateFactory.beliefValueGoal(AttackPrevented.class,
-					Boolean.TRUE), LimitLinkRatePlan.class);
+			GoalTemplateFactory.hasValueForBeliefOfType(AttackPrevented.class,
+					Boolean.TRUE), LimitLinkRatePlan.class) {
+		public boolean isContextApplicable(bdi4jade.goal.Goal goal) {
+			return true;
+		};
+	};
 
 	public RateLimiterCapability() {
 		ReasoningStrategy strategy = new ReasoningStrategy();