Architecture
Building Blocks
Last update on Sun Jun 5, 2011.
Universal Text Engine
A Universal Text Engine has these layers:
- Text Layer
- Universal Text Layer
- Extension Modules
Text Layer
The Text Layer stores and retrieves text units. It is based upon the OS I/O services It just manages a bare bones text P { C :T ~R } where P, C, T and R are unit Ids, and its associated binary data. It does not support any names (Note: 
Strictly speaking, the text layer handles names from just one namespace, which embraces all units recorded on the system, and which gives each of them a unique local name in the system: the unit's numerical Id, which is the actual item's address in the current text instance.)
The text layer can define new units and query the existing ones. Queries: is_type, is_child, is_role, get_children, get_children_by_type, get_children_by_role, get_type_instances, get_role_instances, ...
Universal Text Layer
The Universal Text layer extends the text layer with the Name System and some other metadata such as creation and update time of each node, feed and evaluation time references and more. The text layer implements the units unit and binary, whereas the text-engine implements the unit utext (the Universal Text) with some added basic functionality.
This layer also implements support for UTL, the ” Universal Text Language.“ It can parse it, invoke alternate parsers, and produce it. UTL can be configured (i.e. meaning of new line and white space) to brighten the format scope. Two extremes of the supported formats are Prose UTL and Symbolic UTL.
Extension Modules
Modules can be plugged both into the text or the Universal Text layer, extending them. Modules can define text units and code to operate with them, they can provide text parsers, renderers and transformations.
Modules for the text-layer are dynamically or statically linked libraries.
Modules for the Universal Text layer can be executable libraries or Universal Text modules such as Universal Text scripts.
The Universal Text layer itself is a module on the top of the text layer.

