HolonControlUnit.java 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. package classes.holonControlUnit;
  2. import java.util.ArrayList;
  3. import java.util.HashSet;
  4. import java.util.Set;
  5. import classes.Holon;
  6. import classes.holonControlUnit.messages.Message;
  7. import classes.holonControlUnit.messages.NeighborhoodMsg;
  8. public class HolonControlUnit {
  9. private Holon holon, superHolon;
  10. private FlexibilityManager flexMan;
  11. private ForecastComputationUnit forecaster;
  12. private HierarchyControlUnit hierarchyController;
  13. private OptimizationManager optimizer;
  14. private StateEstimator stateEstimator;
  15. private TargetStateAssembler stateAssembler;
  16. private CommunicationModule communicator;
  17. public HolonControlUnit(Holon h) {
  18. this.holon = h;
  19. this.hierarchyController = new HierarchyControlUnit(this);
  20. this.flexMan = new FlexibilityManager();
  21. this.forecaster = new ForecastComputationUnit();
  22. this.optimizer = new OptimizationManager();
  23. this.stateEstimator = new StateEstimator();
  24. this.stateAssembler = new TargetStateAssembler();
  25. this.communicator = new CommunicationModule(this);
  26. }
  27. public Holon getSuperHolon() {
  28. return superHolon;
  29. }
  30. public void setSuperHolon(Holon superHolon) {
  31. this.superHolon = superHolon;
  32. }
  33. public ArrayList<Holon> getSubHolon() {
  34. return this.holon.childHolons;
  35. }
  36. public void addSubHolon(Holon subHolon) {
  37. this.hierarchyController.addSubHolon(subHolon.getUniqueID());
  38. }
  39. public void addNewVirtualNeighbor(String virtualNeighbor) {
  40. this.hierarchyController.addVirtualNeighbor(virtualNeighbor);
  41. }
  42. public void addNewVirtualNeighbors(ArrayList<String> virtualNeighbor) {
  43. this.hierarchyController.addVirtualNeighbors(virtualNeighbor);
  44. }
  45. public Holon getHolon() {
  46. return holon;
  47. }
  48. public FlexibilityManager getFlexMan() {
  49. return flexMan;
  50. }
  51. public ForecastComputationUnit getForecaster() {
  52. return forecaster;
  53. }
  54. public HierarchyControlUnit getHierarchyController() {
  55. return hierarchyController;
  56. }
  57. public OptimizationManager getOptimizer() {
  58. return optimizer;
  59. }
  60. public StateEstimator getStateEstimator() {
  61. return stateEstimator;
  62. }
  63. public TargetStateAssembler getStateAssembler() {
  64. return stateAssembler;
  65. }
  66. public CommunicationModule getCommunicator() {
  67. return communicator;
  68. }
  69. }