Projects and publicly available tools

We often make these websites after work is mature, so please see the publications page for recent work.


DVS dataset snapshot

A dataset of footage from a fixed camera looking at a traffic intersection. The three videos constitute approximately one hour of footage and offer differing lighting and weather conditions.

This dataset is intended to provide a source of long-form fixed-camera footage for testing embedded computer vision techniques. To this end, individual frames and machine-generated object detection annotations are provided.

Dataset prepared by Benjamin Simpson and Yuchen Liu. Original videos obtained from Digital Vision Security with permission. Distribution and use for research purposes is allowed.


Reliability Driven Resource Management of Multi-Core Real-Time Embedded Systems</a></td>

This National Science Foundation project on Reliability Driven Resource Management of Multi-Core Real-Time Embedded Systems focused on developing algorithms and analysis techniques to improve reliability in real-time systems subject to both permanent faults resulting from temperature-dependent wear processes and transient faults resulting from strikes by high-energy subatomic particles. This project developed techniques to measure the wear progression in microprocessors using only software; algorithms to improve the reliability of embedded systems containing heterogeneous compute cores and graphics processing units; and analysis techniques for estimating fault probabilities in integrated circuits subject to a variety of lifetime wear processes and transient faults, including spatially heterogeneous faults resulting from within-package high-energy particle emission.


Firmware for the M-Pod wearable air quality sensing node.
Author: Yun Xiang.


PowerTutor PowerTutor is on-line smartphone power estimation software. It uses smartphone component power management and activity state introspection to estimate the power consumption of each component, and determine the energy use of software applications.
Authors: Mark Gordon, Birjodh Tiwana, Lide Zhang, Robert Dick, Zhuoqing Morley Mao, and Lei Yang.

The Sonar Power Manager uses ultrasound produced by your computer's speakers and measured by your computer's microphone to determine whether you are nearby. It can assist in power management. BatPhone identifies the user's location based on audio environment.
Authors: Stephen P. Tarzia, Robert P. Dick, Peter A. Dinda, Gokhan Memik.


simics console CETA is a fully-automated tool for extracting run-time communication graphs from multithreaded applications.
Authors: Ai-Hsin Liu and Robert P. Dick with additional documentation by Ciprian Radu.

MEMMU logo MEMMU is an automated runtime memory compression technique for MMU-less embedded systems. It provides application developers with access to more usable RAM and requires no or minor changes to application code and no changes to hardware. MEMMU is composed of a runtime library and LLVM passes for compile-time transformation.
Authors: Lan Bai, Lei Yang, and Robert P. Dick.

CRAMES CRAMES is an operating system controlled memory compression technique to double usable memory in embedded systems without changing applications or hardware, and with little or no performance or power penalty.
Authors: Lei Yang, Robert P. Dick, Haris Lekatsas, and Srimat Chakradhar.

ISAC ISAC is adaptive steady-state and dynamic thermal analysis software.
Authors: Nicholas Allec, Xi Chen, Zyad Hassan, Yonghong Yang, Zhenyu Gu, Changyun Zhu, Li Shang, and Robert P. Dick.

Embedded system synthesis software This software, described in the MOGAC, CORDS, COWLS, and MOCSYN papers (above) has been licensed to PDV Software of Allentown, Pennsylvania. However, I can provide academic access to interested parties on my group server. If you would like to use this synthesis software, please send me an email describing the intended use.
Author: Robert P. Dick

E3S The Embedded Systems Synthesis Benchmarks Suite is a collection of benchmarks based on embedded processor and task information from the Embedded Microprocessor Benchmark Consortium (EEMBC). E3S was developed for use in system-level allocation, assignment, and scheduling research. The current version, 0.9, contains contains 17 processors, e.g., the AMD ElanSC520, Analog Devices 21065L, the Motorola MPC555, and the Texas Instruments TMS320C6203. These processors are characterized based on the measured execution times of 47 tasks, power numbers derived from processor datasheets, and additional information, e.g., die sizes, some of which were necessarily estimated, and prices gathered by emailing and calling numerous processor vendors. In addition, E3S contains communication resources modeling a number of different busses, e.g., CAN, IEEE1394, PCI, USB 2.0, and VME.
Author: Robert P. Dick


TGFF creates problem instances for use in allocation and scheduling research. It has the ability to generate independent tasks as well as task sets which are composed of partially ordered task graphs. A complete description of a scheduling problem instance is created, including attributes for processors, communication resources, tasks, and inter-task communication.
Authors: Keith Vallerio, David Rhodes, and Robert P. Dick.


Python modules for graph algorithms, class delegation, and logic minimization.
Authors: Robert P. Dick and Kosta Gaitanis.


MPSoC reliability modeling software described in this publication. Allows estimate of system-level reliability in the presence of various lifetime wear processes in MPSoCs supporting task reassignment on core failure.
Authors: Yun Xiang, Robert P. Dick, and Thidapat Chantem.

Page maintained by Robert Dick.