Projects with publicly available tools

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

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. The website will be in transit to a new location from 16 Dec. to 18 Dec.
Authors: 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

Page maintained by Robert Dick.