UNIVERSITY OF MASSACHUSETTS
Computer Science Department

 

 

CMPSCI 591I

Java for Embedded Systems

Fall 1998

 

Robin Popplestone

 

Time and Place: Wednesday 10:10 - 11:00, LGRT 1322

The Train System as a Testbed
The Chootocol
A Cunning Intermediate Language
The Java Source for a Train Simulator

What the Seminar is About

We may define an embedded system thus: Thus embedded systems can be as simple as a microwave oven and as complex as an aircraft or Train a Grande Vitesse.

In this seminar we'll look at some of the issues involved in the use of the Java language for creating and interacting with embedded systems. To provide focus for the course, we will consider one particular embedded system, namely a model railway which is controlled by a distributed system of micro-controllers, one per track-section. This system actually exists, in Room 220 in the Tower.

An embedded system, especially a large one, is likely to be heterogeneous. That is to say, it will be composed of a number of distinct and different processing elements - micro-controllers, standard processors, Digital Signal Processors, various kinds of programmable and discrete logic, together with analog circuitry. To understand the issues here, we'll take a look at the Scale project, here at UMASS.

What the seminar is not about

We won't teach you how to design or build hardware. The CMPSCI 503 "Embedded Systems" course, to be taught again in F99 instructs students in how to build hardware to a sufficient standard for proof-of-concept of moderate laboratory-scale embedded systems.

However if you do have hardware expertise, you'll be welcome to do a project that involves hardware building using the resources of the Embedded Systems Teaching Lab (220 in the Tower).

Documents

Here are some of the documents that we will consider in the seminar.

Javasoft

The Javasoft web site contains Sun Microsystems material on the Java language. Since Sun developed the language, there's some pretty basic stuff here.

An online JVM OPCODE Reference Manual

A C-Hackers Guide to Java

Cases 98: A Workshop on Embedded Systems

This workshop was held in the autumn of 1998. The material below is derived from the work of selected participants at the workshop.

Bruce Jacob
Bruce Jacob is Assistant Professor Department of Electrical Engineering University of Maryland at College Park

Mazen A.R.Saghir

Stanley Habib (use search)
"Program Optimization and Compilation for Conventional DSP Processors" Bogong Su and Erh-Wen Hu, William Paterson University, Jian Wang, Nortel Lab, Stanley Habib, CUNY

Daniel A Connors

Santosh Pande

Akash R Deshpande

Bill Mangione-Smith, UCLA

Dr Phil Sweany

RadiSys

Intel Embedded Expo

The Scale System

The Intelligent Home A Multi-Agent System for Intelligent Environment Control Victor Lesser, Michael Atighetchi, Brett Benyo, Bryan Horling, Anita Raja, Régis Vincent, Thomas Wagner, Ping Xuan and Shelley XQ. Zhang

Java for the 68HC11

Intelligent environments are an interesting development and research application problem for multi-agent systems. The functional and spatial distribution of tasks naturally lends itself to a multi-agent model and the existence of shared resources creates interactions over which the agents must coordinate. In the UMASS Intelligent Home project we have designed and implemented a set of distributed autonomous home control agents and deployed them in a simulated home environment. Our focus is primarily on resource coordination, though this project has multiple goals and areas of exploration ranging from the intellectual evaluation of the application as a general MAS testbed to the practical evaluation of our agent building and simulation tools. [Source: UMASS CS Technical Reporet 1998-40]

The Train Controller

As an example of an embedded system we will consider the Controller for a model railway that has been created during the CMPSCI 503 class. This is quite a good object of study, because it is a modest size embedded system implemented using MC6811HC micro-controller chips, one per section of track. Most of the issues of hardware-software codesign are present in something approaching a realistic form. The system is currently implemented in a mixture of Interactive C (IC) and assembly code. IC is a version of C that is a bit down the road towards Java, having abolished pointer arithmetic. What is very much missing is a sophisticated user interface - at the moment this is confined to a start button and some cryptic utterances on LCD displays.