Summary for SpacePort

EventHelix.com/EventStudio 2.0
Generated on 05-Jul-03 16:41

Successful Spacecraft Docking and Undocking

Legs Taken:

Pilot Interfaces

  1. Receive DockingStationAvailable from auto_dock
  2. Send DockingCommand (selected_station) to auto_dock

Auto_dock Interfaces

  1. Take action "Spaceship scans for docking station"
  2. Receive AutoDockBroadcast (freq_band) from broadcast_mgr
  3. Send DockingStationAvailable to pilot
  4. Receive DockingCommand (selected_station) from pilot
  5. Send DockingRequest (spacecraft_num) to spaceship_obj_mgr
  6. Receive DockingPermitted (spacecraft_num) from spaceship_obj
  7. Send OrbitRequest to spaceship_obj
  8. Receive OrbitAssign (orbit_location) from spaceship_obj
  9. Take action "Fire thrusters to reach orbit"
  10. Send ReadyForDocking to spaceship_obj
  11. Receive StandbyForDocking (expected_time) from docking
  12. Receive ProceedForDocking (docking_port_num) from docking
  13. Take action "Fire thrusters to reach the assigned docking port"
  14. Send DockingAlignRequest to docking
  15. Receive DockingAdjustment (position, velocity) from docking
  16. Take action "Fire thrusters to perform adjustments"
  17. Send DockingAdjustmentAck to docking
  18. Receive DockNow from docking
  19. Send DockingComplete to docking
  20. Receive AirQualityCommand (air_pressure) from docking
  21. Take action "Adjust air pressure"
  22. Send AirQualityAchieved to docking
  23. Receive EndDocking from docking
  24. Send EndDockingResponse to docking
  25. Send UndockingRequest to spaceship_obj
  26. Receive UndockingAllowed from undocking
  27. Send OrbitRequest (destination_planet) to undocking
  28. Receive OrbitAssign (orbit_location) from undocking
  29. Send ReadyForUndocking to undocking
  30. Receive ProceedForUndocking (velocity) from undocking
  31. Send UndockingNow to undocking
  32. Take action "Fire thrusters to reach orbit"
  33. Send OrbitAchieved to undocking
  34. Receive UndockingCompleted from undocking
  35. Send OrbitDeassign to spaceship_obj
  36. Receive OrbitDeassignAck from spaceship_obj

Broadcast_mgr Interfaces

  1. Send AutoDockBroadcast (freq_band) to auto_dock

Spaceship_obj_mgr Interfaces

  1. Receive DockingRequest (spacecraft_num) from auto_dock
  2. Create object spaceship_obj
  3. Send DockingRequest (spacecraft_num) to spaceship_obj
  4. Receive UndockingFinished (status = SUCCESS) from spaceship_obj
  5. Delete object spaceship_obj

Spaceship_obj Interfaces

  1. Object spaceship_obj is created by spaceship_obj_mgr
  2. Change state to "Idle"
  3. Receive DockingRequest (spacecraft_num) from spaceship_obj_mgr
  4. Change state to "Checking Resources"
  5. Send OrbitAvailabilityCheck to orbit_allocator
  6. Receive OrbitAvailabilityStatus (status = ORBIT_AVAILABLE) from orbit_allocator
  7. Send DockingPortAvailabilityCheck to docking_allocator
  8. Send DockingPermitted (spacecraft_num) to auto_dock
  9. Change state to "Awaiting Orbit Request"
  10. Receive OrbitRequest from auto_dock
  11. Change state to "Allocating Orbit"
  12. Send OrbitAllocRequest to orbit_allocator
  13. Receive OrbitAllocResponse (orbit_location) from orbit_allocator
  14. Send OrbitAssign (orbit_location) to auto_dock
  15. Change state to "Awaiting Docking"
  16. Receive ReadyForDocking from auto_dock
  17. Change state to "Docking in Progress"
  18. Start timer tawait_docking_finished
  19. Create object docking
  20. Send ReadyForDocking to docking
  21. Receive DockingFinished (status = SUCCESS) from docking
  22. Stop timer tawait_docking_finished
  23. Delete object docking
  24. Change state to "Freeing Orbit"
  25. Send OrbitDeallocRequest to orbit_allocator
  26. Receive OrbitDeallocResponse from orbit_allocator
  27. Change state to "Docked"
  28. Receive UndockingRequest from auto_dock
  29. Take action "Finish docking or undocking that is in progress"
  30. Change state to "Undocking in Progress"
  31. Start timer tawait_undocking_finished
  32. Create object undocking
  33. Send UndockingRequest to undocking
  34. Receive UndockingFinished (status = SUCCESS) from undocking
  35. Stop timer tawait_undocking_finished
  36. Delete object undocking
  37. Change state to "Freeing Docking Port"
  38. Send DockingPortDeallocRequest to docking_allocator
  39. Receive DockingPortDeallocAck from docking_allocator
  40. Receive OrbitDeassign from auto_dock
  41. Change state to "Freeing Orbit"
  42. Send OrbitDeallocRequest to orbit_allocator
  43. Receive OrbitDeallocResponse from orbit_allocator
  44. Send OrbitDeassignAck to auto_dock
  45. Send UndockingFinished (status = SUCCESS) to spaceship_obj_mgr
  46. Object spaceship_obj is deleted by spaceship_obj_mgr

