Talk:Nsd.c

From Organic Design wiki
Revision as of 07:56, 5 November 2007 by Nad (talk | contribs) (Logic)

Overview

The NodeSpace Daemon needs to be outlined clearly here so that development can continue bit-by-bit along with the other work threads such as MediaWiki extensions. The basic idea is that it's an applicational environment for workflow management. It is a wiki-like system of dealing with objects making up the work, and all the objects make up a distributed object space shared across and supported by the users. There are three main abstraction layers, Logic, Interface and Network which are described below.

Logic

This is the organisational environment used by the other two layers and by all work defined in the system. It is a means of describing processes and scheduling instances of the processes based on the descriptions. These descriptions are just nodally reducible sets of connected nodes, which involves all the basic nodal relationships such as root, next, prev, this, parent, class. All such sets are instances which undergo change. The change is not only in state, but also in connectivity - not just the change of the current focus which is inherent due to nodal reduction, but also "indeterminately" due to the instances decision-making processes. This allows workflow (executional control flow) to be determined dynamically at runtime if necessary, and also allows threads to be hooked in to events to avoid wait-states.

Network

Interface

Applications these days are all based on the idea of templates designed to add layout and style to the processes and information making up the network content. The templates used in the rendering of various aspects of a system undergo collaboration and refinement in the same way as multiple languages are supported in a wiki. This same method applies to different binding functionality to different programming languages or hardware architectures and to sets of constraints or properties defined by groups or organisations.

There is a lot of work involved in building an interface from the ground up, although that is what we eventually hope to do using SDL. For now though an easier option is to use HTML templates and use the browser as the interface. This would not be a request-response based situation though, not only is it local to the daemon, but also it would use the 1x1 pixel SWF used by Livelets to integrate the browser DOM dynamically.

Generic Organisation

It was noted above that the Network and Interface layers make use of the Logic layer; in fact they're defined as workflow systems described in terms of the structure the Logic layer interprets and executes. Generic organisation is a template created by taking the largest set of functionality which is common to all the workflow systems which are required to fully model the Network and Interface layers and their components. This process yields a very definite organisational system because all the components being compared to find the commonality are already defined in terms of the Logic layer. So Generic Organisation is effectively extending the descriptive power of the Logic layer to encompass the general pattern of operation found in our range of required systems.