The Catalyst Processor project
7 January 2006
I am starting to design a software structure which I call the Catalyst Processor.
The Catalyst Processor is being designed as a temporary structure using Unicode Private Use Area codes so as to gain experience and so that hopefully at some future time an application may be made for codes to be assigned within the regular Unicode and ISO/IEC 10646 system.
However, the Catalyst processor will hopefully be able to perform real applications for real purposes and will hopefully be an important stage in achieving the goal of permanent code assignments within the regular Unicode and ISO/IEC 10646 system.
The Catalyst Processor is being designed to accept as input some of the Unicode Private Use Area characters in the range U+107000 to U+107FFF as software and events and some of the Unicode Private Use Area characters in the range U+108000 to U+10BFFF as data for events such as mouse clicks and to accept other Unicode characters as data within text strings.
The Catalyst Processor is being designed to output some of the Unicode Private Use Area characters in the range U+10C000 to U+10CFFF as vector graphics commands for a Catalyst Graphics engine which is also a software structure which I am designing. The Catalyst Processor is being designed also to output some of the Unicode Private Use Area characters in the range U+10D000 to U+10DFFF as data for those vector graphics commands. The Catalyst Processor is being designed also to output Unicode characters. The idea is that those Unicode characters could be displayed on screen, intermixed with graphics if so desired.
The Catalyst Processor and the Catalyst Graphics engine hopefully will be implemented using a DVB-MHP (Digital Video Broadcasting - Multimedia Home Platform) Java program which is broadcast.
Thus software for the Catalyst processor could be broadcast in text files and each use of the Catalyst Processor would be in a sandbox provided by the Java program. This approach will hopefully make it easier for people wishing to produce various interactive television programmes to achieve results: they would customize a generic program which had already been produced by a software professional who was able to write software in Java for the DVB-MHP platform. This approach could assist, for example, authors of distance education material for free-to-the-end-user distance education who may be expert in their own fields, able to produce straightforward programs using an authoring language or a text editor yet not able to produce a free-standing DVB-MHP Java program.
I feel that an important step forward in the application of the DVB-MHP system is that there be an International Standard portable object code software system and an International Standard portable vector graphics system each directly expressable as specific Unicode characters. This would enable the ideas of the Catalyst Processor and of Catalyst Graphics to go forward on a permanent basis not linked to any individual or any commercial organization.
Thus the Catalyst Processor is intended as a temporary solution, until such time that a formal application can be made for a proven, useful, system with hopefully by that time widespread support to be encoded as part of the Unicode and ISO/IEC 10646 system.
For example, perhaps the application might request that the processor and graphics system, with a new name, different from Catalyst, be placed in Plane 12 of the character map.
At the time of any such encoding, interested people could design a system which might improve upon the design of the Catalyst Processor.
The use of character codes for commands means that software and graphics can be expressed at authoring time using a text editor together with an appropriate font. That font would not be needed at run time of the software and graphics.
At the present time, no additions are needed to the DVB-MHP specification in order for the system to work.
However, it may be that if the Catalyst Processor becomes successful then perhaps some additions to the DVB-MHP specification might be sought which could increase the range of facilities that the sandbox provides.
It is also possible that various DVB-MHP Java programs could be produced which provide various levels of sandbox facilities, with those with the lower levels of sandbox facilities being available for wider usage amongst software authors.
The Catalyst Processor is being designed for use within the Plane 16 Private Use Area of the character map as that will hopefully help to iron out any problems with using code points from a higher plane than Plane 0.
In designing the Catalyst Processor and the Catalyst Graphics engine I am building upon my experience of the following systems.
The 1456 object code system. This system has been tried on the web using ascii characters. I have also suggested a system based on Private Use Area characters from U+EA00 to U+EA7F for use on the DVB-MHP platform, though as far as I know it has not been tried on the DVB-MHP platform as of the time of writing of this text.
The eutocode graphics system. This system has been tried on the web. As far as I know it has not been tried on the DVB-MHP platform as of the time of writing of this text.