Total Design Knowledge
The principle inherent in Total Design Knowledge is that absolutely ALL the information used in the design of Adapt applications (the design decisions) should be contained within the application, held in a consistent way and accessible at all times.
The Adapt design information is held in a structured form that allows it to be displayed to the designer and modified as required to adapt the application to changed requirements. This enables the possible options to be presented to the designer when making changes, and then allows the system to validate those changes.
The information may also be used to:
show an analysis of the relationship between separate data items so that the effects of changes in different circumstances can be easily presented;
explain to users (and to other applications) what the application does, the information it holds and how to operate it.
The design information is automatically used at any time to make the appropriate implementation decisions and to prepare the application for a particular target device. As adaptions are made, or the target device changes, then this process is automatically repeated in all or in part.
Adapt itself is the top application on any installation so that all its information is held in exactly the same manner as for all applications. This is extremely important as it means that there is no artificially imposed distinction between 'system' information and application information. As a result, applications are able to offer a higher quality of service to users and to behave more 'intelligently' than is the case conventionally.
The concept of Total Design Knowledge is in complete contrast to that employed by third-generation languages. The 3GL compiler extracts all details about the design from the source files and generates a binary file consisting primarily of machine code. The historic reason for this was the extreme memory constraints that existed in the early days of computing. The same process is still employed today even though huge amounts of memory are present in all devices nowadays. Even if the source code files were available to someone wishing to change an application then they are not in a form that may easily be understood or analysed. The fact that the source holds a complex mix of design and implementation decisions makes the analysis and modification extremely difficult to undertake and to control.
Adapt is based upon Total Design Knowledge which means that when a change is needed, the designer/user may simply click on the relevant part of the application, see details about it and how it is derived and which other parts of the application access it. Any logic relating to the item may also be displayed graphically and analysed etc.
Changes made will only be accepted if they are error-free and valid so that many potential opportunities for error simply do not arise. Obviously, it remains the responsibility of the designer to ensure that the logic does what is required, but as Adapt can show an analysis of the effects of any change this is very much easier than with conventional software.
Total Design Knowledge also means that details of changes will be recorded so that they may be unwound if necessary and their distribution controlled. Following a change, the designer may decide to make the change available only to a particular class of users for validation purposes and then later for all users. Some types of changes can affect the content of dAtas so it is important to ensure that compatible versions of dAtas and applications are used together. This can all be done automatically thanks to Total Design Knowledge.