Difference between revisions of "Asynchronous Transfer of Control"
From Suhrid.net Wiki
Jump to navigationJump to searchLine 14: | Line 14: | ||
* Error recovery: To support coordinated error recovery between real-time threads. | * Error recovery: To support coordinated error recovery between real-time threads. | ||
** Where several threads are performing a computation, an error detected by one thread needs to be quickly and safely communicated to other threads. | ** Where several threads are performing a computation, an error detected by one thread needs to be quickly and safely communicated to other threads. | ||
− | ** | + | * Mode changes: Where changes between modes are expected but cannot be planned. |
+ | ** A fault may lead to aircraft abandoning take off and entering emergency mode. | ||
+ | ** An accident in a manufacturing plant may required mode change to shutdown the plant. | ||
+ | ** Threads must be quickly and safely informed that the mode in which they are operating has changed and they now need to perform different sets of actions. | ||
+ | * Scheduling using partial/imprecise computations: | ||
+ | * User Interrupts - Users may want to cancel current operation because they have detected an error condition and want to start again. | ||
[[Category:RealtimeJava]] | [[Category:RealtimeJava]] |
Revision as of 07:14, 2 January 2012
Intro
- An ATC is where the point of execution of one SO is changed by the action of another SO.
- Therefore an SO may be executing on 1 method and through no action of its own, find itself executing in another method.
- Controversial:
- Complicates language semantics.
- Makes it difficult to write correct code as it may be interfered with.
- Increases complexity of the RTJVM.
- Slow down code which does not use the feature.
Requirements for ATC
- Fundamental requirement is for a thread to respond quickly to a condition detected by another thread.
- Error recovery: To support coordinated error recovery between real-time threads.
- Where several threads are performing a computation, an error detected by one thread needs to be quickly and safely communicated to other threads.
- Mode changes: Where changes between modes are expected but cannot be planned.
- A fault may lead to aircraft abandoning take off and entering emergency mode.
- An accident in a manufacturing plant may required mode change to shutdown the plant.
- Threads must be quickly and safely informed that the mode in which they are operating has changed and they now need to perform different sets of actions.
- Scheduling using partial/imprecise computations:
- User Interrupts - Users may want to cancel current operation because they have detected an error condition and want to start again.