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 c2ce25f..8612756 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.PredicateBelief;
+import bdi4jade.belief.Predicate;
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.getVariable();
+ this.link = anomalousUsage.getConcept();
}
}
@@ -136,7 +136,7 @@ public class AnomalyDetectionCapability extends RouterAgentCapability implements
@Parameter(direction = Direction.IN)
public void setBeliefName(Restricted restricted) {
- this.ip = restricted.getVariable();
+ this.ip = restricted.getConcept();
}
}
@@ -174,7 +174,7 @@ public class AnomalyDetectionCapability extends RouterAgentCapability implements
@Parameter(direction = Direction.IN)
public void setBeliefName(Restricted restricted) {
- this.ip = restricted.getVariable();
+ this.ip = restricted.getConcept();
}
}
@@ -218,10 +218,10 @@ public class AnomalyDetectionCapability extends RouterAgentCapability implements
@Override
public boolean isContextApplicable(Goal goal) {
BeliefGoal<Restricted> bg = (BeliefGoal<Restricted>) goal;
- PredicateBelief<IpRateLimited> ipRateLimited = (PredicateBelief<IpRateLimited>) getBeliefBase()
+ Predicate<IpRateLimited> ipRateLimited = (Predicate<IpRateLimited>) getBeliefBase()
.getBelief(
new IpRateLimited(bg.getBeliefName()
- .getVariable()));
+ .getConcept()));
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) {
- PredicateBelief<Anomalous> anomalous = (PredicateBelief<Anomalous>) belief;
- Ip ip = anomalous.getName().getVariable();
+ Predicate<Anomalous> anomalous = (Predicate<Anomalous>) belief;
+ Ip ip = anomalous.getName().getConcept();
if (anomalous.getValue()) {
- PredicateBelief<Benign> benign = (PredicateBelief<Benign>) getBeliefBase()
+ Predicate<Benign> benign = (Predicate<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);
}
- PredicateBelief<Restricted> restricted = (PredicateBelief<Restricted>) getBeliefBase()
+ Predicate<Restricted> restricted = (Predicate<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) {
- PredicateBelief<Restricted> restricted = (PredicateBelief<Restricted>) belief;
+ Predicate<Restricted> restricted = (Predicate<Restricted>) belief;
if (restricted.getValue()) {
- PredicateBelief<Benign> benign = (PredicateBelief<Benign>) getBeliefBase()
+ Predicate<Benign> benign = (Predicate<Benign>) getBeliefBase()
.getBelief(
- new Benign(restricted.getName().getVariable()));
+ new Benign(restricted.getName().getConcept()));
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);
}
- PredicateBelief<AnomalousUsage> anomalousUsage = (PredicateBelief<AnomalousUsage>) getBeliefBase()
+ Predicate<AnomalousUsage> anomalousUsage = (Predicate<AnomalousUsage>) getBeliefBase()
.getBelief(
new AnomalousUsage(overUsageCause.getName()
- .getVariable()));
+ .getConcept()));
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 89511be..7296744 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().getVariable()));
+ .getBelief(new OverUsageCause(getName().getConcept()));
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 4612425..9bce2e6 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.PredicateBelief;
+import bdi4jade.belief.Predicate;
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) {
- PredicateBelief<Threat> threat = (PredicateBelief<Threat>) belief;
+ Predicate<Threat> threat = (Predicate<Threat>) belief;
assert threat.getValue();
- if (getName().getVariable().equals(
- threat.getName().getVariable().getDstIp())) {
+ if (getName().getConcept().equals(
+ threat.getName().getConcept().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 b215b89..955fd13 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.PredicateBelief;
+import bdi4jade.belief.Predicate;
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.getVariable();
+ this.ip = benign.getConcept();
}
}
@@ -131,7 +131,7 @@ public class ClassifierCapability extends RouterAgentCapability implements
@Parameter(direction = Direction.IN)
public void setBeliefName(Threat threat) {
- this.flow = threat.getVariable();
+ this.flow = threat.getConcept();
}
}
@@ -166,7 +166,7 @@ public class ClassifierCapability extends RouterAgentCapability implements
LimitFlowRatePlan.class) {
public boolean isContextApplicable(Goal goal) {
BeliefNotPresentGoal<Threat> bg = (BeliefNotPresentGoal<Threat>) goal;
- PredicateBelief<Threat> threat = (PredicateBelief<Threat>) getBeliefBase()
+ Predicate<Threat> threat = (Predicate<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) {
- PredicateBelief<Threat> threat = (PredicateBelief<Threat>) belief;
+ Predicate<Threat> threat = (Predicate<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()) {
- PredicateBelief<Benign> benignBelief = (PredicateBelief<Benign>) it.next();
+ Predicate<Benign> benignBelief = (Predicate<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 db4a69e..7d37d87 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.PredicateBelief;
+import bdi4jade.belief.Predicate;
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);
- PredicateBelief<?> predicate = new TransientPredicate(
+ Predicate<?> 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 PredicateBelief<?> predicate;
+ private Predicate<?> predicate;
private boolean done;
public ReceiveUpdatesBehavior(Agent agent, MessageTemplate mt,
- Capability capability, PredicateBelief<?> predicate) {
+ Capability capability, Predicate<?> 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 aee3a0c..66bfc81 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.PredicateBelief;
+import bdi4jade.belief.Predicate;
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 PredicateBelief<?> predicate;
+ private Predicate<?> 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 = (PredicateBelief<?>) partCapability.getBeliefBase()
+ predicate = (Predicate<?>) 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 42b0be1..153d6ca 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.PredicateBelief;
+import bdi4jade.belief.Predicate;
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.getVariable();
+ this.link = attackPrevented.getConcept();
}
}
@@ -129,7 +129,7 @@ public class LinkMonitorCapability extends RouterAgentCapability implements
@Parameter(direction = Direction.IN)
public void setBeliefName(AttackPrevented attackPrevented) {
- this.link = attackPrevented.getVariable();
+ this.link = attackPrevented.getConcept();
}
}
@@ -171,10 +171,10 @@ public class LinkMonitorCapability extends RouterAgentCapability implements
@Override
public boolean isContextApplicable(Goal goal) {
BeliefGoal<AttackPrevented> bg = (BeliefGoal<AttackPrevented>) goal;
- PredicateBelief<LinkRateLimited> linkRateLimited = (PredicateBelief<LinkRateLimited>) getBeliefBase()
+ Predicate<LinkRateLimited> linkRateLimited = (Predicate<LinkRateLimited>) getBeliefBase()
.getBelief(
new LinkRateLimited(bg.getBeliefName()
- .getVariable()));
+ .getConcept()));
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) {
- PredicateBelief<OverUsage> overUsage = (PredicateBelief<OverUsage>) belief;
- Link link = overUsage.getName().getVariable();
+ Predicate<OverUsage> overUsage = (Predicate<OverUsage>) belief;
+ Link link = overUsage.getName().getConcept();
if (overUsage.getValue()) {
- PredicateBelief<AnomalousUsage> anomalousUsage = (PredicateBelief<AnomalousUsage>) getBeliefBase()
+ Predicate<AnomalousUsage> anomalousUsage = (Predicate<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);
}
- PredicateBelief<AttackPrevented> attackPrevented = (PredicateBelief<AttackPrevented>) getBeliefBase()
+ Predicate<AttackPrevented> attackPrevented = (Predicate<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) {
- PredicateBelief<AttackPrevented> attackPrevented = (PredicateBelief<AttackPrevented>) belief;
+ Predicate<AttackPrevented> attackPrevented = (Predicate<AttackPrevented>) belief;
if (attackPrevented.getValue()) {
- PredicateBelief<AnomalousUsage> anomalousUsage = (PredicateBelief<AnomalousUsage>) getBeliefBase()
+ Predicate<AnomalousUsage> anomalousUsage = (Predicate<AnomalousUsage>) getBeliefBase()
.getBelief(
new AnomalousUsage(attackPrevented.getName()
- .getVariable()));
+ .getConcept()));
// 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)) {
- PredicateBelief<OverUsage> overUsageBelief = (PredicateBelief<OverUsage>) getBeliefBase()
+ Predicate<OverUsage> overUsageBelief = (Predicate<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 c0d6594..ffb1044 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.PredicateBelief;
+import bdi4jade.belief.Predicate;
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.getVariable();
+ this.flow = flowRateLimited.getConcept();
}
}
@@ -74,7 +74,7 @@ public class RateLimiterCapability extends RouterAgentCapability {
@Parameter(direction = Direction.IN)
public void setBeliefName(IpRateLimited ipRateLimited) {
- this.ip = ipRateLimited.getVariable();
+ this.ip = ipRateLimited.getConcept();
}
}
@@ -91,7 +91,7 @@ public class RateLimiterCapability extends RouterAgentCapability {
@Parameter(direction = Direction.IN)
public void setBeliefName(LinkRateLimited linkRateLimited) {
- this.link = linkRateLimited.getVariable();
+ this.link = linkRateLimited.getConcept();
}
}
@@ -108,7 +108,7 @@ public class RateLimiterCapability extends RouterAgentCapability {
@Parameter(direction = Direction.IN)
public void setBeliefName(IpRateLimited ipRateLimited) {
- this.ip = ipRateLimited.getVariable();
+ this.ip = ipRateLimited.getConcept();
}
}
@@ -125,7 +125,7 @@ public class RateLimiterCapability extends RouterAgentCapability {
@Parameter(direction = Direction.IN)
public void setBeliefName(LinkRateLimited linkRateLimited) {
- this.link = linkRateLimited.getVariable();
+ this.link = linkRateLimited.getConcept();
}
}
@@ -160,7 +160,7 @@ public class RateLimiterCapability extends RouterAgentCapability {
RestoreLinkRate.class) {
public boolean isContextApplicable(Goal goal) {
BeliefGoal<LinkRateLimited> bg = (BeliefGoal<LinkRateLimited>) goal;
- PredicateBelief<LinkRateLimited> rateLimited = (PredicateBelief<LinkRateLimited>) getBeliefBase()
+ Predicate<LinkRateLimited> rateLimited = (Predicate<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;
- PredicateBelief<IpRateLimited> rateLimited = (PredicateBelief<IpRateLimited>) getBeliefBase()
+ Predicate<IpRateLimited> rateLimited = (Predicate<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 7c341b1..8337217 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.PredicateBelief;
+import bdi4jade.belief.Predicate;
import bdi4jade.belief.TransientPredicate;
import bdi4jade.core.Capability;
import bdi4jade.core.GoalUpdateSet;
@@ -46,7 +46,8 @@ 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;
@@ -62,15 +63,15 @@ public abstract class RouterAgentCapability extends Capability implements Delibe
log.info("belief added or updated: " + belief);
}
- protected PredicateBelief<?> belief(Object proposition, Boolean value) {
+ protected Predicate<?> belief(Object proposition, Boolean value) {
if (value == null) {
getBeliefBase().removeBelief(proposition);
- log.info("belief(not " + proposition + "))");
+ log.info("belief(~" + proposition + "))");
return null;
} else {
- PredicateBelief<?> predicate = new TransientPredicate(proposition, value);
+ Predicate<?> predicate = new TransientPredicate(proposition, value);
getBeliefBase().addOrUpdateBelief(predicate);
- log.info("belief(" + predicate + ")");
+ log.info("belief(" + (value ? "" : "not ") + proposition + ")");
return predicate;
}
}
@@ -111,11 +112,13 @@ public abstract class RouterAgentCapability extends Capability implements Delibe
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);
@@ -132,7 +135,8 @@ public abstract class RouterAgentCapability extends Capability implements Delibe
}
}
- 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 + "))");
@@ -144,7 +148,8 @@ public abstract class RouterAgentCapability extends Capability implements Delibe
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 b382fc6..bf084e4 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.PredicateBelief;
+import bdi4jade.belief.Predicate;
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), PredicateBelief.class);
+ add(new PredicateSchema(PROPOSITIONAL_BELIEF), Predicate.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 f52e366..faefac1 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,8 +28,6 @@ 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;
@@ -40,6 +38,7 @@ 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;
@@ -47,6 +46,7 @@ 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 0f065f5..1ce1a20 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,7 +21,6 @@
//----------------------------------------------------------------------------
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 24a0254..ba21c81 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,7 +21,6 @@
//----------------------------------------------------------------------------
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 2e3b3e2..82f7a61 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,7 +21,6 @@
//----------------------------------------------------------------------------
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 1deae70..880f09f 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,7 +21,6 @@
//----------------------------------------------------------------------------
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/BinaryPredicate.java b/network-resilience/src/br/ufrgs/inf/bdinetr/domain/predicate/BinaryPredicate.java
new file mode 100644
index 0000000..d88f96b
--- /dev/null
+++ b/network-resilience/src/br/ufrgs/inf/bdinetr/domain/predicate/BinaryPredicate.java
@@ -0,0 +1,93 @@
+//----------------------------------------------------------------------------
+// Copyright (C) 2011 Ingrid Nunes
+//
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// To contact the authors:
+// http://inf.ufrgs.br/prosoft/bdi4jade/
+//
+//----------------------------------------------------------------------------
+package br.ufrgs.inf.bdinetr.domain.predicate;
+
+import jade.content.Concept;
+import jade.content.ContentElement;
+
+import java.io.Serializable;
+
+/**
+ * @author Ingrid Nunes
+ */
+public abstract class BinaryPredicate<T, U> implements Serializable, Concept,
+ ContentElement {
+
+ private static final long serialVersionUID = -1506723105103606268L;
+
+ protected T first;
+ protected U second;
+
+ public BinaryPredicate() {
+
+ }
+
+ public BinaryPredicate(T first, U second) {
+ this.first = first;
+ this.second = second;
+ }
+
+ @Override
+ public boolean equals(Object obj) {
+ if (obj != null && this.getClass().equals(obj.getClass())) {
+ BinaryPredicate<?, ?> p = (BinaryPredicate<?, ?>) obj;
+ return this.first.equals(p.first) && this.second.equals(p.second);
+ }
+ return false;
+ }
+
+ public T getFirst() {
+ return first;
+ }
+
+ public U getSecond() {
+ return second;
+ }
+
+ @Override
+ public int hashCode() {
+ final int prime = 31;
+ int result = 1;
+ result = prime * result
+ + ((this.getClass() == null) ? 0 : this.getClass().hashCode());
+ result = prime * result + ((first == null) ? 0 : first.hashCode());
+ result = prime * result + ((second == null) ? 0 : second.hashCode());
+ return result;
+ }
+
+ public void setFirst(T first) {
+ this.first = first;
+ }
+
+ public void setSecond(U second) {
+ this.second = second;
+ }
+
+ @Override
+ public String toString() {
+ StringBuffer sb = new StringBuffer();
+ sb.append(this.getClass().getSimpleName());
+ sb.append("(").append(first).append(",").append(second).append(")");
+ return sb.toString();
+ }
+
+}
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 47307e6..cd8187e 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,7 +21,6 @@
//----------------------------------------------------------------------------
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 9928fbc..9eaf048 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,7 +21,6 @@
//----------------------------------------------------------------------------
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 7fc3706..720260e 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,7 +21,6 @@
//----------------------------------------------------------------------------
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 f8763a1..7b93463 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,7 +21,6 @@
//----------------------------------------------------------------------------
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 51ff5b6..0180a70 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,7 +21,6 @@
//----------------------------------------------------------------------------
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 b5bef9a..2f36fd5 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,7 +21,6 @@
//----------------------------------------------------------------------------
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/UnaryPredicate.java b/network-resilience/src/br/ufrgs/inf/bdinetr/domain/predicate/UnaryPredicate.java
new file mode 100644
index 0000000..d0bdade
--- /dev/null
+++ b/network-resilience/src/br/ufrgs/inf/bdinetr/domain/predicate/UnaryPredicate.java
@@ -0,0 +1,82 @@
+//----------------------------------------------------------------------------
+// Copyright (C) 2011 Ingrid Nunes
+//
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// To contact the authors:
+// http://inf.ufrgs.br/prosoft/bdi4jade/
+//
+//----------------------------------------------------------------------------
+package br.ufrgs.inf.bdinetr.domain.predicate;
+
+import jade.content.Concept;
+import jade.content.ContentElement;
+
+import java.io.Serializable;
+
+/**
+ * @author Ingrid Nunes
+ */
+public abstract class UnaryPredicate<T> implements Serializable, Concept,
+ ContentElement {
+
+ private static final long serialVersionUID = -1506723105103606268L;
+
+ protected T concept;
+
+ public UnaryPredicate() {
+
+ }
+
+ public UnaryPredicate(T concept) {
+ this.concept = concept;
+ }
+
+ @Override
+ public boolean equals(Object obj) {
+ if (obj != null && this.getClass().equals(obj.getClass())) {
+ UnaryPredicate<?> p = (UnaryPredicate<?>) obj;
+ return this.concept.equals(p.concept);
+ }
+ return false;
+ }
+
+ public T getConcept() {
+ return concept;
+ }
+
+ @Override
+ public int hashCode() {
+ final int prime = 31;
+ int result = 1;
+ result = prime * result
+ + ((this.getClass() == null) ? 0 : this.getClass().hashCode());
+ result = prime * result + ((concept == null) ? 0 : concept.hashCode());
+ return result;
+ }
+
+ public void setConcept(T concept) {
+ this.concept = concept;
+ }
+
+ @Override
+ public String toString() {
+ StringBuffer sb = new StringBuffer();
+ sb.append(this.getClass().getSimpleName());
+ sb.append("(").append(concept).append(")");
+ return sb.toString();
+ }
+
+}