Helix Router Objectwise Interaction Summary

EventHelix.com/EventStudio 2.0
Generated on 05-Jul-03 11:23

Package Routed Successfully

Legs Taken:

Interrupt_handler Interfaces

  1. Receive sensor_interrupt from env_l
  2. Take action "Poll the magnetic sensor devices for the source of the interrupt"
  3. Send SENSOR_INTERRUPT (conveyor_belt_id) to conveyor_belt_manager
  4. Receive sensor_interrupt from env_r
  5. Take action "Poll the magnetic sensor devices for the source of the interrupt"
  6. Send SENSOR_INTERRUPT (conveyor_belt_id) to conveyor_belt_manager

Conveyor_belt_manager Interfaces

  1. Receive SENSOR_INTERRUPT (conveyor_belt_id) from interrupt_handler
  2. Send SENSOR_INTERRUPT (conveyor_belt_id) to input_conveyor_belt
  3. Receive SENSOR_INTERRUPT (conveyor_belt_id) from interrupt_handler
  4. Send SENSOR_INTERRUPT (conveyor_belt_id) to output_conveyor_belt

Routing_table Interfaces

  1. Receive GetRouting (package) from input_conveyor_belt
  2. Take action "Route using the Product Id"
  3. Receive GetReverseRouting (product_info) from output_conveyor_belt

Input_magnetic_sensor Interfaces

  1. Receive ReadSensor from input_conveyor_belt

Input_conveyor_belt Interfaces

  1. Change state to "Idle"
  2. Receive SENSOR_INTERRUPT (conveyor_belt_id) from conveyor_belt_manager
  3. Send ReadSensor to input_magnetic_sensor
  4. Create object package
  5. Send SetInputConveyorBeltId (conveyor_belt_id) to package
  6. Send SetProductInfo (product_info) to package
  7. Send GetRouting (package) to routing_table
  8. Send SetOutputConveyorBeltId (output_conveyor_belt_id) to package
  9. Start timer await_package_routing
  10. Change state to "Awaiting Package Routing"
  11. Receive AcknowledgePackage (input_belt) from output_conveyor_belt
  12. Stop timer await_package_routing
  13. Change state to "Idle"
  14. Delete object package

Package Interfaces

  1. Object package is created by input_conveyor_belt
  2. Receive SetInputConveyorBeltId (conveyor_belt_id) from input_conveyor_belt
  3. Receive SetProductInfo (product_info) from input_conveyor_belt
  4. Receive SetOutputConveyorBeltId (output_conveyor_belt_id) from input_conveyor_belt
  5. Object package is deleted by input_conveyor_belt

Output_conveyor_belt Interfaces

  1. Change state to "Idle"
  2. Receive SENSOR_INTERRUPT (conveyor_belt_id) from conveyor_belt_manager
  3. Send ReadSensor to output_magnetic_sensor
  4. Send GetReverseRouting (product_info) to routing_table
  5. Send AcknowledgePackage (input_belt) to input_conveyor_belt

Output_magnetic_sensor Interfaces

  1. Receive ReadSensor from output_conveyor_belt

Conveyor Belt Jammed

Legs Taken:

Interrupt_handler Interfaces

  1. Receive sensor_interrupt from env_l
  2. Take action "Poll the magnetic sensor devices for the source of the interrupt"
  3. Send SENSOR_INTERRUPT (conveyor_belt_id) to conveyor_belt_manager

Conveyor_belt_manager Interfaces

  1. Receive SENSOR_INTERRUPT (conveyor_belt_id) from interrupt_handler
  2. Send SENSOR_INTERRUPT (conveyor_belt_id) to input_conveyor_belt

Operator Interfaces

  1. Receive CONVEYOR_BELT_JAMMED_ALARM (raise, belt_id) from input_conveyor_belt
  2. Take action "Reformat the message into SNMP"
  3. Send SNMP_TRAP (jammed_alarm, belt_id, raise) to env_l

Routing_table Interfaces

  1. Receive GetRouting (package) from input_conveyor_belt
  2. Take action "Route using Customer Information"

