Copyright © 2007-
Grids
Grids are tabular structures which are shared by all ProSpecs programs. This allows concurrently executing programs to exchange information (messages are another way, described later).
Grid values set up by one program (or concurrently executing programs) are persistent after their execution ends, so subsequent program executions can make use of grid values set up by the earlier programs.
Grid values are not persistent between runs of the ProSpecs application. Facilities are provided for the ProSpecs user to save a selected grid's values and to load a previously saved grid values file.
The ProSpecs user can clear selected grid values and select the number of columns in a selected grid and the ProSpecs language provides facilities for a program to do these same things.
Messages
Messages are structured collections of data exchanged between concurrently executing programs and read from or written to files. ProSpecs provides three simple file formats (Big Endian, Little Endian and Comma Separated Variable) and some environment-
Environment specific sets are allowed, each with its own message catalogue. The field type names fused by a message set are mapped onto internal ProSpecs field types, enabling consistent format interpretation even though the same type name may be used for different purposes in different environments (e.g. integer might refer to a 16 bit value in one and to a 32 bit value in another).
New mappings of field type name to internal types and new message definitions can be added to any message set and new message sets can be added, each with its own field type name mappings and message catalogue.
Multiple files of messages can be read, one after another or merged into a single message stream in time order. In either case multiple passes through the stream of messages are allowed and new messages can be created and merged into the input stream in time order.
User programs can modify input message field values and create complete new messages for merging at the correct time into the input message stream. They can also select any message from the input message stream for output to one or more output message files.
Databases
ProSpecs implements an embedded Network Database System. It supports a flexible capability for expression and retrieval of facts in the form of n-
It doesn't demand data entry according to a rigid schema and retrieval allows queries involving variables, like “?what carries weapons” (where ?what denotes a variable) and the query successively returns Fighter and Destroyer in the variable ?what. Its retrieval facilities make it possible to locate all references to a given term anywhere in the database.
For example, using the repetitive block statement for and the built-
Taken together the built-
ProSpecs databases are case sensitive and can distinguish between numbers and strings (and strings holding numeric forms of representation.
Diagrams
ProSpecs drawing facilities permit creation, saving and reading of diagrams and stylised maps to illustrate things like specification hierarchies and data flows and display of progress during inter-
There are facilities for controlling fill, line width and format (dotted, dashed, etc.), text font and colour as defaults or on a per-
Simulation
Message handling and concurrent program execution facilities allow multiple, independently produced programs to simulate proposed new or changed systems which interact by exchanging messages. A simulation is capable of using random variations in the data it manages, while making it possible in subsequent re-
There is a single time-
Trials Support
Message handling and concurrent execution allow preparation of message streams for input to real-
Such testing programs can be produced by numerous independently funded teams – e.g. a customer support team, a quality control authority, a developer bench testing team. Any or all of the programs thus produced can be run separately or concurrently on the same trials recordings.
When a problem is found it may also be possible to write more directed analysis programs to operate on the same recordings to isolate the cause and/or to simulate possible operational changes to avoid or remove the problem occurrence.
GeneralLanguage Features |
Special Language Features |
The User Interface |