The Front End Module is a services layer product that provides the means to design and manage full featured User Interfaces linking up the external user environment directly with the Application program . It sits between the Application and the GDI functions . The Module acts as a User Interface layout and input manager for the management of the display and the input of data . Full data editing facilities are provided . The screen layouts are specified using highly compact binary scripts . The Module provides for the complete separation of the User Interface design from the Application functionality . This allows for common and fixed Application components to be used thus maximising reusability of the Application code . The User Interface being fully changeable and upgradeable . Further because the User Interface design is scripted it is fully portable . It does not need recompiling whenever the application code is changed or when it is installed on different hardware .
What very much makes the product is that it packs in a massive amount of intelligence . It very effectively removes all the hard work from user interface design .
Check Out the Features !
The Module has an extensive set of commands providing all the facilities required for User Interface construction . These provide for full screen layout control , data input and text and data display . Further it has extensive operation management facilities thus ensuring that all operations can be handled and that the application code size is minimised . It can be easily and quickly set up and configured for almost any application .
The Module is designed on an ‘ Object Oriented ‘ principle where ' objects ' in the Application consisting of data and function element pairs are linked up to corresponding data ' objects ' on the screen . This provides for a simple and seamless connection from the user to the Application data and operation .
The Application Scripts are within the domain of the Front End Module and the Application Objects are within the domain of the Application . As such they are separated . Further the Front End Module and the Application can be fully separated and be connected by a communication link . As such the Application acts as a purely functional module and the Front End Module acts as a purely display and input management module . This allows the User Interface to be customised to specific market and customer requirements without alterations being required to the Application .
Because the Front End Module can be separated from the Application the User Interface can , for example , be located on a separate computer - eg. a lap top or a palm top ( PDA ) - from the device - eg. an embedded system - that is being monitored and controlled thus greatly reducing the size of code on the device .
Further the ability to separate the User Interface from the Application means that the Front End Module can also be placed within a separate user interface chip within a multiprocessing environment - ie. within a Single Chip Solution .
The ‘ Objects ‘ in the Application consist of data and function element pairs . If the data is specified it is updated in response to it’s corresponding element data in the User Interface being updated . If an associated function is specified the function is called . This provides a mechanism for checking data values and acting on data changes . Further if the data is not specified but the function is specified only the function will be called . This allows , for example , buttons on the User Interface screen to be linked up to functions in the Application .
All actions , such as button presses , result in script executions . Data manipulation and Application function call commands can be placed within the scripts . Thus internal User Interface operations can be set up to result in external Application function executions . Everything is fully automatic . All situations have been catered for . Interfaceing to the Module and using the Module is extremely easy .
When the Application wants to update data in the User Interface it informs the Front End Module that the data is to be transferred to the User Interface . On reception of the Object Element Event Message the Front End Module will update the data and will execute any script objects and associated scripts that use that data . As such the display will dynamically react to the new data . A full set of conditional script execution commands are provided to display scripts according to specified data conditions . As such full control can be provided to the Application as to which scripts are executed .
The Module is asynchronous in nature and is supplied with a basic Co-operative Operating System . As such there are no lock up conditions within the module . Further because User Interfaces are asynchronous in nature the design of the Module is directly suited to user interface design - as opposed to user interfaces designed using printf & getch functions which are essentially synchronous in nature . Asynchronicity also means that screens can be constructed within any architecture - tree or otherwise .
The Module is written in C++ and is designed for Embedded platforms . It can also be used on PC and PDA platforms . The Module is supplied with a MSVC++ harness for evaluation and Application User Interface prototyping purposes . A full set of support files are provided along with a basic Display Device Driver ( GDI ) , an Input Event Handler and a Communication Device Driver . A separate MSVC++ project is provided to develop the script files . The scripts can be compiled using any C or C++ compiler . Coding standards have been used .
The Module can be easily and quickly connected to your platform's GDI functions and operating system . It can operate without an operating system .
The best way to find out just what it can do is to read the manual and to try it - Evaluation .