Adapt Logic Structures(Logics)
Logics hold the definitions of all arithmetic and logical operations within Adapt.
Every logic is attached to one or more dAta items to be invoked when a specific event occurs at that item. There are a range of possible events that can affect items; e.g. creation, deletion, alteration, cursor over, click, image drawn etc. Whenever an event occurs at an item then if a logic of the relevant type is attached to the item then the logic will be invoked.
Every logic has a top-level logic path consisting of one or more operations each of which may have a number of sub-paths that correspond to different outcomes of the operation.
The designer is able to modify logics interactively and is presented with lists of possible operations and accessible dAta items to assist in making the changes; it isn't possible to define an invalid operation so that the potential errors are greatly minimised in comparison with source code based technologies. Also, the possible sub-paths for an operation are automatically generated so that they will also always be correct.
Whilst changes are being made to a logic then the designer can be presented with lists of relevant dAta items so that calculations may be added/modified by picking entries from lists and this is an inherently less error-prone process than conventional programming. Similarly, the system can identify potential errors as they are entered and ensure they are corrected.
The graphical representations of logics are designed to help the designer understand their purpose. All the details need only be shown as required by the designer and initially, the representation of a logic path can simply be a written summary of its effects and the full detail is only shown if the designer chooses to show it. Such automatically generated summaries are one of the self-documenting features of the system.
Following a change to a logic Adapt generates code portions suitable for the target processor for each altered operation (these are stored in the codes dAta).