Docking Interfaces

  1. Object docking is created by spaceship_obj
  2. Change state to "Idle"
  3. Receive ReadyForDocking from spaceship_obj
  4. Change state to "Allocating Docking Port"
  5. Send DockingPortAllocRequest to docking_allocator
  6. Receive DockingPortAllocAck (expected_time) from docking_allocator
  7. Send StandbyForDocking (expected_time) to auto_dock
  8. Send ProceedForDocking (docking_port_num) to auto_dock
  9. Change state to "Awaiting Docking Align Request"
  10. Receive DockingAlignRequest from auto_dock
  11. Send DockingAdjustment (position, velocity) to auto_dock
  12. Change state to "Docking Adjustments in Progress"
  13. Receive DockingAdjustmentAck from auto_dock
  14. Send DockNow to auto_dock
  15. Change state to "Awaiting Docking Complete"
  16. Receive DockingComplete from auto_dock
  17. Send AirQualityCommand (air_pressure) to auto_dock
  18. Change state to "Air Pressure Adjustments in Progress"
  19. Receive AirQualityAchieved from auto_dock
  20. Take action "Measure air quality"
  21. Take action "Open airlock"
  22. Send EndDocking to auto_dock
  23. Change state to "Awaiting End Docking Response"
  24. Receive EndDockingResponse from auto_dock
  25. Send DockingFinished (status = SUCCESS) to spaceship_obj
  26. Change state to "Docked"
  27. Object docking is deleted by spaceship_obj

Undocking Interfaces

  1. Object undocking is created by spaceship_obj
  2. Change state to "Idle"
  3. Receive UndockingRequest from spaceship_obj
  4. Send UndockingAllowed to auto_dock
  5. Change state to "Awaiting Orbit Request"
  6. Receive OrbitRequest (destination_planet) from auto_dock
  7. Change state to "Allocating Orbit"
  8. Send OrbitAllocRequest to orbit_allocator
  9. Receive OrbitAllocResponse (orbit_location) from orbit_allocator
  10. Send OrbitAssign (orbit_location) to auto_dock
  11. Take action "Seal airlock"
  12. Change state to "Awaiting Ready for Undocking"
  13. Receive ReadyForUndocking from auto_dock
  14. Send ProceedForUndocking (velocity) to auto_dock
  15. Change state to "Awaiting Undocking Now"
  16. Receive UndockingNow from auto_dock
  17. Change state to "Undocking in Progress"
  18. Receive OrbitAchieved from auto_dock
  19. Send UndockingCompleted to auto_dock
  20. Send UndockingFinished (status = SUCCESS) to spaceship_obj
  21. Change state to "Undocked"
  22. Object undocking is deleted by spaceship_obj

Orbit_allocator Interfaces

  1. Receive OrbitAvailabilityCheck from spaceship_obj
  2. Send OrbitAvailabilityStatus (status = ORBIT_AVAILABLE) to spaceship_obj
  3. Receive OrbitAllocRequest from spaceship_obj
  4. Allocate resource "Docking orbit"
  5. Send OrbitAllocResponse (orbit_location) to spaceship_obj
  6. Receive OrbitDeallocRequest from spaceship_obj
  7. Free resource "Docking orbit"
  8. Send OrbitDeallocResponse to spaceship_obj
  9. Receive OrbitAllocRequest from undocking
  10. Allocate resource "Undocking orbit"
  11. Send OrbitAllocResponse (orbit_location) to undocking
  12. Receive OrbitDeallocRequest from spaceship_obj
  13. Free resource "Undocking orbit"
  14. Send OrbitDeallocResponse to spaceship_obj

Docking_allocator Interfaces

  1. Receive DockingPortAvailabilityCheck from spaceship_obj
  2. Receive DockingPortAllocRequest from docking
  3. Take action "Calculate expected time in which docking may be permitted"
  4. Allocate resource "Docking port"
  5. Send DockingPortAllocAck (expected_time) to docking
  6. Receive DockingPortDeallocRequest from spaceship_obj
  7. Free resource "Docking port"
  8. Send DockingPortDeallocAck to spaceship_obj

Orbit Resource not Available

Leg Taken:

