Architecture
An Adapt installation typically consists of a hierarchy of applications that are accessible across a number of instances of Adapt.
Installations may be either open or private:
Open installations support most users and are linked via the Internet;
Private installations are used where the owner requires total control over access and updates etc.
An application definition holds all of the information and logical rules required to implement a particular task or a related set of tasks. Each application generally consists of a number of dAtas and possibly a number of sub-applications. The top-level application is Adapt itself.
The Adapt Universal Storage system consists of all the dAtas and the mechanism by which these are updated efficiently and maintained securely.
An extremely important feature of Adapt is the fact that the application definition contains ALL the information used in its design; i.e. it maintains Total Design Knowledge. This information is held in such a way that it may be used to automatically adapt the application to any changes required at any time. In addition, the application definition may be used to inform users of the features of the application and its capabilities. Essentially, an Adapt application 'knows' how it was made, what it can do and what information it holds.
Each dAta is of a particular dAta type. The dAta type definition may be at the same level or may be inherited from a higher level. The top-level application Adapt holds the definitions for standard dAta types that may be used by any application. The dAta is the basic functional unit of Adapt, absolutely ALL the information within an Adapt system is held within dAtas.
Adapt logic structures (referred to as logics) are a dAta type holding all the logical and arithmetic rules that may be applied to the information in specific circumstances. The simplest logic would be just an arithmetic expression that calculates a new value for a dAta item on a certain event. A more complicated logic would have one or more logic paths consisting of a number of operations, each operation possibly having a number of sub-paths.
Logics are the main way that the designer adapts an application to meet the requirements; they only contain logic for design decisions as the implementation decisions are made automatically.
The dAta type definition specifies the type and structure of the dAta items; the dAta contents are the actual values of a particular instance of that dAta. Adapt consists of a number of standard dAta types implementing specific features of the system; for example:
Instance Applications - the definition of the hierarchy of applications on this instance of Adapt,
Activities - specifies the currently executing activities,
Data Definitions - holds the dAta type definitions for a specific application,
Dictionary - holds the item names within applications and references to the corresponding definition,
Logics - holds the logic structures which store details of the logical and arithmetic operations that are to be performed upon dAta items in specific circumstances,
Codes - holds portions of machine code for each operation in Logics for a particular target processor; as changes are made then the code portions are recreated as required,
Images - an image is a graphical representation of the contents of the corresponding dAta; the appearance of Adapt consists solely of dAta images and a user interacts with the system via elements within the images. Essentially the images form the user interface of an application.
External Interface - defines the current screen appearance of this instance of Adapt. The appearance is defined as a recursive tree of windows each one showing a particular dAta image. Each application that currently forms part of the External Interface will be represented by a sub-tree within the whole window tree.