Sequential text files and their applications.
William Overington
Copyright 2001 William Overington
Monday 6 August 2001
This document presents a web based simulation of using a data file in the format of a sequential text file as input to a Java program running upon the DVB-MHP platform.
The simulation uses the technique of presenting the data of the sequential text file as a series of param statements of a Java applet.
This is perhaps best explained using an example.
<param name="LINE0001" value="This is a simulated text file">
<param name="LINE0002" value="consisting of several lines">
<param name="LINE0003" value="of text, followed by">
<param name="LINE0004" value="an end of file marker.">
<param name="LINE0005" value="$$$$">
Here are links to viewing the web based simulations. A Java enabled browser is required. All three of these web based simulations use the same ast01001 program. The differences in the displays are produced by different data being in the param statements of the applet call. Other simulations using the same method of simulating a sequential text file are possible.
The web based simulation of a program to read a sequential text file.
Here is the source code of the Java applet for the ast01001 program on sequential text files.
These simulated sequential text files may be used as in conventional computing both for text and for numerical data expressed in text format. A limitation of these simulated sequential text files is that a " character may not be included within them as that would clash with the way that the text data is being entered using param statements of an applet call. This document is setting the scene for simulating further developments for Astrolabe Channel. These further developments are as follows.
Astrolabe Channel Presentation Language.
Astrolabe Channel Presentation Language is a language where a sequential text file contains
the details of a presentation.
The sequential text file has some lines that commence with a full stop character
and some lines that do not commence with a full stop character.
The lines that commence with a full stop are command lines.
The lines that do not commence with a full stop are text lines.
The text on the text lines can be displayed on the screen or not displayed on the screen
in accordance with the use by the DVB-MHP terminal of the commands on the command lines
in conjunction with the button pushes made by the end user on his or her hand held infra-red
control device or keyboard.
This is made possible by use of .wait as one of the command lines.
When a .wait command is reached, display waits until a button is pushed,
whereupon the display is cleared and subsequent lines of the sequential text file are then
processed by the Astrolabe Channel Presentation Language engine.
The Astrolabe Channel Presentation Language engine remembers which button it was
that was pushed.
If a .match command occurs on a command line then subsequent text lines are only displayed
if a command line with a matching of the button is received or a command line to accept any
button is received.
This is used particularly with coloured buttons.
The command line to accept any button is used as an "otherwise" command.
Suppose for example that a multi-choice assessment presentation asks a question and
offers four possible answers, coded to the four coloured buttons of the minimum set of
user input events.
Suppose that, for the particular question, the correct answer is given by VK_COLORED_KEY_2
(which, in many places, will be a yellow button)
and that that response from the end user gets a message saying that the correct answer
has been given and that other responses from the end user get a message giving
the correct answer.
After receiving the .match command the Astrolabe Channel Presentation Language engine works by
ignoring all text lines until a command line matching the button that has been pushed
is reached.
After that, text lines are displayed until a .complete command is reached, whereupon the
Astrolabe Channel Presentation Language engine ignores all input lines until a .confluence
command is found.
A .wait often follows a .confluence command.
Thus for this particular example, the command line matching VK_COLORED_KEY_2 is reached first,
then there is all of the text for that display, then the .complete command.
Then the .anycolour command is reached, followed by all of the text for that display,
followed by a .complete command.
Then there is a .confluence command.
Then there is a .wait command.
A .wait command automatically makes the choice of button push not a controlling factor
unless and until a further .match command is encountered.
Thus some text lines may be always displayed and some text lines may be displayed depending
upon which buttons are pushed by the end user.
Astrolabe Channel Presentation Language can be used for programmed learning and
multi-choice assessments.
The author of a programmed learning presentation or a multi-choice assessment presentation
would prepare a text file.
The text file is then presented using an Astrolabe Channel Presentation Language play back
program.
The same Astrolabe Channel Presentation Language play back program would be used for many
different presentations, each of which presentations would be written in
Astrolabe Channel Presentation Language.
The eutocode system.
The eutocode system is the use of some of the character code points of the private use
area of the unicode system to define various facilities, including a graphics capability
where commands and data to produce graphics may be built into a text file.
The codes used are in the range U+E800 through to U+EFFF.
The codes in the range U+EC00 through to U+EFFF are each used to input 10 bits of data into
the accumulator register of the eutocode engine.
The value of the data item is found by subtracting the hexadecimal value EC00 from
the code point of the eutocode code.
For example, U+ECFF is used to enter the number 255, that is hexadecimal FF, into the
accumulator register of the eutocode engine.
For example, U+ED01 is used to enter the number 257, that is hexadecimal 101, into the
accumulator register of the eutocode engine.
Some of the codes in the range U+EB00 through to U+EBFF are used to manipulate that data,
using it for defining graphics up to 1048576 pixels in each of three space dimensions
and one time dimension and for defining colours.
Some of the codes in the range U+EB00 through to U+EBFF are used to draw the graphics on
the screen.
Although the eutocode system is designed to be comprehensive in its facilities,
that availability of comprehensiveness does not place any coding size penalty on the
use of two-dimensional graphics with a size less than 1024 pixels in either dimension:
the higher order bits in those two space dimensions start at zero and remain at zero
throughout, as do both the higher and lower order bits in the third space dimension
and in the time dimension.
Astrolabe Channel Presentation Language can include eutocode codes.
Astrolabe Channel Presentation Language is intended to be able to have eutocode commands
included within text lines if the content author of any particular
Astrolabe Channel Presentation Language presentation chooses to use them.
Astrolabe Channel Presentation Language has facilities to accept unicode characters into
it using an ordinary text keyboard.
The idea is that a person could prepare a text file using just ascii codes in the range
hexadecimal 00 through to hexadecimal 7F and that a program could then be used to convert
the text file to unicode format.
The author of the content of an Astrolabe Channel Presentation Language presentation
may use a 'uhhhh sequence to enter unicode characters in four hexadecimal character format,
where each use of the h character above represents any one of the hexadecimal characters
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F, a, b, c, d, e, f.
However when using the 'uhhhh format care will be needed to ensure that there is provision
of the required fonts.
The 'uhhhh format also allows eutocode characters to be entered using ascii characters.
That facility also allows demonstrations of eutocode in action for producing graphics
to be simulated on web pages by including 'uhhhh format sequences in param statements of
applets on the web.
The eutocode system can represent 1456 object code commands.
The eutocode system also allows, as an option, the building in of a 1456 object code
program into a text file.
This is provided by including a collection of 128 codes, namely U+EA00 through to U+EA7F,
where the meaning is defined as being a 1456 object code input character equivalent
to a character in the range U+0000 and U+007F used in a file that is specifically
designated to be in 1456 object code.
In this manner, 1456 object code may be included in a eutocode sequence.
There is also the use of the equivalent of the ascii ~ character hexdecimal 7E,
namely U+EA7E, to indicate that the obeying of the 1456 object code should commence.
When using eutocode, a eutocode engine is essential: a 1456 engine is optional.
A eutocode engine is very much smaller than a 1456 engine.
Astrolabe Channel Presentation Language, the eutocode system and 1456 object code can
all work together.
It is possible to include a 1456 object code program in
an Astrolabe Channel Presentation Language file using eutocode codes;
in this case the 1456 object code program would be in a number of text lines.
However, Astrolabe Channel Presentation Language also has a command whereby a 1456
object code program may be included in an Astrolabe Channel Presentation Language file
using a command line, where the 1456 object code is a parameter of a .1456 command
and is expressed using some of the unicode characters in the range U+0020 through to
U+007F which characters correspond to the ordinary ascii characters.
The use of the .1456 command facilitates the use of 1456 object code in an
Astrolabe Channel Presentation Language file that is being prepared using an ordinary text
editor program.
Astrolabe Channel Presentation Language, the eutocode system and 1456 object code can
all work together, or separately, or in any two of the three together.
There is an Astrolabe Channel Presentation Language engine,
a eutocode engine and a 1456 engine.
Each have different functions.
Here is a table outlining some of the various possibilities.
Astrolabe
eutocode
1456
Typical use for this set of choices.
No
No
No
Considerable computational power of a Java program upon the DVB-MHP platform.
No
No
Yes
Ordinary use of 1456 object code.
No
Yes
No
Display of previously prepared graphics from text strings.
No
Yes
Yes
Production of graphics displays from a combination of static diagrams and software produced
graphics.
Yes
No
No
Presentations with just text and filled coloured
squares to indicate choices.
Yes
No
Yes
Presentations with software produced graphics.
Yes
Yes
No
Presentations with static diagrams.
Yes
Yes
Yes
Presentations with graphics displays from a combination of static diagrams
and software produced graphics.
Although produced in the hope of long term use, and knowing that generally available
computing facilities may well improve, please note that
Astrolabe Channel Presentation Language, the eutocode system and 1456 object code
are all designed to be capable of being used by a content author with fairly minimum
facilities, such as a text editor and a Java enabled browser together will a few ready
prepared Java applets to view in simulation the broadcastable content that is produced.
In addition, the eutocode system is designed to be useful for use in general Java programming,
on the DVB-MHP platform, the web and in stand alone applications.
Copyright 2001 William Overington
This file is accessible as follows.
Channel
Presentation
Language
in use?
in use?
object
code
in use?