Differences between revisions 2 and 5 (spanning 3 versions)
Revision 2 as of 2007-06-15 00:11:50
Size: 2638
Editor: paul
Comment:
Revision 5 as of 2007-06-15 00:55:26
Size: 3246
Editor: paul
Comment:
Deletions are marked like this. Additions are marked like this.
Line 28: Line 28:
[:CONTROL/Software/Scripts:Script Notes]

I (Paul) am using [http://www.stack.nl/~dimitri/doxygen/ doxygen] to cross reference and document the code.
So whenever you work on a module, document what you find or do.

Although the applications can support a GUI type ''feel'' this is achieved in a text terminal progressive manner, as in the fields will appear as needed rather than being predefined on the screen. You can enter a question mark in some fields to be shown a list of data choices. For optional data fields the choices will be shown alongside with the default option being capitalised.
Line 33: Line 40:
There are also seperate file trees for the various releases. There are also separate file trees for the various releases.

Thoughts/Notes on CONTROL Software Methodology

This section contains notes to help document the methodology of the CONTROL software application suite.

The code is a mix of C and C++ with the C++ being mainly used to interface to the Qt Windowing toolkit that is used to provide cross platform GUI support. The software operates on either SCO OpenServer, Fedora Core 3 and Microsoft Windows. On Unix O/S the UI can be either text or GUI based.

Database

The database is based on fixed size records that have two components that are contain either generally static data or variable data. With each data file may (optionally) exist associated index files (Log files are generally not indexed).

Data records are defined as two data structures that are saved in record buffers. The records are prefixed with either 's' or 'v' for static and variable. To maintain records sizes when changes are made, discarded data areas may be defined as the FILL data type which actually maps to char. However the application can be used with an SQL database engine and the FILL fields are discarded in transit.

Apparently the database can be either [http://www.mysql.com MySQL] or [http://www.postgresql.org PostGresql]. The databases can be used for normal operations, but generally the application will use its own database for normal operations and used the SQL database for mirroring which allows the user to use other reporting tools for the SQL data.

The argument for this modus operandi is 'SPEED'.

Code

There are a few basic data structures used to manage I/O.

s_outflddes used to control CSV output.

s_field used on data checking on imported data.

[:CONTROL/Software/Scripts:Script Notes]

I (Paul) am using [http://www.stack.nl/~dimitri/doxygen/ doxygen] to cross reference and document the code. So whenever you work on a module, document what you find or do.

Although the applications can support a GUI type feel this is achieved in a text terminal progressive manner, as in the fields will appear as needed rather than being predefined on the screen. You can enter a question mark in some fields to be shown a list of data choices. For optional data fields the choices will be shown alongside with the default option being capitalised.

Modules

There are three main releases of the system. Releases 8, 9 and 10. 10 obviously is the current release. However there are a few customers using the earlier releases and not upgrading to later releases as they don't want/need the new functionality or the hardware/OS upgrade hassles.

We use SCCS as the version control software. There are also separate file trees for the various releases. With various customers there are customer specific applications or report formats that are supported by unique included files which are used to build their systems.

The application suite are built nightly using a Korn shell script called build.ksh There is one of these scripts for each application in the suite. The suite is built for each supported platform.

The results are in binx11 (Qt based Linux), binl (Text based Linux), binscox (SCO Unix) and binw (Windows).

CONTROL/Software/Notes (last edited 2013-09-18 06:09:34 by localhost)