But that gave me an idea : re-use it as a Software Topic. So here it is - version 1.0.
PhD Research Proposal
Zoe Brain BSc MInfoTech(Dist)
Background* Many application domains, notable spaceflight, have tight restrictions on the number of different processor cards available as replaceable spares, and a strict requirement for redundancy.
* It would be very useful to have the capability of using programmable General Purpose (GP) processors to do the job of special-purpose graphics (SPG) processors, thereby allowing greater redundancy with fewer cards.
* Space-qualified (SQ) hardware is also rare. There are few SQ GP processors, and fewer still SQ SPG processors.
* Recent work at the University of NSW in the field of Pure Mathematics has opened the possibility of providing graphics capabilities with far fewer computational resources. The candidate's unpublished work under Don Herbison-Evans in 1980 also showed the possibility of doing real-time bitmap manipulation using 8 bit processors and low processor speeds.
* The FedSat satellite, for which the candidate led the On Board Computer development team, recently space-qualified some Field Programmable Gate Arrays (FPGA) and demonstrated re-programming in flight.
* The candidate has exceptional skills in the Ada-83, and Ada-95 languages, and experience with SQ systems and software development.
Proposal* To investigate the feasibility of providing software to provide graphics capabilities using existing SQ GP cards, using the Ada-95 or -0x languages, appropriate for spaceflight avionics software development.
* To investigate the possibility of formal proof of correctness of those algorithms implemented above, using the RAVENSCAR or SPARK-95 profiles of Ada-95.
* To investigate trade-offs in the use of SQ FPGA processors. The hardware design language proposed to be used is VHDL, also a dialect of Ada. Instead of an SQ GP processor with reloadable software, the hardware itself would be re-programmable in flight to provide needed capabilities.
* To investigate application of the work to other problem-domains, such as aircraft avionics and other safety-critical applications involving heavy human-computer interaction.
* To investigate novel algorithms as well as translation of existing Open Source standard graphics libraries.
Goals* To produce a report recommending best ways forward for the development of SQ systems using the investigated techniques, the trade-offs, advantages and disadvantages of either.
* To produce a Non-Flight-Hardware "proof of principle" system of each type : programmable GP and FPGA.
* To produce software and VHDL suitable for a SQ board that may be flown on a future space mission.
* To produce reports on application of the work to other problem domains.
Approximate Plan1. Produce a more detailed plan
2. Investigate the literature, in particular the Open Graphics project (using FPGA) based in Europe. Investigate current developments in similar areas at the ANU with Mr Hugh Fisher, and the University of Adelaide's Space FPGA research
3. To acquire a suitable development system. For the initial steps, an ERC-32 SQ GP processor would be used, and shareware development tools as used in FedSat (Gnat 3.15p replacing Gnat 3.12p)
4. Carry out research and analyse results. Publish interim results.
5. Based on results, re-scope upwards or downwards as neccessary
6. Repeat previous steps fopr next phase.
7. Collate results, analyse, and author thesis.
Well, I think it would be worthwhile, and there's certainly enough work there to keep me occupied usefully for at least 3 years.
Might even be useful in reducing inventories on non-safety-critical stuff too : when there's only one type of card needed, instead of 12, you can keep far fewer in the inventory at local levels and provide even better service. Cheaper overall, even if the individual cards cost a little more. Might save someone a few hundred million.
Might even save a life too, if the secondary visual display in a cockpit can be re-configured to take over the fuel system management functions, that will keep the engines going in case of failure.
Even if I show that this can't be done at present, it will be a useful work that others can build on when better processors become available.