Concurrent programming in ERLANG (2nd ed.)
Concurrent programming in ERLANG (2nd ed.)
Fast static analysis of C++ virtual function calls
Proceedings of the 11th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Modern control engineering (3rd ed.)
Modern control engineering (3rd ed.)
Design of Dynamically Reconfigurable Real-Time Software Using Port-Based Objects
IEEE Transactions on Software Engineering
Real-time dynamic voltage scaling for low-power embedded operating systems
SOSP '01 Proceedings of the eighteenth ACM symposium on Operating systems principles
The embedded machine: predictable, portable real-time code
PLDI '02 Proceedings of the ACM SIGPLAN 2002 Conference on Programming language design and implementation
Synchronous Programming of Reactive Systems
Synchronous Programming of Reactive Systems
The Real-Time Specification for Java
The Real-Time Specification for Java
A real-time garbage collector with low overhead and consistent utilization
POPL '03 Proceedings of the 30th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Giotto: A Time-Triggered Language for Embedded Programming
EMSOFT '01 Proceedings of the First International Workshop on Embedded Software
Garbage collection for embedded systems
Proceedings of the 4th ACM international conference on Embedded software
Eventrons: a safe programming construct for high-frequency hard real-time applications
Proceedings of the 2006 ACM SIGPLAN conference on Programming language design and implementation
A hierarchical coordination language for interacting real-time tasks
EMSOFT '06 Proceedings of the 6th ACM & IEEE International conference on Embedded software
Reflexes: abstractions for highly responsive systems
Proceedings of the 3rd international conference on Virtual execution environments
Reflexes: abstractions for highly responsive systems
Proceedings of the 3rd international conference on Virtual execution environments
Tactics for minimal interference from class loading in real-time Java™
JTRES '07 Proceedings of the 5th international workshop on Java technologies for real-time and embedded systems
Streamflex: high-throughput stream programming in java
Proceedings of the 22nd annual ACM SIGPLAN conference on Object-oriented programming systems and applications
Flexible task graphs: a unified restricted thread programming model for java
Proceedings of the 2008 ACM SIGPLAN-SIGBED conference on Languages, compilers, and tools for embedded systems
RTComposer: a framework for real-time components with scheduling interfaces
EMSOFT '08 Proceedings of the 8th ACM international conference on Embedded software
Tax-and-spend: democratic scheduling for real-time garbage collection
EMSOFT '08 Proceedings of the 8th ACM international conference on Embedded software
Low-latency time-portable real-time programming with Exotasks
ACM Transactions on Embedded Computing Systems (TECS)
PTIDES on flexible task graph: real-time embedded systembuilding from theory to practice
Proceedings of the 2009 ACM SIGPLAN/SIGBED conference on Languages, compilers, and tools for embedded systems
High-Performance Transactional Event Processing
COORDINATION '09 Proceedings of the 11th International Conference on Coordination Models and Languages
Avoiding unbounded priority inversion in barrier protocols using gang priority management
Proceedings of the 7th International Workshop on Java Technologies for Real-Time and Embedded Systems
Responsive systems: an introduction
IBM Systems Journal
Reflexes: Abstractions for integrating highly responsive tasks into Java applications
ACM Transactions on Embedded Computing Systems (TECS)
Time-triggered buffers for event-based middleware systems
Innovations in Systems and Software Engineering
Design of safety-critical Java level 1 applications using affine abstract clocks
Proceedings of the 16th International Workshop on Software and Compilers for Embedded Systems
Hi-index | 0.00 |
Existing programming methodologies for real-time systems suffer from a low level of abstraction and non-determinism in both the timing and the functional domains. As a result, real-time systems are difficult to test and must be re-certified every time changes are made to either the software or hardware environment. Exotasks are a novel Java programming construct that achievedeterministic timing, even in the presence of other Java threads, and across changes of hardware and software platform. They are deterministic functional data-flow tasks written in Java, combined with an orthogonal scheduling policy based on the logical execution time (LET) model. We have built a quad-rotor model helicopter, the JAviator, which we use as a testbed for this work. We evaluate our implementation of exotasks in IBM's J9 real-time virtual machine using actual flights of the helicopter. Our experiments show that we are able to maintain deterministic behavior in the face of variations in both software load and hardware platform.