The following are ideas or suggestions for projects I would like to see undertaken. They are all within the scope of an individual project. You may adopt any of these suggestions without having me as your supervisor, although they can be used as a guide to the nature of project I would be interested in supervising. If you are interested in any of these projects you can contact me at .
Once the basic validation tool has been developed, the tool could be extended, or a new tool developed, which would allow the students to test their specifications. The program would allow the student to initialise and examine the state schema and execute operational schemas.
This project would be particularly well suited to students with an interest in formal notation and compilers/interpreters.Whilst this works well for normal imperative languages (such as C, Pascal or Java) it is difficult to represent ideas for other notations. I.e., in functional languages (such as Scheme, SML or Hope) or stack based language (such as PDF, PostScript or Forth).
This project is to try and find a mechanism similar to that used by imperative languages to represent the algorithmic approach taken by such stack based languages. The student is to develop a system that does not infringe on the developer (to an unnecessary extent) that will provide an equivalent algorithmic description of such stack based notations.
Once the basic validation tool has been developed, the tool could be extended, or a new tool developed, which would allow the students to test their specifications. The program would allow the student to initialise and examine the state schema and execute operational schemas.
This project would be particularly well suited to students with an interest in formal notation and compilers/interpreters.The specification may include a text compression method, search method and MIDI handling. For an example of a simple version of the proposed system can be found on the Digital Tradition web page (http://www.mudcat.org/).
Where as in the Windows world, which suffers from similar problems, package builders exist, which provide the developer with the ability to provide a single file (a .exe or .msi) which will install a suitable version of the program and support files in the relevant locations for users requirements.
This project would provide such an installation builder for the Linux environment. The program would need to process a configuration file describing the application. It should then be capable of operating on most Linux environments (Ubuntu, Fedora, openSUSE, Debian, Mint, Mandriva, and BSD).
The install program will probably consist of a base program that can unpack the binary archive, interrogate the system and run a configuration script which has been constructed by the builder application.
The project has the potential of becoming a commercially viable product.
MOV
and
LDM
instructions, more can be added as the project
develops.
It is envisioned that the tool should be provided to first year
students to aid in there understanding of assembler.