Current Projects

 

OS for Embedded Real-Time Systems

    • ROSEreflective OS for embedded real-time systems

    • DEMOSOS communications mechanisms implemented on FPGA

    • Distributed OS making remote resource access more efficient

Analysis, Modelling and Simulation

Languages and Compilers

Architectures

    • RT-Fusion - encorporating real-time aspects into embedded systems architectures

Industrial

    • DCSCreal-time systems engineering research for BAE SYSTEMS





York Hardware Ada Compiler

The York Hardware Ada Compiler (YHAC) has been developed over the last 4 years. It compiles a subset of Ada directly to FPGA (actually to EDIF). YHAC compiles a static concurrent subset of the Ada language, that is adopts both the SPARK and Ravenscar subset standards. These standards were developed (by the Ada community) to address the needs of safety-critical real-time systems. The subsets ensure that any compliant program is statically analysable for its timing and resource usage properties, including concurrency. The YHAC compiler allows totally traceable compilation from Ada to FPGA, with predicitable timing, which are key benefits for safety-critical real-time systems.

Status on 3rd March 2005 – YHAC being documented for public release.


Key Researchers: Michael Ward

Sponsors: UK Government (EPSRC), BAE SYSTEMS


Advancement of the YHAC compiler is being undertaken to adopt a different compilation strategy. Currently, the YHAC utilises an approach that means that circuit size increases linearly in the lines of Ada code. For scalability reasons, we are investigating utilising alternative approaches that decrease the circuit size, whilst retaining the properties of traceable compilation and predictable timing.


Status: work started on 1st October 2004.


Key Researchers: Pete Lewis





DEMOS

Small embedded systems require efficient implementations of restricted Operating System functions. Communications functions are of key importance to ubiquitous distributed embedded systems. The DEMOS (here.Digitally Enhanced Micro Operating System) project aims to provide an Operating System accelerator concentrating upon moving Operating System communications functions into hardware.

The project is focussing upon provision of the Styx protocol (from the Inferno OS) upon FPGA. Styx is a protocol that allows access to remote resources in an efficient manner. The Styx protocol component, implemented in VHDL, is intended to be used as a SoC component by sister projects within the Amadeus Centre at York.

The DEMOS project website is here

Status on 3rd March 2005 – Styx component is implemented and being tested.


Key Researchers: Ameet Patil / Rui Gao

Sponsors: UK Government (DTI)

Partners: Vita Nuova





Timing Analysis for Embedded Real-Time Systems

Timing analysis for real-time systems has historically been of concern. Traditionally, such analysis has assumed conventional CPU-memory platforms, examining process scheduling algorithms, resource blocking, operating system and I/O overheads. The usual computational model is that processes execute entirely upon the CPU, being potentially pre-empted by higher priority processes, or blocked on resource access by lower priority proceses.

Within this work, we are addressing a more practical embedded systems computational model, where computation can be performed either on the CPU or upon a co-processor (hardware accelerator) – when computation occurs on the co-processor, the CPU can be allocated to another process. This model has been termed the limited parallel model. It is being extended for multiprocessor and distributed systems.


Status: Project running since 1st October 2003. Currently, multiprocessor and distributed aspects are being investigated.


Key Researcher: Konstantinos Bletsas




STRESS – Simulator for Real-Time (Embedded) Systems

It seems like the STRESS simulation language was first developed a long time ago. It was – way back in the early 1990's. However, we have dragged it out of retirement, as we move to combined simulation and analysis approaches for accurate assessment of real-time behaviour. STRESS can be used at different levels – from simple tasks and scheduling algorithms; through representation of RTOS functions; through full distributed / multiprocessor architectures including networks / protocols etc. Note that STRESS was never an attempt at performing cycle accurate simulations (in the EDA sense), but a faithful simulation of the timings that are part of real-time systems models.


Status: Project running since 1991 – now brought out of retirement – public release soon available.


ROSE – Reflective OS for Embedded Systems

The ROSE project is concerned with the provision of an operating system for embedded real-time systems that can be extensively optimised and specialised to a specific application. Whilst this can be done statically, offline, ROSE addresses the issue of online (dynamic) specialisation by the provision of reflection. With this mechanism, applications can view key OS information about themselves and the system in general; and are able to modify the behaviour of themselves and the OS, depending upon the prevailing status. A simple example is scheduling, where an application can alter scheduling parameters dynamically.


