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 ed2c9fa..3c6066d 100644
--- a/network-resilience/src/br/ufrgs/inf/bdinetr/agent/AnomalyDetectionCapability.java
+++ b/network-resilience/src/br/ufrgs/inf/bdinetr/agent/AnomalyDetectionCapability.java
@@ -64,6 +64,8 @@ public class AnomalyDetectionCapability extends RouterAgentCapability implements
belief(new OverUsageCause(outlier, link), true);
}
+ // Exists ip.(OverUsageCause(ip, link) AND not(Restricted(ip)) --> not RegularUsage(link)
+ // nExists ip.(OverUsageCause(ip, link) AND not(Restricted(ip)) --> RegularUsage(link)
boolean exists = false;
Set<Belief<?, ?>> overUsageCauseBeliefs = getBeliefBase()
.getBeliefsByType(OverUsageCause.class);
@@ -110,6 +112,7 @@ public class AnomalyDetectionCapability extends RouterAgentCapability implements
@Override
public void generateGoals(GoalUpdateSet goalUpdateSet) {
+ // Anomalous(ip) AND not Restricted(ip) --> goal(Restricted(ip)) AND goal(belief(Anomalous(ip))
Set<Belief<?, ?>> anomalousIpBeliefs = getBeliefBase()
.getBeliefsByType(Anomalous.class);
for (Belief<?, ?> belief : anomalousIpBeliefs) {
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 36575d3..501f153 100644
--- a/network-resilience/src/br/ufrgs/inf/bdinetr/agent/ClassifierCapability.java
+++ b/network-resilience/src/br/ufrgs/inf/bdinetr/agent/ClassifierCapability.java
@@ -64,6 +64,8 @@ public class ClassifierCapability extends RouterAgentCapability implements
belief(new Threat(flow), true);
}
+ // Exists flow.(threat(flow) AND ip = dst(flow)) --> not Benign(ip)
+ // nExists flow.(threat(flow) AND ip = dst(flow)) --> Benign(ip)
boolean exists = false;
Set<Belief<?, ?>> threatBeliefs = getBeliefBase().getBeliefsByType(
Threat.class);
@@ -111,6 +113,7 @@ public class ClassifierCapability extends RouterAgentCapability implements
@Override
public void generateGoals(GoalUpdateSet goalUpdateSet) {
+ // Threat(flow) --> goal(ThreatResponded(flow))
Set<Belief<?, ?>> threatBeliefs = getBeliefBase().getBeliefsByType(
Threat.class);
for (Belief<?, ?> belief : threatBeliefs) {
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 e3d336d..b69dbbc 100644
--- a/network-resilience/src/br/ufrgs/inf/bdinetr/agent/LinkMonitorCapability.java
+++ b/network-resilience/src/br/ufrgs/inf/bdinetr/agent/LinkMonitorCapability.java
@@ -70,6 +70,7 @@ public class LinkMonitorCapability extends RouterAgentCapability implements
@Override
public void generateGoals(GoalUpdateSet goalUpdateSet) {
+ // OverUsage(link) AND not AttackPrevented(link) --> goal(AttackPrevent(link)) AND goal(belief(RegularUsage(link)))
Set<Belief<?, ?>> overUsageBeliefs = getBeliefBase().getBeliefsByType(
OverUsage.class);
for (Belief<?, ?> belief : overUsageBeliefs) {
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 eb76c0b..6fa2259 100644
--- a/network-resilience/src/br/ufrgs/inf/bdinetr/agent/RateLimiterCapability.java
+++ b/network-resilience/src/br/ufrgs/inf/bdinetr/agent/RateLimiterCapability.java
@@ -75,6 +75,7 @@ public class RateLimiterCapability extends RouterAgentCapability implements
belief(new ThreatResponded(flow), true);
belief(new Threat(flow), null);
+ // nExists flow'.(Threat(flow') AND dst(flow) = dst(flow')) --> Benign(dst(flow))
boolean exists = false;
Set<Belief<?, ?>> threatBeliefs = getBeliefBase().getBeliefsByType(
Threat.class);
@@ -111,6 +112,7 @@ public class RateLimiterCapability extends RouterAgentCapability implements
belief(new RateLimited(ip), true);
belief(new Restricted(ip), true);
+ // OverUsageCause(ip, link) --> ~OverUsageCause(ip, link)
Set<Belief<?, ?>> overUsageCauseBeliefs = getBeliefBase()
.getBeliefsByType(OverUsageCause.class);
Set<OverUsageCause> causedByIp = new HashSet<>();
@@ -126,6 +128,7 @@ public class RateLimiterCapability extends RouterAgentCapability implements
}
}
+ // nExists ip'.(was OverUsageCause(ip, link) AND OverUsageCause(ip', link)) --> RegularUsage(link))
for (OverUsageCause overUsageCause : causedByIp) {
boolean exists = false;
for (Belief<?, ?> belief : overUsageCauseBeliefs) {