Flexible Task Graphs
Welcome to the Flexible Task Graphs web site.
Release 2.0.1 is now available. A change
history is now being maintained on this site.
Slides from ECOOP 2009 tutorial on Flexible Task Graphs are now available.
All installations are via the Eclipse Update mechanism.
- How to
install Flexible Task Graphs. Includes the development
environment, runtime APIs, documentation, and support for simulated
execution and testing. Does not include bridge code to any actual
real-time VM (but includes interfaces sufficient to create such a
bridge or use an existing one).
- How
to install the IBM Real Time VM Support for Flexible Task Graphs.
Explains how to add non-open-source components from IBM DeveloperWorks and
IBM AlphaWorks to support real-time execution in the IBM WebSphere
Real Time VM. Also, how to install all the pieces together, if you prefer.
The Flexible Task Graphs system is described in the following
paper, which provides an introduction to our work.
The Flexible Task Graphs open source project, far from reflecting
"completed" work, is an active project with much left to accomplish.
We expect to accept contributions from new authors. Our goal is to
obtain consensus on the best possible restricted thread programming
model to incorporate into the next generation of standards for Real
Time Java. Contributions can take the form of new plugins (timing
grammars, schedulers, distributers, or tracing packages), new
front-end tools, or improvements to the framework itself.
- Please contact Joshua
Auerbach if you are interested in contributing to this project.
- You may also visit our our sourceforge
project page for more information and subscribe to one or more of
our mailing lists. The mailing lists are structured so that all
subscribers (but only subscribers) may send to them.
The Flexible Task Graphs open source codebase was developed at IBM
(or under research agreements with IBM) starting from the older
Exotasks code base. It is being made available by IBM under the
Eclipse Public License. Code was written by Joshua Auerbach and
Jesper Honig Spring, with design guidance from David Bacon, Jan Vitek,
and Rachid Guerraoui, and reflecting earlier design guidance on the
Exotask system from Christoph Kirsch. Flexible Task Graphs are a
unification of four previous programming models, so the authors of
those models can all be counted as having influenced the present
model. Here are pointers to the papers describing the original models
that influenced this work.
- Eventrons:
a Safe Programming Construct for High-frequency Hard Real-time
Applications by D. Spoonhower, J. Auerbach, D. F. Bacon, P.
Cheng, and D. Grove, published in PLDI 2006.
-
Java Takes Flight: Time-portable Real-time Programming with Exotasks
by J.Auerbach, D. F. Bacon, D. T. Iercan, C. M. Kirsch,
V. T. Rajan, H. R. Roeck, and R. Trummer, published in LCTES 2007
- Low-Latency
Time-Portable Real-Time Programming with Exotasks by J.Auerbach,
D. F. Bacon, D. T. Iercan, C. M. Kirsch, V. T. Rajan, H. R. Roeck,
and R. Trummer, published in TECS. A more detailed treatment of
Exotasks that also described the integration with Eventrons, a
precursor to this work.
- Reflexes:
abstractions for highly responsive systems by J. Spring, F. Pizlo,
R. Guerraoui, and J. Vitek, published in VEE 2007.
- Streamflex:
high-throughput stream programming in java by J. Spring,
J. Privat, R. Guerraoui, J. Vitek, published in OOPSLA 2007