The development of an integrated software development environment for the production of embedded software. The system is targeted on a restricted version of a stack based abstract machine that has been implemented on various microcontrollers. The environment will include a number of new development tools intended to support good software engineering practice in the development of embedded software.
The Ph.D. thesis entitled "Theoretical and Practical Aspects of FORTH Software Development" is an investigation into the use of the FORTH programming environment. The main areas of enquiry were: interfacing FORTH to other languages; interfacing to networks; and the use of RISC processors with stack based architecture such as the NC4000 and Harris RTX series. An interface between FORTH and C was developed. A multi-tasking interrupt driven interface to the IBM NetBios networking software provides a simple, generic, method of task activation through message passing.Many aspects of the investigation proved to be dependent on a more thorough theoretical underpinning for the FORTH language. The use of a typeless parameter stack means that a programmer must concern themselves with the intellectual burden of managing the parameter stack. The mismatching of stack elements can be the cause of subtle logic errors. The research went on to develop a "type algebra" which works with FORTH's "stack signatures" allowing a typed version of FORTH.
To support the use of multi-tasking a simple (formal) theory of concurrent tasks based on state machines that synchronise on events, was developed. This has a graphical notation for thous not familiar with formal notations.
Finally an investigation into the use of formal modeling techniques to define a semantic model of the language and the relationship between the stack based virtual machine and register based target processors.