telephone : 01285 582998
Xor Systems' Puppeteer a hit in Higher Education
Puppeteer is an advanced computer system, a teaching aid for five key areas of computer science and electronic engineering, particularly with real-time or embedded systems in mind.
• Puppeteer uses the StrongARM processor, a modern RISC microcontroller running at 200 MHz, with an added Ethernet interface and a Flash-based filing system.
• Embedded Java - you can use Java as an embedded programming language, ideal in particular, for web-based monitoring and control applications.
• Programmable logic - Puppeteer includes a large Altera FPGA (EPF6016) which offers 16k gates, capable of supporting the implementation of complex logic designs in Verilog or VHDL
• Operating system design - Puppeteer uses Linux as the operating system, but it can also host other OS, including NetBSD and VxWorks. This offers the opportunity to teach principles and practice of porting OSs to new embedded platform.
• Simple interfacing - Puppeteer is provided with serial, parallel and LAN ports in a variety of configurations, to allow you to generate simple tutorial examples in HLLs, controlling real hardware.
A detailed specification for Puppeteer for educational use is available here in PDF format.
The University of the West of England, in Bristol, have a strong history of providing real-time courses, with an emphasis on practical knowledge. Puppeteer fits in well with this, providing a modern programming language with the latest in real-time operating systems, running on modern hardware. A course has been introduced, using Puppeteer as the teaching tool, with a mix of practical work and lectures. This has been deemed as a great success by the head of CRTS, Dr Rob Williams, author of "Computer Systems Architecture - a networking approach".
"At UWE we are committed to using Java as a first teaching language. At the same time we offer several important options involving real-time systems design and implementation. The Puppeteer elegantly fuses these two requirements, enabling students to gain first hand experience with distributed systems programming using an interesting, up-to-date platform. Having such network-enabled hardware readily available widens the possibilities for extended case-study exercises which are so useful in motivating the students and improving their learning experience."
Java is the current top language in teaching, especially at University level. It provides an early introduction to Object-Oriented techniques, without some of the complexities of languages such as C++. Xor Systems recognises this, and promotes Puppeteer as a superb teaching tool. This applies especially in the real-time area, where Java's ability to use threads easily, with concurrent programming available simply and easily. In addition, any of the web-based approaches like sockets, RMI, web servers etc. are quickly and simply implemented in Java.
Puppeteer uses Personal Java, in Wind River's implementation called Personal JWorks. It is compatible with Java 1.2.
You can consider teaching to computer science and electronic engineering students the fundamentals of using configurable logic with microcontrollers, in the embedded computing field.
• you can use Puppeteer to work through a complete case-study of a contemporary electronic design.
• you start by analysing the problem and partitioning the functionality between hardware and software, exploring possible implementations.
• the hardware configuration can be specified using VHDL or Verilog. You then add the software, written in C/C++ or Java, to provide over-riding system control
• and test the overall system prior to real life utilisation
The standard operating system for Puppeteer is VxWorks from WindRiver, with Personal JWorks providing a Java environment. This is a rich environment to develop control applications.
We have also ported Linux to run on the Puppeteer, to provide alternatives to the Java environment. With Linux, it is possible to use a wide range of programming languages and tools. You could use the Puppeteer to teach Realtime Operating Systems, contrasting the options available and providing practical experience of choosing and porting a modern OS.