MPE Logo
MicroProcessor Engineering,
Limited
"More real, less time."

Main page & What's new?
Information and Services 
MPE Software 
MPE Hardware 
Development Hardware 
Free Downloads  
Pricelist 
Contact Us or Place an Order 

The Forth Language


Last updated 3 May 2003

What is Forth?

MPE Provides Forth systems with modern tools for high quality software production. MPE's Forth systems provide an industrial strength practical environment for real time software and hardware development.

Forth is a Modular Language

Forth's modularity enables programs to be written and tested in terms of many small procedures and modules with the minimum loss in efficiency. Forth actively encourages code re-useability.

Forth is an Interactive Language

Forth's text interpreter executes a procedure as its name is entered. The text interpreter allows parameters to be passed to any procedure so that each and every procedure can be extensively tested, both in isolation and as part of a larger module. Systems tested in such a 'bottom up' process are found to be more reliable (data from a NASA presentation), which leads to Forth being preferred for high reliability applications by some NASA teams.

Forth is Compiled

MPE Forth systems compile extremely quickly. Fast compilation speed and ease of testing provide a rapid, interactive, and productive compile-debug-fix cycle. Incremental compilation means that only new code needs to be compiled, leading to even shorter compilation times. This rapid compilation includes full code optimisation, with our VFX compiler techology producing code as fast as that from C compilers.

Forth is a Multitasking Language

Multitasking is provided as standard with VFX Forth and ProForth for Windows, ProForth for DOS and MPE's Forth 5 and Forth 6 development systems. The multitasker includes message passing, synchronisation, semaphores and event handling for reaction to external events, as well as full timer management services.

Forth is a Hardware Testing Tool

The production of an embedded system involves more than just the development of the software; hardware also has to be developed and tested. Forth is ideal for debugging hardware because of the easy way many small test procedures can be written. These procedures are used to inspect hardware and rapidly 'home-in' on a problem.

Forth is Easy to Use

Forth involves simple concepts applied uniformly. It does not require a user to be a computer scientist. Hence Forth is often used by electronic engineers, physicists and mechanical engineers, as well as by software engineers.

What is Forth used for?

MPE's Forth systems are used for applications ranging from PC Windows applications which plan the construction of major civil engineering projects to door controllers in access control systems. A few current Forth applications follow.

Forth disarms bombs!

Between 10% and 20% of modern air-dropped munitions (bombs) fail to explode according to figures from Bosnia and Kosovo. Disarming these is a high priority. MPE was involved in a new technology portable machine for making munitions safe. The system electronics consist of two MPE ARM Development Kits using the Forth 6 Cross Compiler and a control PC running VFX Forth for Windows. The three units are linked by a custom network implementation. The whole system was developed in four months by the clients and an MPE consultancy team.

Forth runs games!

A mobile phone manufacturer is introduced a new games engine derived from the SENDIT project. This uses a Forth-based virtual machine to reduce the size of games in the phone, and to permit more functionality to be provided in the phone without increasing memory size.

MPE Forth plans airports!

Construction Computer Software (CCS) in Cape Town produce the MARS and CANDY applications which are a standard all over the world. The CCS software is an example of a large-scale Windows application written in ProForth for Windows, and the VFX Forth version already consists of over 850,000 lines of code.

CCS software was used to plan the Chai Tak airport in Hong Kong. The CCS web site is at http://www.ccssa.com

MPE Forth audits Microsoft!

Pathfinder's Barefoot Auditor package collects data about software installed on your PC. It uses AI techniques and is probably the fastest such package available, as well as requiring less space for application and results.

Barefoot Auditor is used by Microsoft for collecting information about their own PCs, and was written using one of MPE's Forth systems. Barefoot Auditor has been available on several magazine cover disks recently, and more information is available from Pathfinder on +44 (0)161 406 7410 or by email to sales@pathfind.demon.co.uk.

MPE ProForth runs commercial laundries!

Micross Electronics (tel: +44 (0)1989 768080) http://www.micross.co.uk use MPE's ProForth for Windows at the heart of their commercial laundry control systems, and MPE's Forth 6 cross compilers for the PLCs performing real time control. These systems are installed in many countries, and you may have slept in sheets washed by the Micross Tracknet control systems.

Forth virtual machine runs payment terminals!

One reason for the delay in producing our 1999/2000 catalogue has been the work MPE was doing on Europay International's Open Terminal Architecture (OTA). OTA uses a virtual machine (VM) architecture to deliver payment terminal applications directly to payment terminals regardless of their hardware or CPU. The OTA VM has been installed on a range of CPUs and is now being deployed. The OTA project involved up to 30 programmers working in several locations on two continents. OTA is described at http://www.europay.com

The OTA VM is a derivative of the VM designed by MPE for the SENDIT Esprit project. The VM uses a two-stack architecture derived from Forth, and extended to be language neutral so that code can be compiled from languages other than Forth. We have Forth and C compilers for these VMs, and are available to produce tailored derivatives for your applications.

ISO/ANS Forth

The ISO/ANS Forth standard is used by all MPE's new products. ISO/ANS Forth (sometimes informally known as Forth 93) has had a productive impact on Forth since its release in 1993. Both programmer and application portability have been good, and the Forth community has produced much good software that we have been able to port with few problems. As with any standard developed under ANS rules, after five years the standard must be reviewed, and this year (2001), the standard has been renewed without change.

Particular topics for review include embedded systems and internationalisation. The embedded system proposal is based on a word set developed by MPE and another Forth vendor, and this word set is used in MPE's Forth 6 cross compilers. We expect the final standard not to change very much from the draft. The internationalisation effort is being spearheaded by MPE with input from others including MPE customers. The latest working papers are available from the Forth-related papers page here. Current details are available from Peter Knagg' web site at http://dec.bournemouth.ac.uk/forth/index.html

 


TopReturn to Top HomeReturn to HomePage