Skip to content

Commit

Permalink
firefighters case study, fixing bugs #1
Browse files Browse the repository at this point in the history
  • Loading branch information
iliasger committed May 23, 2013
1 parent f92ed65 commit aa9b05b
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 17 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@
import java.util.Set;

import cz.cuni.mff.d3s.deeco.annotations.In;
import cz.cuni.mff.d3s.deeco.annotations.InOut;
import cz.cuni.mff.d3s.deeco.annotations.Out;
import cz.cuni.mff.d3s.deeco.annotations.PeriodicScheduling;
import cz.cuni.mff.d3s.deeco.annotations.Process;
Expand Down Expand Up @@ -81,17 +82,20 @@ public GroupLeader(String id, String team_id, boolean isSiteLeader) {
@PeriodicScheduling(5000)
public static void processSensorData(
@In("temperatures") Map<String, Float> temperatures,
@In("temperatureThreshold") Float temperatureThreshold
// @Out("GMsInDangerInTeam") Set<String> GMsInDangerInTeam
) {
@In("temperatures") Map<String, Float> positions,
@In("temperatureThreshold") Float temperatureThreshold,
@InOut("GMsInDangerInTeam") Set<String> GMsInDangerInTeam) {
System.out.println("GL: Processing sensor data...");
System.out.println("Temperatures map holds "
+ temperatures.keySet().size() + " items");
for (String id : temperatures.keySet()) {
System.out.println("[" + id + ", " + temperatures.get(id) + "]");
// if (temperatures.get(id) > temperatureThreshold) {
// GMsInDangerInTeam.add(id);
// }
if (temperatures.get(id) > temperatureThreshold) {
GMsInDangerInTeam.add(id);
}
}
for (String id : positions.keySet()) {
System.out.println("Position: " + positions.get(id));
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@
import java.util.Map;

import cz.cuni.mff.d3s.deeco.annotations.In;
import cz.cuni.mff.d3s.deeco.annotations.InOut;
import cz.cuni.mff.d3s.deeco.annotations.KnowledgeExchange;
import cz.cuni.mff.d3s.deeco.annotations.Membership;
import cz.cuni.mff.d3s.deeco.annotations.Out;
Expand All @@ -39,27 +40,25 @@ public class SensorDataEnsemble extends Ensemble {
public static boolean membership(@In("member.teamId") String mteamId,
@In("member.temperature") Float temperature,
@In("coord.temperatures") Map<String, Float> temperatures,
// @In("member.position") Position position,
// @In("coord.positions") Map<String, Position> positions,
@In("member.position") Position position,
@In("coord.positions") Map<String, Position> positions,
@In("coord.teamId") String cteamId) {
return mteamId.equals(cteamId) && temperature != null
&& temperatures != null;
&& temperatures != null && position != null
&& positions != null;
}

@KnowledgeExchange
@PeriodicScheduling(2000)
public static void map(
@In("member.id") String mId,
public static void map(@In("member.id") String mId,
@In("coord.id") String cId,
// @In("member.position") Position newPosition,
// @Out("coord.positions.[member.id]") Position position,
@In("member.position") Position newPosition,
@InOut("coord.positions") Map<String, Position> positions,
@In("member.temperature") Float newTemperature,
@Out("coord.temperatures") Map<String, Float> temperatures) {
@InOut("coord.temperatures") Map<String, Float> temperatures) {
System.out.println("Copying sensor data from " + mId + " to " + cId);
temperatures.put(mId, newTemperature);
for (String id : temperatures.keySet()) {
System.out.println("[" + id + ", " + temperatures.get(id) + "]");
}
positions.put(mId, newPosition);
}

}

0 comments on commit aa9b05b

Please sign in to comment.