bdi-network-resilience

Logics refactoring

11/15/2016 7:13:37 AM

Changes

network-resilience/src/br/ufrgs/inf/bdinetr/domain/predicate/BinaryPredicate.java 93(+0 -93)

network-resilience/src/br/ufrgs/inf/bdinetr/domain/predicate/UnaryPredicate.java 82(+0 -82)

Details

diff --git a/network-resilience/src/br/ufrgs/inf/bdinetr/agent/AnomalyDetectionCapability.java b/network-resilience/src/br/ufrgs/inf/bdinetr/agent/AnomalyDetectionCapability.java
index 8612756..c2ce25f 100644
--- a/network-resilience/src/br/ufrgs/inf/bdinetr/agent/AnomalyDetectionCapability.java
+++ b/network-resilience/src/br/ufrgs/inf/bdinetr/agent/AnomalyDetectionCapability.java
@@ -28,7 +28,7 @@ import bdi4jade.annotation.Parameter;
 import bdi4jade.annotation.Parameter.Direction;
 import bdi4jade.belief.Belief;
 import bdi4jade.belief.BeliefSet;
-import bdi4jade.belief.Predicate;
+import bdi4jade.belief.PredicateBelief;
 import bdi4jade.belief.TransientBeliefSet;
 import bdi4jade.core.GoalUpdateSet;
 import bdi4jade.event.GoalEvent;
@@ -86,7 +86,7 @@ public class AnomalyDetectionCapability extends RouterAgentCapability implements
 
 		@Parameter(direction = Direction.IN)
 		public void setBeliefName(AnomalousUsage anomalousUsage) {
-			this.link = anomalousUsage.getConcept();
+			this.link = anomalousUsage.getVariable();
 		}
 	}
 
@@ -136,7 +136,7 @@ public class AnomalyDetectionCapability extends RouterAgentCapability implements
 
 		@Parameter(direction = Direction.IN)
 		public void setBeliefName(Restricted restricted) {
-			this.ip = restricted.getConcept();
+			this.ip = restricted.getVariable();
 		}
 	}
 
@@ -174,7 +174,7 @@ public class AnomalyDetectionCapability extends RouterAgentCapability implements
 
 		@Parameter(direction = Direction.IN)
 		public void setBeliefName(Restricted restricted) {
-			this.ip = restricted.getConcept();
+			this.ip = restricted.getVariable();
 		}
 	}
 
@@ -218,10 +218,10 @@ public class AnomalyDetectionCapability extends RouterAgentCapability implements
 			@Override
 			public boolean isContextApplicable(Goal goal) {
 				BeliefGoal<Restricted> bg = (BeliefGoal<Restricted>) goal;
-				Predicate<IpRateLimited> ipRateLimited = (Predicate<IpRateLimited>) getBeliefBase()
+				PredicateBelief<IpRateLimited> ipRateLimited = (PredicateBelief<IpRateLimited>) getBeliefBase()
 						.getBelief(
 								new IpRateLimited(bg.getBeliefName()
-										.getConcept()));
+										.getVariable()));
 				return (ipRateLimited != null && ipRateLimited.getValue());
 			}
 		};
