1 ;;Quote: complex control tasks best programmed as asynchronous communicating subtasks
|
1 ;;Quote: control programs for a six legged walking machine
|
1 ;;Quote: walking by controlling each leg with a mostly autonomous process
|
2 ;;Quote: coordination of walking by pos/neg constraints between neighboring leg processes
|
2 ;;Quote: a machine can walk with just inhibition constraints between leg processes; different gaits
|
3 ;;Quote: inhibition and excitation used to decide transition between driving and unloading the leg
|
7 ;;Quote: animal walking control has hierarchical structure and locality of control
|
7+ ;;Quote: animal walking is the consequence of simple interactions of low-level behaviors
|
7+ ;;Quote: animal walking is extremely repetitive
|
55 ;;Quote: production systems provide too much concurrency; serial behavior is difficult to do
|
56 ;;Quote: production systems do not have procedure abstractions
|
58 ;;Quote: systems for concurrent programming fail to handle complex, concurrent subtasks in a nondeterministic world
|
58+ ;;Quote: with complex, concurrent subtasks, must search for appropriate reactions to unpredictable events
|
58+ ;;Quote: a robot's environment is unpredictable and nondeterministic
|
58 ;;Quote: a concurrent while is concurrent processes terminated by an event
|
59 ;;Quote: lexical scoping of process termination avoids problems of first class values for process names, e.g., concurrent while
|
60 ;;Quote: mechanisms for 'wait until condition': interrupts, prediction, priority, busy waiting
|
60 ;;Quote: if predict a future event, then can ignore intermediate events
|
61 ;;Quote: with restricted resources, need to schedule what processes complete before what events
|
61 ;;Quote: plan-based scheduling is seldom needed; usually any reasonable strategy will work or none will work
|
62 ;;Quote: Pluribus programs is a set of code strips with bounded execution duration; unit of scheduling; loop or fork by adding names to scheduling table
|
63 ;;Quote: in OWL a code strip is uninterruptible, non-looping, and non-blocking
|
64 ;;Quote: performance guarantees required for controlling physical systems
|
65 ;;Quote: an OWL process is a sequence of processes, a concurrence of processes, a primitive statement, or a named process
|
65 ;;Quote: a sequence of processes in OWL is an infinite loop terminated by 'done'
|
66 ;;Quote: an OWL concurrence terminates when all subprocesses terminate
|
66 ;;Quote: a named process in OWL is a sequence or concurrence with parameters and a name
|
66 ;;Quote: in OWL, only one process in a concurrence can survive an alert signal
|
66 ;;Quote: alert added to OWL is prevent dangerous behavior by the walking machine
|
67 ;;Quote: an OWL process is a strip of code along with parameters and value of alert attribute
|
70 ;;Quote: 'when' statement in OWL waits until condition comes true; periodic testing of condition
|
73 ;;Quote: a concurrent while is terminated by the alert mechanism
|
76 ;;Quote: a 'varstar' variable gets new values at start of each time slice and updates at end of time slice
|
76 ;;Quote: reference parameters across processors either require expensive messages or access delays
|
80 ;;Quote: alert in OWL could guarantee that all sibling processes have been terminated
|
102 ;;Quote: could build robots with same natural motions as the task; e.g., a revolute joint naturally rotates
|
104 ;;Quote: OWL needs a partial preemption that suspends concurrent siblings instead of terminating them
|
105 ;;Quote: with OWL, programmers don't name processes; this simplifies programming
|
105 ;;Quote: preemption with alert simplifies the programming of asynchronous concurrent systems
|