What's new?

December 17, 2008The CVS repository has been moved to SourceForge.
Nov 25, 2007A listing of recent pre-built JAR archives is available.
Nov 5, 2007Preliminary support for MicaZ has been added in the 1.7.x development branch.
July 23, 2005Avrora Beta 1.6.0 has been released!
June 16, 2005Technical paper presented at LCTES 2005 by Ben L. Titzer.
May 4, 2005Nonintrusive Precision Instrumentation of Microcontroller Software final version available.
May 3, 2005Patrick Schaumont has implemented cosimulation with Gezel and Avrora.
April 15-17, 2005Avrora demo and technical paper presented at IPSN 2005.
March 18, 2005Nonintrusive Precision Instrumentation of Microcontroller Software accepted to LCTES 2005.
February 18, 2005CENS seminar talk by Ben L. Titzer.
February 17, 2005 Avrora: Scalable Sensor Network Simulation with Precise Timing final version available.
February 11, 2005Poster presentation at TinyOS Technology Exchange.
January 28, 2005 Avrora: Scalable Sensor Network Simulation with Precise Timing has been accepted to IPSN 2005.
January 21, 2005Talk at University of Utah by Ben L. Titzer.
January 5, 2005You can now browse the CVS repository online.
December 17, 2004Avrora Beta 1.4.0 has been released!
October, 2004Poster presentation at CENS research review.

What is Avrora?

Avrora, a research project of the UCLA Compilers Group, is a set of simulation and analysis tools for programs written for the AVR microcontroller produced by Atmel and the Mica2 sensor nodes. Avrora contains a flexible framework for simulating and analyzing assembly programs, providing a clean Java API and infrastructure for experimentation, profiling, and analysis.
  • Lead developer: Ben L. Titzer
  • Faculty advisor: Jens Palsberg
  • Device and radio implementation: Daniel K. Lee
  • Energy Model: Olaf Landsiedel
  • Other contributors: Evan Barnes, Jacob Everist, Thomas Gaertner, Adam Harmetz, Simon Han, Jey Kottalam, John Regehr, Bastian Schlich, John F. Schommer

Why Avrora?

Simulation is an important step in the development cycle of embedded systems, allowing more detailed inspection of the dynamic execution of microcontroller programs and diagnosis of software problems before the software is deployed onto the target hardware. Avrora is a clean and open implementation motivated by this need.

Avrora also provides a framework for program analysis, allowing static checking of embedded software and an infrastructure for future program analysis research. Avrora is flexible, providing a Java API for developing analyses and removes the need to build a large support structure to investigate program analysis.

What can Avrora do for me?

  • The provided simulator can test your programs before they are deployed onto the hardware device with cycle accurate execution times.
  • The monitoring infrastructure allows users to add online monitoring of program behavior for better program understanding and optimization opportunities.
  • The profiling utilities allow users to study their program's behavior in simulation.
  • The instrumentation capabilities allow for detailed observation of program behavior without disturbing the simulation, and without modifying the simulator source code.
  • The GDB debugger hooks allow source-level debugging and integrated development and testing.
  • The control flow graph tool can create a graphical representation of your program's instructions that is useful for understanding how it is structured and what the compiler does with your code.
  • The energy analysis tool can analyze energy consumption and help to determine the battery life of your device.
  • The stack checker tool can be used to bound the maximum stack size used by your program.

Take a Look

Explanation of the origin of the name Avrora.