Predictable Threads for Dynamic, Hard Real-Time Environments
IEEE Transactions on Parallel and Distributed Systems
Scheduling Algorithms for Multiprogramming in a Hard-Real-Time Environment
Journal of the ACM (JACM)
Programmable Controllers: Operation and Application
Programmable Controllers: Operation and Application
IEEE Concurrency
Pre-Run-Time Scheduling to Reduce Schedule Length in the FieldBus Environment
IEEE Transactions on Software Engineering
ERLANG '07 Proceedings of the 2007 SIGPLAN workshop on ERLANG Workshop
Hi-index | 0.00 |
This article describes the Java Microcontrolled Device (JMD), an embedded system equipped with a microcontroller unit suitably designed for distributed process control applications. It embeds a CPU with a small amount of memory, several digital and analog I/O lines and a serial interface for the interconnection with other process control devices. The JMD is equipped with an operating system, the JMD-OS, which allows the execution of process control applications written in Java. In this is a two-layer operating system, the upper layer, called the JMD kernel, is entirely written in Java and provides the application with several services designed so that they are independent of the underlying hardware. It also provides the execution environment for the process control applications and, in particular, for time-critical ones which, differently from traditional computer systems applications, are modeled by means of a set of tasks to be executed periodically and by a given deadline. The lower layer is composed of a microkernel that provides a set of hardware-dependent system calls for accessing the external I/O lines. The design of the architecture, based on the microkernel model, can isolate the OS from the hardware level, thus making both the JMD Kernel and JMD applications independent of the platform they run on.