@@ -234,10 +234,10 @@ public class AnomalyDetectionCapability extends RouterAgentCapability implements
 		Set<Belief<?, ?>> anomalousIpBeliefs = getBeliefBase()
 				.getBeliefsByType(Anomalous.class);
 		for (Belief<?, ?> belief : anomalousIpBeliefs) {
-			Predicate<Anomalous> anomalous = (Predicate<Anomalous>) belief;
-			Ip ip = anomalous.getName().getConcept();
+			PredicateBelief<Anomalous> anomalous = (PredicateBelief<Anomalous>) belief;
+			Ip ip = anomalous.getName().getVariable();
 			if (anomalous.getValue()) {
-				Predicate<Benign> benign = (Predicate<Benign>) getBeliefBase()
+				PredicateBelief<Benign> benign = (PredicateBelief<Benign>) getBeliefBase()
 						.getBelief(new Benign(ip));
 				if (benign == null) {
 					// Anomalous(ip) AND ~Benign(ip) -->
@@ -245,7 +245,7 @@ public class AnomalyDetectionCapability extends RouterAgentCapability implements
 					goal(goalUpdateSet, new Benign(ip), this);
 				}
 
-				Predicate<Restricted> restricted = (Predicate<Restricted>) getBeliefBase()
+				PredicateBelief<Restricted> restricted = (PredicateBelief<Restricted>) getBeliefBase()
 						.getBelief(new Restricted(ip));
 				if ((benign == null || !benign.getValue())
 						&& (restricted == null || !restricted.getValue())) {
@@ -259,11 +259,11 @@ public class AnomalyDetectionCapability extends RouterAgentCapability implements
 		Set<Belief<?, ?>> restrictedBeliefs = getBeliefBase().getBeliefsByType(
 				Restricted.class);
 		for (Belief<?, ?> belief : restrictedBeliefs) {
-			Predicate<Restricted> restricted = (Predicate<Restricted>) belief;
+			PredicateBelief<Restricted> restricted = (PredicateBelief<Restricted>) belief;
 			if (restricted.getValue()) {
-				Predicate<Benign> benign = (Predicate<Benign>) getBeliefBase()
+				PredicateBelief<Benign> benign = (PredicateBelief<Benign>) getBeliefBase()
 						.getBelief(
-								new Benign(restricted.getName().getConcept()));
+								new Benign(restricted.getName().getVariable()));
 				if (benign != null && benign.getValue()) {
 					// Restricted(l) AND Benign(l) --> not
 					// Restricted(l)
@@ -301,10 +301,10 @@ public class AnomalyDetectionCapability extends RouterAgentCapability implements
 			if (overUsageCause.getValue().isEmpty()) {
 				removeBelief(overUsageCause);
 			}
-			Predicate<AnomalousUsage> anomalousUsage = (Predicate<AnomalousUsage>) getBeliefBase()
+			PredicateBelief<AnomalousUsage> anomalousUsage = (PredicateBelief<AnomalousUsage>) getBeliefBase()
 					.getBelief(
 							new AnomalousUsage(overUsageCause.getName()
-									.getConcept()));
+									.getVariable()));
 			if (anomalousUsage != null
 					&& (anomalousUsage.getValue() == null || !anomalousUsage
 							.getValue())) {
diff --git a/network-resilience/src/br/ufrgs/inf/bdinetr/agent/belief/AnomalousUsageBelief.java b/network-resilience/src/br/ufrgs/inf/bdinetr/agent/belief/AnomalousUsageBelief.java
index 7296744..89511be 100644
--- a/network-resilience/src/br/ufrgs/inf/bdinetr/agent/belief/AnomalousUsageBelief.java
+++ b/network-resilience/src/br/ufrgs/inf/bdinetr/agent/belief/AnomalousUsageBelief.java
@@ -38,7 +38,7 @@ public class AnomalousUsageBelief extends DerivedPredicate<AnomalousUsage> {
 	@Override
 	protected Boolean evaluate() {
 		BeliefSet<OverUsageCause, Ip> overUsageCauseBeliefs = (BeliefSet<OverUsageCause, Ip>) getMainBeliefBase()
-				.getBelief(new OverUsageCause(getName().getConcept()));
+				.getBelief(new OverUsageCause(getName().getVariable()));
 		return overUsageCauseBeliefs == null ? false : !overUsageCauseBeliefs
 				.getValue().isEmpty();
 	}
diff --git a/network-resilience/src/br/ufrgs/inf/bdinetr/agent/belief/BenignBelief.java b/network-resilience/src/br/ufrgs/inf/bdinetr/agent/belief/BenignBelief.java
index 9bce2e6..4612425 100644
--- a/network-resilience/src/br/ufrgs/inf/bdinetr/agent/belief/BenignBelief.java
+++ b/network-resilience/src/br/ufrgs/inf/bdinetr/agent/belief/BenignBelief.java
@@ -25,7 +25,7 @@ import java.util.Set;
 
 import bdi4jade.belief.Belief;
 import bdi4jade.belief.DerivedPredicate;
-import bdi4jade.belief.Predicate;
+import bdi4jade.belief.PredicateBelief;
 import br.ufrgs.inf.bdinetr.domain.predicate.Benign;
 import br.ufrgs.inf.bdinetr.domain.predicate.Threat;
 
@@ -43,10 +43,10 @@ public class BenignBelief extends DerivedPredicate<Benign> {
 		Set<Belief<?, ?>> threatBeliefs = getMainBeliefBase().getBeliefsByType(
 				Threat.class);
 		for (Belief<?, ?> belief : threatBeliefs) {
-			Predicate<Threat> threat = (Predicate<Threat>) belief;
+			PredicateBelief<Threat> threat = (PredicateBelief<Threat>) belief;
 			assert threat.getValue();
-			if (getName().getConcept().equals(
-					threat.getName().getConcept().getDstIp())) {
+			if (getName().getVariable().equals(
+					threat.getName().getVariable().getDstIp())) {
 				exists = true;
 				break;
 			}
diff --git a/network-resilience/src/br/ufrgs/inf/bdinetr/agent/ClassifierCapability.java b/network-resilience/src/br/ufrgs/inf/bdinetr/agent/ClassifierCapability.java
index 955fd13..b215b89 100644
--- a/network-resilience/src/br/ufrgs/inf/bdinetr/agent/ClassifierCapability.java
+++ b/network-resilience/src/br/ufrgs/inf/bdinetr/agent/ClassifierCapability.java
@@ -27,7 +27,7 @@ import java.util.Set;
 import bdi4jade.annotation.Parameter;
 import bdi4jade.annotation.Parameter.Direction;
 import bdi4jade.belief.Belief;
-import bdi4jade.belief.Predicate;
+import bdi4jade.belief.PredicateBelief;
 import bdi4jade.core.GoalUpdateSet;
 import bdi4jade.event.GoalEvent;
 import bdi4jade.goal.BeliefGoal;
@@ -94,7 +94,7 @@ public class ClassifierCapability extends RouterAgentCapability implements
 
 		@Parameter(direction = Direction.IN)
 		public void setBeliefName(Benign benign) {
-			this.ip = benign.getConcept();
+			this.ip = benign.getVariable();
 		}
 	}
 
@@ -131,7 +131,7 @@ public class ClassifierCapability extends RouterAgentCapability implements
 
 		@Parameter(direction = Direction.IN)
 		public void setBeliefName(Threat threat) {
-			this.flow = threat.getConcept();
+			this.flow = threat.getVariable();
 		}
 	}
 
@@ -166,7 +166,7 @@ public class ClassifierCapability extends RouterAgentCapability implements
 				LimitFlowRatePlan.class) {
 			public boolean isContextApplicable(Goal goal) {
 				BeliefNotPresentGoal<Threat> bg = (BeliefNotPresentGoal<Threat>) goal;
-				Predicate<Threat> threat = (Predicate<Threat>) getBeliefBase()
+				PredicateBelief<Threat> threat = (PredicateBelief<Threat>) getBeliefBase()
 						.getBelief(bg.getBeliefName());
 				return (threat != null && threat.getValue());
 			};
@@ -179,7 +179,7 @@ public class ClassifierCapability extends RouterAgentCapability implements
 		Set<Belief<?, ?>> threatBeliefs = getBeliefBase().getBeliefsByType(
 				Threat.class);
 		for (Belief<?, ?> belief : threatBeliefs) {
-			Predicate<Threat> threat = (Predicate<Threat>) belief;
+			PredicateBelief<Threat> threat = (PredicateBelief<Threat>) belief;
 			if (threat.getValue()) {
 				goal(goalUpdateSet, threat.getName(), (Boolean) null);
 			}
@@ -197,7 +197,7 @@ public class ClassifierCapability extends RouterAgentCapability implements
 				Benign.class);
 		Iterator<Belief<?, ?>> it = benignBeliefs.iterator();
 		while (it.hasNext()) {
-			Predicate<Benign> benignBelief = (Predicate<Benign>) it.next();
+			PredicateBelief<Benign> benignBelief = (PredicateBelief<Benign>) it.next();
 			if (benignBelief.getValue() == null || benignBelief.getValue()) {
 				removeBelief(benignBelief);
 			}
diff --git a/network-resilience/src/br/ufrgs/inf/bdinetr/agent/GoalRequestPlan.java b/network-resilience/src/br/ufrgs/inf/bdinetr/agent/GoalRequestPlan.java
index 7d37d87..db4a69e 100644
--- a/network-resilience/src/br/ufrgs/inf/bdinetr/agent/GoalRequestPlan.java
+++ b/network-resilience/src/br/ufrgs/inf/bdinetr/agent/GoalRequestPlan.java
@@ -41,7 +41,7 @@ import java.util.Set;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 
-import bdi4jade.belief.Predicate;
+import bdi4jade.belief.PredicateBelief;
 import bdi4jade.belief.TransientPredicate;
 import bdi4jade.core.BDIAgent;
 import bdi4jade.core.Capability;
@@ -83,7 +83,7 @@ public class GoalRequestPlan extends DefaultPlan {
 						GoalResponse<?> response = (GoalResponse<?>) myAgent
 								.getContentManager().extractContent(reply);
 
-						Predicate<?> predicate = new TransientPredicate(
+						PredicateBelief<?> predicate = new TransientPredicate(
 								response.getPredicate(), response.getValue());
 						((BeliefGoal) getGoal()).setOutputBelief(predicate);
 
@@ -273,11 +273,11 @@ public class GoalRequestPlan extends DefaultPlan {
 		private static final long serialVersionUID = 1328980796345824527L;
 
 		private Capability capability;
-		private Predicate<?> predicate;
+		private PredicateBelief<?> predicate;
 		private boolean done;
 
 		public ReceiveUpdatesBehavior(Agent agent, MessageTemplate mt,
-				Capability capability, Predicate<?> predicate) {
+				Capability capability, PredicateBelief<?> predicate) {
 			super(agent, mt, INFINITE, new DataStore(),
 					ReceiveUpdatesBehavior.class.getSimpleName());
 			this.capability = capability;
diff --git a/network-resilience/src/br/ufrgs/inf/bdinetr/agent/GoalResponsePlan.java b/network-resilience/src/br/ufrgs/inf/bdinetr/agent/GoalResponsePlan.java
index 66bfc81..aee3a0c 100644
--- a/network-resilience/src/br/ufrgs/inf/bdinetr/agent/GoalResponsePlan.java
+++ b/network-resilience/src/br/ufrgs/inf/bdinetr/agent/GoalResponsePlan.java
@@ -33,7 +33,7 @@ import org.apache.commons.logging.LogFactory;
 
 import bdi4jade.annotation.Parameter;
 import bdi4jade.annotation.Parameter.Direction;
-import bdi4jade.belief.Predicate;
+import bdi4jade.belief.PredicateBelief;
 import bdi4jade.core.Capability;
 import bdi4jade.event.BeliefEvent;
 import bdi4jade.event.BeliefEvent.Action;
@@ -66,7 +66,7 @@ public class GoalResponsePlan extends DefaultPlan {
 		private Boolean lastValue;
 		private MessageTemplate mt;
 		private Capability partCapability;
-		private Predicate<?> predicate;
+		private PredicateBelief<?> predicate;
 		private GoalRequest<?> request;
 		private long responseTime;
 		private State state;
@@ -81,7 +81,7 @@ public class GoalResponsePlan extends DefaultPlan {
 			if (GoalStatus.ACHIEVED.equals(event.getStatus())) {
 				reply.setPerformative(ACLMessage.INFORM);
 				if (goal instanceof BeliefGoal) {
-					predicate = (Predicate<?>) partCapability.getBeliefBase()
+					predicate = (PredicateBelief<?>) partCapability.getBeliefBase()
 							.getBelief(((BeliefGoal<?>) goal).getBeliefName());
 					GoalResponse response = new GoalResponse();
 					response.setPredicate(predicate.getName());
diff --git a/network-resilience/src/br/ufrgs/inf/bdinetr/agent/LinkMonitorCapability.java b/network-resilience/src/br/ufrgs/inf/bdinetr/agent/LinkMonitorCapability.java
index 153d6ca..42b0be1 100644
--- a/network-resilience/src/br/ufrgs/inf/bdinetr/agent/LinkMonitorCapability.java
+++ b/network-resilience/src/br/ufrgs/inf/bdinetr/agent/LinkMonitorCapability.java
@@ -28,7 +28,7 @@ import java.util.Set;
 import bdi4jade.annotation.Parameter;
 import bdi4jade.annotation.Parameter.Direction;
 import bdi4jade.belief.Belief;
-import bdi4jade.belief.Predicate;
+import bdi4jade.belief.PredicateBelief;
 import bdi4jade.core.GoalUpdateSet;
 import bdi4jade.event.GoalEvent;
 import bdi4jade.event.GoalListener;
@@ -91,7 +91,7 @@ public class LinkMonitorCapability extends RouterAgentCapability implements
 
 		@Parameter(direction = Direction.IN)
 		public void setBeliefName(AttackPrevented attackPrevented) {
-			this.link = attackPrevented.getConcept();
+			this.link = attackPrevented.getVariable();
 		}
 	}
 
@@ -129,7 +129,7 @@ public class LinkMonitorCapability extends RouterAgentCapability implements
 
 		@Parameter(direction = Direction.IN)
 		public void setBeliefName(AttackPrevented attackPrevented) {
-			this.link = attackPrevented.getConcept();
+			this.link = attackPrevented.getVariable();
 		}
 	}
 
@@ -171,10 +171,10 @@ public class LinkMonitorCapability extends RouterAgentCapability implements
 			@Override
 			public boolean isContextApplicable(Goal goal) {
 				BeliefGoal<AttackPrevented> bg = (BeliefGoal<AttackPrevented>) goal;
-				Predicate<LinkRateLimited> linkRateLimited = (Predicate<LinkRateLimited>) getBeliefBase()
+				PredicateBelief<LinkRateLimited> linkRateLimited = (PredicateBelief<LinkRateLimited>) getBeliefBase()
 						.getBelief(
 								new LinkRateLimited(bg.getBeliefName()
-										.getConcept()));
+										.getVariable()));
 				return (linkRateLimited != null && linkRateLimited.getValue());
 			}
 		};
@@ -185,10 +185,10 @@ public class LinkMonitorCapability extends RouterAgentCapability implements
 		Set<Belief<?, ?>> overUsageBeliefs = getBeliefBase().getBeliefsByType(
 				OverUsage.class);
 		for (Belief<?, ?> belief : overUsageBeliefs) {
-			Predicate<OverUsage> overUsage = (Predicate<OverUsage>) belief;
-			Link link = overUsage.getName().getConcept();
+			PredicateBelief<OverUsage> overUsage = (PredicateBelief<OverUsage>) belief;
+			Link link = overUsage.getName().getVariable();
 			if (overUsage.getValue()) {
-				Predicate<AnomalousUsage> anomalousUsage = (Predicate<AnomalousUsage>) getBeliefBase()
+				PredicateBelief<AnomalousUsage> anomalousUsage = (PredicateBelief<AnomalousUsage>) getBeliefBase()
 						.getBelief(new AnomalousUsage(link));
 				if (anomalousUsage == null) {
 					// OverUsage(l) AND ~AnomalousUsage(l) -->
@@ -196,7 +196,7 @@ public class LinkMonitorCapability extends RouterAgentCapability implements
 					goal(goalUpdateSet, new AnomalousUsage(link), this);
 				}
 
-				Predicate<AttackPrevented> attackPrevented = (Predicate<AttackPrevented>) getBeliefBase()
+				PredicateBelief<AttackPrevented> attackPrevented = (PredicateBelief<AttackPrevented>) getBeliefBase()
 						.getBelief(new AttackPrevented(link));
 				if ((anomalousUsage == null || anomalousUsage.getValue())
 						&& (attackPrevented == null || !attackPrevented
@@ -211,12 +211,12 @@ public class LinkMonitorCapability extends RouterAgentCapability implements
 		Set<Belief<?, ?>> attackPreventedBeliefs = getBeliefBase()
 				.getBeliefsByType(AttackPrevented.class);
 		for (Belief<?, ?> belief : attackPreventedBeliefs) {
-			Predicate<AttackPrevented> attackPrevented = (Predicate<AttackPrevented>) belief;
+			PredicateBelief<AttackPrevented> attackPrevented = (PredicateBelief<AttackPrevented>) belief;
 			if (attackPrevented.getValue()) {
-				Predicate<AnomalousUsage> anomalousUsage = (Predicate<AnomalousUsage>) getBeliefBase()
+				PredicateBelief<AnomalousUsage> anomalousUsage = (PredicateBelief<AnomalousUsage>) getBeliefBase()
 						.getBelief(
 								new AnomalousUsage(attackPrevented.getName()
-										.getConcept()));
+										.getVariable()));
 				// AttackPrevented(l) AND not AnomalousUsage(l) --> not
 				// AttackPrevented(l)
 				if (anomalousUsage != null && !anomalousUsage.getValue()) {
@@ -249,7 +249,7 @@ public class LinkMonitorCapability extends RouterAgentCapability implements
 		for (Link link : role.getLinks()) {
 			OverUsage overUsage = new OverUsage(link);
 			if (role.isOverUsage(link)) {
-				Predicate<OverUsage> overUsageBelief = (Predicate<OverUsage>) getBeliefBase()
+				PredicateBelief<OverUsage> overUsageBelief = (PredicateBelief<OverUsage>) getBeliefBase()
 						.getBelief(overUsage);
 				if (overUsageBelief == null || !overUsageBelief.getValue()) {
 					belief(overUsage, true);
diff --git a/network-resilience/src/br/ufrgs/inf/bdinetr/agent/RateLimiterCapability.java b/network-resilience/src/br/ufrgs/inf/bdinetr/agent/RateLimiterCapability.java
index ffb1044..c0d6594 100644
--- a/network-resilience/src/br/ufrgs/inf/bdinetr/agent/RateLimiterCapability.java
+++ b/network-resilience/src/br/ufrgs/inf/bdinetr/agent/RateLimiterCapability.java
@@ -23,7 +23,7 @@ package br.ufrgs.inf.bdinetr.agent;
 
 import bdi4jade.annotation.Parameter;
 import bdi4jade.annotation.Parameter.Direction;
-import bdi4jade.belief.Predicate;
+import bdi4jade.belief.PredicateBelief;
 import bdi4jade.goal.BeliefGoal;
 import bdi4jade.goal.Goal;
 import bdi4jade.goal.GoalTemplateFactory;
@@ -57,7 +57,7 @@ public class RateLimiterCapability extends RouterAgentCapability {
 
 		@Parameter(direction = Direction.IN)
 		public void setBeliefName(FlowRateLimited flowRateLimited) {
-			this.flow = flowRateLimited.getConcept();
+			this.flow = flowRateLimited.getVariable();
 		}
 	}
 
@@ -74,7 +74,7 @@ public class RateLimiterCapability extends RouterAgentCapability {
 
 		@Parameter(direction = Direction.IN)
 		public void setBeliefName(IpRateLimited ipRateLimited) {
-			this.ip = ipRateLimited.getConcept();
+			this.ip = ipRateLimited.getVariable();
 		}
 	}
 
@@ -91,7 +91,7 @@ public class RateLimiterCapability extends RouterAgentCapability {
 
 		@Parameter(direction = Direction.IN)
 		public void setBeliefName(LinkRateLimited linkRateLimited) {
-			this.link = linkRateLimited.getConcept();
+			this.link = linkRateLimited.getVariable();
 		}
 	}
 
@@ -108,7 +108,7 @@ public class RateLimiterCapability extends RouterAgentCapability {
 
 		@Parameter(direction = Direction.IN)
 		public void setBeliefName(IpRateLimited ipRateLimited) {
-			this.ip = ipRateLimited.getConcept();
+			this.ip = ipRateLimited.getVariable();
 		}
 	}
 
@@ -125,7 +125,7 @@ public class RateLimiterCapability extends RouterAgentCapability {
 
 		@Parameter(direction = Direction.IN)
 		public void setBeliefName(LinkRateLimited linkRateLimited) {
-			this.link = linkRateLimited.getConcept();
+			this.link = linkRateLimited.getVariable();
 		}
 	}
 
@@ -160,7 +160,7 @@ public class RateLimiterCapability extends RouterAgentCapability {
 				RestoreLinkRate.class) {
 			public boolean isContextApplicable(Goal goal) {
 				BeliefGoal<LinkRateLimited> bg = (BeliefGoal<LinkRateLimited>) goal;
-				Predicate<LinkRateLimited> rateLimited = (Predicate<LinkRateLimited>) getBeliefBase()
+				PredicateBelief<LinkRateLimited> rateLimited = (PredicateBelief<LinkRateLimited>) getBeliefBase()
 						.getBelief(bg.getBeliefName());
 				return (rateLimited != null && rateLimited.getValue());
 			};
@@ -175,7 +175,7 @@ public class RateLimiterCapability extends RouterAgentCapability {
 				RestoreIPRatePlan.class) {
 			public boolean isContextApplicable(Goal goal) {
 				BeliefGoal<IpRateLimited> bg = (BeliefGoal<IpRateLimited>) goal;
-				Predicate<IpRateLimited> rateLimited = (Predicate<IpRateLimited>) getBeliefBase()
+				PredicateBelief<IpRateLimited> rateLimited = (PredicateBelief<IpRateLimited>) getBeliefBase()
 						.getBelief(bg.getBeliefName());
 				return rateLimited != null && rateLimited.getValue();
 			};
diff --git a/network-resilience/src/br/ufrgs/inf/bdinetr/agent/RouterAgentCapability.java b/network-resilience/src/br/ufrgs/inf/bdinetr/agent/RouterAgentCapability.java
index 8337217..7c341b1 100644
--- a/network-resilience/src/br/ufrgs/inf/bdinetr/agent/RouterAgentCapability.java
+++ b/network-resilience/src/br/ufrgs/inf/bdinetr/agent/RouterAgentCapability.java
@@ -28,7 +28,7 @@ import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 
 import bdi4jade.belief.Belief;
-import bdi4jade.belief.Predicate;
+import bdi4jade.belief.PredicateBelief;
 import bdi4jade.belief.TransientPredicate;
 import bdi4jade.core.Capability;
 import bdi4jade.core.GoalUpdateSet;
@@ -46,8 +46,7 @@ import br.ufrgs.inf.bdinetr.domain.Role;
 /**
  * @author Ingrid Nunes
  */
-public abstract class RouterAgentCapability extends Capability implements
-		DeliberationFunction {
+public abstract class RouterAgentCapability extends Capability implements DeliberationFunction {
 
 	public static final String ROLE_BELIEF = "role";
 	private static final long serialVersionUID = -3491170777812144486L;
@@ -63,15 +62,15 @@ public abstract class RouterAgentCapability extends Capability implements
 		log.info("belief added or updated: " + belief);
 	}
 
-	protected Predicate<?> belief(Object proposition, Boolean value) {
+	protected PredicateBelief<?> belief(Object proposition, Boolean value) {
 		if (value == null) {
 			getBeliefBase().removeBelief(proposition);
-			log.info("belief(~" + proposition + "))");
+			log.info("belief(not " + proposition + "))");
 			return null;
 		} else {
-			Predicate<?> predicate = new TransientPredicate(proposition, value);
+			PredicateBelief<?> predicate = new TransientPredicate(proposition, value);
 			getBeliefBase().addOrUpdateBelief(predicate);
-			log.info("belief(" + (value ? "" : "not ") + proposition + ")");
+			log.info("belief(" + predicate + ")");
 			return predicate;
 		}
 	}
@@ -112,13 +111,11 @@ public abstract class RouterAgentCapability extends Capability implements
 		goal(goalUpdateSet, proposition, (GoalListener) null);
 	}
 
-	protected void goal(GoalUpdateSet goalUpdateSet, Object proposition,
-			Boolean value) {
+	protected void goal(GoalUpdateSet goalUpdateSet, Object proposition, Boolean value) {
 		goal(goalUpdateSet, proposition, value, null);
 	}
 
-	protected void goal(GoalUpdateSet goalUpdateSet, Object proposition,
-			Boolean value, GoalListener listener) {
+	protected void goal(GoalUpdateSet goalUpdateSet, Object proposition, Boolean value, GoalListener listener) {
 		Goal goal;
 		if (value == null) {
 			goal = new BeliefNotPresentGoal(proposition);
@@ -135,8 +132,7 @@ public abstract class RouterAgentCapability extends Capability implements
 		}
 	}
 
-	protected void goal(GoalUpdateSet goalUpdateSet, Object proposition,
-			GoalListener listener) {
+	protected void goal(GoalUpdateSet goalUpdateSet, Object proposition, GoalListener listener) {
 		Goal goal = new BeliefPresentGoal(proposition);
 		if (!getMyAgent().hasGoal(goal)) {
 			log.info("goal(?" + proposition + "))");
@@ -148,8 +144,7 @@ public abstract class RouterAgentCapability extends Capability implements
 		if (GoalStatus.WAITING.equals(goalDesc.getStatus())) {
 			if (goalDesc.getGoal() instanceof BeliefGoal) {
 				BeliefGoal<?> bg = (BeliefGoal<?>) goalDesc.getGoal();
-				return bg.getBeliefName().getClass()
-						.equals(getLowPriorityGoal());
+				return bg.getBeliefName().getClass().equals(getLowPriorityGoal());
 			}
 		}
 		return false;
diff --git a/network-resilience/src/br/ufrgs/inf/bdinetr/domain/ontology/BDI4JADEOntology.java b/network-resilience/src/br/ufrgs/inf/bdinetr/domain/ontology/BDI4JADEOntology.java
index bf084e4..b382fc6 100644
--- a/network-resilience/src/br/ufrgs/inf/bdinetr/domain/ontology/BDI4JADEOntology.java
+++ b/network-resilience/src/br/ufrgs/inf/bdinetr/domain/ontology/BDI4JADEOntology.java
@@ -11,7 +11,7 @@ import bdi4jade.belief.AbstractBeliefSet;
 import bdi4jade.belief.Belief;
 import bdi4jade.belief.BeliefSet;
 import bdi4jade.belief.PersistentBelief;
-import bdi4jade.belief.Predicate;
+import bdi4jade.belief.PredicateBelief;
 import bdi4jade.belief.TransientBelief;
 import bdi4jade.belief.TransientBeliefSet;
 import bdi4jade.belief.TransientPredicate;
@@ -58,7 +58,7 @@ public class BDI4JADEOntology extends Ontology implements BDI4JADEVocabulary {
 			
 			add(new PredicateSchema(BELIEF), Belief.class);
 			add(new PredicateSchema(BELIEF_SET), BeliefSet.class);
-			add(new PredicateSchema(PROPOSITIONAL_BELIEF), Predicate.class);
+			add(new PredicateSchema(PROPOSITIONAL_BELIEF), PredicateBelief.class);
 
 			add(new PredicateSchema(ABSTRACT_BELIEF), AbstractBelief.class);
 			add(new PredicateSchema(ABSTRACT_BELIEF_SET), AbstractBeliefSet.class);
diff --git a/network-resilience/src/br/ufrgs/inf/bdinetr/domain/ontology/BDINetROntology.java b/network-resilience/src/br/ufrgs/inf/bdinetr/domain/ontology/BDINetROntology.java
index faefac1..f52e366 100644
--- a/network-resilience/src/br/ufrgs/inf/bdinetr/domain/ontology/BDINetROntology.java
+++ b/network-resilience/src/br/ufrgs/inf/bdinetr/domain/ontology/BDINetROntology.java
@@ -28,6 +28,8 @@ import jade.content.schema.ConceptSchema;
 import jade.content.schema.ObjectSchema;
 import jade.content.schema.PredicateSchema;
 import jade.content.schema.PrimitiveSchema;
+import bdi4jade.extension.palliative.logics.BinaryPredicate;
+import bdi4jade.extension.palliative.logics.UnaryPredicate;
 import br.ufrgs.inf.bdinetr.domain.Flow;
 import br.ufrgs.inf.bdinetr.domain.Ip;
 import br.ufrgs.inf.bdinetr.domain.Link;
@@ -38,7 +40,6 @@ import br.ufrgs.inf.bdinetr.domain.predicate.Anomalous;
 import br.ufrgs.inf.bdinetr.domain.predicate.AnomalousUsage;
 import br.ufrgs.inf.bdinetr.domain.predicate.AttackPrevented;
 import br.ufrgs.inf.bdinetr.domain.predicate.Benign;
-import br.ufrgs.inf.bdinetr.domain.predicate.BinaryPredicate;
 import br.ufrgs.inf.bdinetr.domain.predicate.FlowExport;
 import br.ufrgs.inf.bdinetr.domain.predicate.FlowRateLimited;
 import br.ufrgs.inf.bdinetr.domain.predicate.IpRateLimited;
@@ -46,7 +47,6 @@ import br.ufrgs.inf.bdinetr.domain.predicate.LinkRateLimited;
 import br.ufrgs.inf.bdinetr.domain.predicate.OverUsage;
 import br.ufrgs.inf.bdinetr.domain.predicate.Restricted;
 import br.ufrgs.inf.bdinetr.domain.predicate.Threat;
-import br.ufrgs.inf.bdinetr.domain.predicate.UnaryPredicate;
 
 /**
  * @author Ingrid Nunes
diff --git a/network-resilience/src/br/ufrgs/inf/bdinetr/domain/predicate/Anomalous.java b/network-resilience/src/br/ufrgs/inf/bdinetr/domain/predicate/Anomalous.java
index 1ce1a20..0f065f5 100644
--- a/network-resilience/src/br/ufrgs/inf/bdinetr/domain/predicate/Anomalous.java
+++ b/network-resilience/src/br/ufrgs/inf/bdinetr/domain/predicate/Anomalous.java
@@ -21,6 +21,7 @@
 //----------------------------------------------------------------------------
 package br.ufrgs.inf.bdinetr.domain.predicate;
 
+import bdi4jade.extension.palliative.logics.UnaryPredicate;
 import br.ufrgs.inf.bdinetr.domain.Ip;
 
 /**
diff --git a/network-resilience/src/br/ufrgs/inf/bdinetr/domain/predicate/AnomalousUsage.java b/network-resilience/src/br/ufrgs/inf/bdinetr/domain/predicate/AnomalousUsage.java
index ba21c81..24a0254 100644
--- a/network-resilience/src/br/ufrgs/inf/bdinetr/domain/predicate/AnomalousUsage.java
+++ b/network-resilience/src/br/ufrgs/inf/bdinetr/domain/predicate/AnomalousUsage.java
@@ -21,6 +21,7 @@
 //----------------------------------------------------------------------------
 package br.ufrgs.inf.bdinetr.domain.predicate;
 
+import bdi4jade.extension.palliative.logics.UnaryPredicate;
 import br.ufrgs.inf.bdinetr.domain.Link;
 
 /**
diff --git a/network-resilience/src/br/ufrgs/inf/bdinetr/domain/predicate/AttackPrevented.java b/network-resilience/src/br/ufrgs/inf/bdinetr/domain/predicate/AttackPrevented.java
index 82f7a61..2e3b3e2 100644
--- a/network-resilience/src/br/ufrgs/inf/bdinetr/domain/predicate/AttackPrevented.java
+++ b/network-resilience/src/br/ufrgs/inf/bdinetr/domain/predicate/AttackPrevented.java
@@ -21,6 +21,7 @@
 //----------------------------------------------------------------------------
 package br.ufrgs.inf.bdinetr.domain.predicate;
 
+import bdi4jade.extension.palliative.logics.UnaryPredicate;
 import br.ufrgs.inf.bdinetr.domain.Link;
 
 /**
diff --git a/network-resilience/src/br/ufrgs/inf/bdinetr/domain/predicate/Benign.java b/network-resilience/src/br/ufrgs/inf/bdinetr/domain/predicate/Benign.java
index 880f09f..1deae70 100644
--- a/network-resilience/src/br/ufrgs/inf/bdinetr/domain/predicate/Benign.java
+++ b/network-resilience/src/br/ufrgs/inf/bdinetr/domain/predicate/Benign.java
@@ -21,6 +21,7 @@
 //----------------------------------------------------------------------------
 package br.ufrgs.inf.bdinetr.domain.predicate;
 
+import bdi4jade.extension.palliative.logics.UnaryPredicate;
 import br.ufrgs.inf.bdinetr.domain.Ip;
 
 /**
diff --git a/network-resilience/src/br/ufrgs/inf/bdinetr/domain/predicate/FlowRateLimited.java b/network-resilience/src/br/ufrgs/inf/bdinetr/domain/predicate/FlowRateLimited.java
index cd8187e..47307e6 100644
--- a/network-resilience/src/br/ufrgs/inf/bdinetr/domain/predicate/FlowRateLimited.java
+++ b/network-resilience/src/br/ufrgs/inf/bdinetr/domain/predicate/FlowRateLimited.java
@@ -21,6 +21,7 @@
 //----------------------------------------------------------------------------
 package br.ufrgs.inf.bdinetr.domain.predicate;
 
+import bdi4jade.extension.palliative.logics.UnaryPredicate;
 import br.ufrgs.inf.bdinetr.domain.Flow;
 
 /**
diff --git a/network-resilience/src/br/ufrgs/inf/bdinetr/domain/predicate/IpRateLimited.java b/network-resilience/src/br/ufrgs/inf/bdinetr/domain/predicate/IpRateLimited.java
index 9eaf048..9928fbc 100644
--- a/network-resilience/src/br/ufrgs/inf/bdinetr/domain/predicate/IpRateLimited.java
+++ b/network-resilience/src/br/ufrgs/inf/bdinetr/domain/predicate/IpRateLimited.java
@@ -21,6 +21,7 @@
 //----------------------------------------------------------------------------
 package br.ufrgs.inf.bdinetr.domain.predicate;
 
+import bdi4jade.extension.palliative.logics.UnaryPredicate;
 import br.ufrgs.inf.bdinetr.domain.Ip;
 
 /**
diff --git a/network-resilience/src/br/ufrgs/inf/bdinetr/domain/predicate/LinkRateLimited.java b/network-resilience/src/br/ufrgs/inf/bdinetr/domain/predicate/LinkRateLimited.java
index 720260e..7fc3706 100644
--- a/network-resilience/src/br/ufrgs/inf/bdinetr/domain/predicate/LinkRateLimited.java
+++ b/network-resilience/src/br/ufrgs/inf/bdinetr/domain/predicate/LinkRateLimited.java
@@ -21,6 +21,7 @@
 //----------------------------------------------------------------------------
 package br.ufrgs.inf.bdinetr.domain.predicate;
 
+import bdi4jade.extension.palliative.logics.UnaryPredicate;
 import br.ufrgs.inf.bdinetr.domain.Link;
 
 /**
diff --git a/network-resilience/src/br/ufrgs/inf/bdinetr/domain/predicate/OverUsage.java b/network-resilience/src/br/ufrgs/inf/bdinetr/domain/predicate/OverUsage.java
index 7b93463..f8763a1 100644
--- a/network-resilience/src/br/ufrgs/inf/bdinetr/domain/predicate/OverUsage.java
+++ b/network-resilience/src/br/ufrgs/inf/bdinetr/domain/predicate/OverUsage.java
@@ -21,6 +21,7 @@
 //----------------------------------------------------------------------------
 package br.ufrgs.inf.bdinetr.domain.predicate;
 
+import bdi4jade.extension.palliative.logics.UnaryPredicate;
 import br.ufrgs.inf.bdinetr.domain.Link;
 
 /**
diff --git a/network-resilience/src/br/ufrgs/inf/bdinetr/domain/predicate/OverUsageCause.java b/network-resilience/src/br/ufrgs/inf/bdinetr/domain/predicate/OverUsageCause.java
index 0180a70..51ff5b6 100644
--- a/network-resilience/src/br/ufrgs/inf/bdinetr/domain/predicate/OverUsageCause.java
+++ b/network-resilience/src/br/ufrgs/inf/bdinetr/domain/predicate/OverUsageCause.java
@@ -21,6 +21,7 @@
 //----------------------------------------------------------------------------
 package br.ufrgs.inf.bdinetr.domain.predicate;
 
+import bdi4jade.extension.palliative.logics.UnaryPredicate;
 import br.ufrgs.inf.bdinetr.domain.Link;
 
 /**
diff --git a/network-resilience/src/br/ufrgs/inf/bdinetr/domain/predicate/Restricted.java b/network-resilience/src/br/ufrgs/inf/bdinetr/domain/predicate/Restricted.java
index 2f36fd5..b5bef9a 100644
--- a/network-resilience/src/br/ufrgs/inf/bdinetr/domain/predicate/Restricted.java
+++ b/network-resilience/src/br/ufrgs/inf/bdinetr/domain/predicate/Restricted.java
@@ -21,6 +21,7 @@
 //----------------------------------------------------------------------------
 package br.ufrgs.inf.bdinetr.domain.predicate;
 
+import bdi4jade.extension.palliative.logics.UnaryPredicate;
 import br.ufrgs.inf.bdinetr.domain.Ip;
 
 /**