Input_magnetic_sensor Interfaces

  1. Receive ReadSensor from input_conveyor_belt

Input_conveyor_belt Interfaces

  1. Change state to "Idle"
  2. Receive SENSOR_INTERRUPT (conveyor_belt_id) from conveyor_belt_manager
  3. Send ReadSensor to input_magnetic_sensor
  4. Create object package
  5. Send SetInputConveyorBeltId (conveyor_belt_id) to package
  6. Send SetProductInfo (product_info) to package
  7. Send GetRouting (package) to routing_table
  8. Send SetOutputConveyorBeltId (output_conveyor_belt_id) to package
  9. Start timer await_package_routing
  10. Change state to "Awaiting Package Routing"
  11. Timer await_package_routing times out
  12. Delete object package
  13. Change state to "Jammed"
  14. Send CONVEYOR_BELT_JAMMED_ALARM (raise, belt_id) to operator

Package Interfaces

  1. Object package is created by input_conveyor_belt
  2. Receive SetInputConveyorBeltId (conveyor_belt_id) from input_conveyor_belt
  3. Receive SetProductInfo (product_info) from input_conveyor_belt
  4. Receive SetOutputConveyorBeltId (output_conveyor_belt_id) from input_conveyor_belt
  5. Object package is deleted by input_conveyor_belt

Output_conveyor_belt Interfaces

  1. Change state to "Idle"

Creating and Deleting a Conveyor Belt

Operator Interfaces

  1. Receive SNMP_SET (Configure, belt_id, belt_type) from env_l
  2. Take action "Convert from SNMP_SET to Configure message"
  3. Send ConfigureBelt (belt_id, belt_type) to conveyor_belt_manager
  4. Receive SNMP_SET (RoutingUpdate, new_belt_id, new_belt_type) from env_l
  5. Take action "Convert from SNMP_SET to Routing Update message"
  6. Send RoutingUpdate (new_belt_id, new_route) to routing_table
  7. Receive SNMP_SET (UnConfigure, belt_id, belt_type) from env_l
  8. Take action "Convert from SNMP_SET to UnConfigure message"
  9. Send UnConfigureBelt (belt_id, belt_type) to conveyor_belt_manager

Routing_table Interfaces

  1. Receive RoutingUpdate (new_belt_id, new_route) from operator
  2. Take action "Make an entry for the new conveyor belt"
  3. Receive RemoveRouting (belt_id, belt_type) from conveyor_belt_manager
  4. Take action "Remove entry for the deleted conveyor belt"

Conveyor_belt_manager Interfaces

  1. Receive ConfigureBelt (belt_id, belt_type) from operator
  2. Create object conveyor_belt
  3. Send ConfigureBelt (belt_id, belt_type) to conveyor_belt
  4. Send RemoveRouting (belt_id, belt_type) to routing_table
  5. Receive UnConfigureBelt (belt_id, belt_type) from operator
  6. Send UnConfigureBelt (belt_id, belt_type) to conveyor_belt
  7. Delete object conveyor_belt

Conveyor_belt Interfaces

  1. Object conveyor_belt is created by conveyor_belt_manager
  2. Change state to "Out of Service"
  3. Receive ConfigureBelt (belt_id, belt_type) from conveyor_belt_manager
  4. Create object magnetic_sensor
  5. Send Activate to magnetic_sensor
  6. Change state to "Idle"
  7. Receive UnConfigureBelt (belt_id, belt_type) from conveyor_belt_manager
  8. Send Deactivate to magnetic_sensor
  9. Delete object magnetic_sensor
  10. Object conveyor_belt is deleted by conveyor_belt_manager

Magnetic_sensor Interfaces

  1. Object magnetic_sensor is created by conveyor_belt
  2. Receive Activate from conveyor_belt
  3. Take action "Activate the sensor hardware"
  4. Receive Deactivate from conveyor_belt
  5. Take action "Deactivate the sensor hardware"
  6. Object magnetic_sensor is deleted by conveyor_belt