N = 0. Contents 1. Node systems 2. Node processing 3. Messages 4. Open 5. Close 6. Mu 7. Nesting 8. Serialization 9. Scheduling 10. Hosts A. Example B. API C. Scripts D. State 1. Node systems A node system consists of a master node (Alpha) and a system of worker nodes. There is only one output node, called "Omega". No node depends on Omega. A node without dependencies is called an input node. There is always at least one input node. A node processor is defined by a set of disk objects in a specified "metadata" directory m/: m/ metadata directory dag.k node dependency dag host.k optional host assignment alpha.k optional extension to Alpha API node/ : .k optional script for in dag : omega.k optional script for Omega default.k optional default node script dag.k is a k script which defines the dag of the system. For example, the dag omega a c g h d g i b e h i j f i k is defined by the script: omega:`a`b / keyword: omega must be present a:`c`d`e b:`e`f c:`g`h d:`g`i e:`h`i`j f:`i`k Omega depends on a and b. a depends on c, d, e. &c. g, h, i, j, and k are input nodes. Loops are not allowed. m/alpha.k is an optional script which extends the API of the Alpha processor. m/host.k is an optional script which assigns to selected nodes a forwarding address on a remote host. For example, a:b:(`ABC;1234) d:(`DEF;4567) says that nodes a and b are started by the host server on ABC with port 1234, and that node d is started by the host server on DEF with port 4567. m/node is a subdirectory of scripts, one per node. For example: m/nodes a.k b.k e.k default.k Each node tries to load its own script. If it fails, it loads the default script. 2. Node processing A process is started by invoking the shell script with command line arguments. The first argument in the command line is the script to load. Subsequent arguments are stored in .i, where they are available within the script: k n/shell