Pilot Interfaces

  1. Receive DockingStationAvailable from auto_dock
  2. Send DockingCommand (selected_station) to auto_dock
  3. Receive DockingRejectDisplay from auto_dock

Auto_dock Interfaces

  1. Take action "Spaceship scans for docking station"
  2. Receive AutoDockBroadcast (freq_band) from broadcast_mgr
  3. Send DockingStationAvailable to pilot
  4. Receive DockingCommand (selected_station) from pilot
  5. Send DockingRequest (spacecraft_num) to spaceship_obj_mgr
  6. Receive DockingRejected (spacecraft_num, reason = NO_ORBIT_AVAILABLE) from spaceship_obj_mgr
  7. Send DockingRejectDisplay to pilot

Broadcast_mgr Interfaces

  1. Send AutoDockBroadcast (freq_band) to auto_dock

Spaceship_obj_mgr Interfaces

  1. Receive DockingRequest (spacecraft_num) from auto_dock
  2. Create object spaceship_obj
  3. Send DockingRequest (spacecraft_num) to spaceship_obj
  4. Receive DockingRejected (spacecraft_num, reason = NO_ORBIT_AVAILABLE) from spaceship_obj
  5. Delete object spaceship_obj
  6. Send DockingRejected (spacecraft_num, reason = NO_ORBIT_AVAILABLE) to auto_dock

Spaceship_obj Interfaces

  1. Object spaceship_obj is created by spaceship_obj_mgr
  2. Change state to "Idle"
  3. Receive DockingRequest (spacecraft_num) from spaceship_obj_mgr
  4. Change state to "Checking Resources"
  5. Send OrbitAvailabilityCheck to orbit_allocator
  6. Receive OrbitAvailabilityStatus (status = NO_ORBIT_AVAILABLE) from orbit_allocator
  7. Send DockingRejected (spacecraft_num, reason = NO_ORBIT_AVAILABLE) to spaceship_obj_mgr
  8. Object spaceship_obj is deleted by spaceship_obj_mgr

Orbit_allocator Interfaces

  1. Receive OrbitAvailabilityCheck from spaceship_obj
  2. Send OrbitAvailabilityStatus (status = NO_ORBIT_AVAILABLE) to spaceship_obj

Docking Resource not Available

Legs Taken:

Pilot Interfaces

  1. Receive DockingStationAvailable from auto_dock
  2. Send DockingCommand (selected_station) to auto_dock
  3. Receive DockingRejectDisplay from auto_dock

Auto_dock Interfaces

  1. Take action "Spaceship scans for docking station"
  2. Receive AutoDockBroadcast (freq_band) from broadcast_mgr
  3. Send DockingStationAvailable to pilot
  4. Receive DockingCommand (selected_station) from pilot
  5. Send DockingRequest (spacecraft_num) to spaceship_obj_mgr
  6. Receive DockingRejected (spacecraft_num, reason = NO_PORT_AVAILABLE) from spaceship_obj_mgr
  7. Send DockingRejectDisplay to pilot

Broadcast_mgr Interfaces

  1. Send AutoDockBroadcast (freq_band) to auto_dock

Spaceship_obj_mgr Interfaces

  1. Receive DockingRequest (spacecraft_num) from auto_dock
  2. Create object spaceship_obj
  3. Send DockingRequest (spacecraft_num) to spaceship_obj
  4. Receive DockingRejected (spacecraft_num, reason = NO_PORT_AVAILABLE) from spaceship_obj
  5. Delete object spaceship_obj
  6. Send DockingRejected (spacecraft_num, reason = NO_PORT_AVAILABLE) to auto_dock

Spaceship_obj Interfaces

  1. Object spaceship_obj is created by spaceship_obj_mgr
  2. Change state to "Idle"
  3. Receive DockingRequest (spacecraft_num) from spaceship_obj_mgr
  4. Change state to "Checking Resources"
  5. Send OrbitAvailabilityCheck to orbit_allocator
  6. Receive OrbitAvailabilityStatus (status = ORBIT_AVAILABLE) from orbit_allocator
  7. Send DockingPortAvailabilityCheck to docking_allocator
  8. Receive PortAvailabilityStatus (status = NO_PORT_AVAILABLE) from docking_allocator
  9. Send DockingRejected (spacecraft_num, reason = NO_PORT_AVAILABLE) to spaceship_obj_mgr
  10. Object spaceship_obj is deleted by spaceship_obj_mgr

Orbit_allocator Interfaces

  1. Receive OrbitAvailabilityCheck from spaceship_obj
  2. Send OrbitAvailabilityStatus (status = ORBIT_AVAILABLE) to spaceship_obj

Docking_allocator Interfaces

  1. Receive DockingPortAvailabilityCheck from spaceship_obj
  2. Send PortAvailabilityStatus (status = NO_PORT_AVAILABLE) to spaceship_obj