Status: started on 1st October 2003. Currently (3rd March 2005) basic reflection implemented and being evaluated.


Key Researchers: Ameet Patil



Distributed OS

The efficient remote access of resources in embedded systems is crucial, where insufficient local resources are available for the computation, either by design (low-resource system), or by exhaustion (eg. low battery). Unfortunately, the remote access of resources is inefficient due largely to the structures and mechanisms imposed by conventional OSs. This project seeks to reduce the bias of OSs towards local resources by implementing low-level mechanisms and policies that allow efficient remote resource access.


Status: started on 1st October 2003. Currently (3rd March 2005) basic mechanisms being implemented.


Key Researchers: Paul Usher





JavaMen

This project is implementing a minimal Real-Time Java Virtual Machine to run on a minimal CPU / dedicated hardware combination. The RTJVM allows Real-Time Java applications to function on a small-embedded device. Should a device not have sufficient resources to support the application, Java technology allows remote resources to be accessed. Furthermore, if necessary, the application can be moved to a different platform and executed without having to be re-compiled. Consequently, we will incorporate technology into the RTJVM that allows the resource requirements of the application to be evaluated, so that if sufficient resources are not available on the device, it can be moved transparently to a different device with sufficient resources. This work builds upon the prototype Ravenscar-Java virtual machine that is being developed within the Real-Time Systems Group in the Department.


The project is part of the Amadeus Centre at York. The emerging RTJVM will be used as a SoC component by other projects in the centre.

Status: Project due to start on 1st May 2005.


Key Researchers: Andrew Borg

Sponsors: UK Government (DTI)

Partners: Sun Microsystems



Language Frameworks for Embedded Systems

Usually behavioural language frameworks used for specifying / describing embedded real-time systems are monolithic (Ada, VHDL, SpecC) attempting to represent many aspects (potentially everything) in one language; or are an ad hoc combination of a number of languages addressing different issues; or are library extensible, in that standard libraries are used to extend the semantics of the language (eg. Java, C). There are good / bad arguments for all of these. This project seeks to examine how a language framework can be built that allows extension via domain specific (embedded) languages, to enable greater expressibility of application concerns including both functional (behaviour) and non-functional (time, space, layout, power etc). New domain specific or application specific languages can be designed and added when needed (to address further concerns), whilst maintaining semantic consistency.

Status: Project started on 1st October 2004.


Key Researchers: Matthew Naylor




RT-Fusion

Many aspects of real-time systems can be incorporated into conventional architectures for embedded systems to improve the overall timeliness of the platform. For example, modifying the underlying platform (potentially dynamically) to better meet the needs of the real-time application, and to improve its timeliness, will produce better embedded real-time systems. Early work is examining the relative effectiveness of embedded system architectures such as ASIP, co-processor and dynamic code compilation to hardware (WARP) and the potential for encorporating real-time considerations.

Status: Project started on 1st October 2004.

Key Researcher: Jack Whitham



DCSC – Real-Time Systems Engineering

Within the BAE SYSTEMS Dependable Computing Systems Centre (DCSC), the Real-Time Systems Engineering strand has tradiationally addressed the implementation aspects of real-time systems development. Particular areas of focus have included scheduling and timing analysis - static priority-based schemes, cyclic schemes, communication networks and protocols; worst-case execution time analysis and hardware models; real-time programming languages - Ada 95 language definition and application; real-time kernels - specification and implementation guidance. Recently, efforts have moved towards architecture assessment and trade-off analysis - how to assess system design options and make trade-offs between different non-functional properties of the system; the use of FPGAs as an alternative platform to COTS microprocessors - how to host software on an FPGA and verify that its behaviour is correct.

Key Researchers: Michael Ward

Sponsors: UK Government (EPSRC), BAE SYSTEMS




Copyright © 2005 Dr. Neil C. Audsley.
This WebSite was built using WebMe

Email: Neil.Audsley@cs.york.ac.uk
Last updated: Tue Feb 01 23:21:59 PST 2005