Package avrora.sim

Interface Summary
ActiveRegister The ActiveRegister interface models the behavior of a register that may perform some simulation work as a result of being read or written.
CodeSegment.CodeSharer The CodeSharer interface is used to allow sharing of the underlying array representing the code.
CodeSegment.Factory The CodeSegment.Factory class is used to create a new code segment for a new interpreter.
FiniteStateMachine.Probe The Probe interface allows observation of the state changes of a finite state machine.
InterruptTable.Notification The Notification interface serves a very specific role in simulation; for device implementations to be notified when an interrupt that a device may have posted is executed, or when the user forces an interrupt to be notified.
Segment.ErrorReporter The ErrorReporter class is used to intercept errors caused by trying to either read or write outside the bounds of this segment.
Segment.Sharer The Sharer interface must be implemented by a class that needs to share the underlying data representation for efficiency reasons.
Simulation.Monitor The Monitor interface represents a monitor for a simulation.
Simulator.Event The Simulator.Event interface represents an event that is fired when a timed event occurs within the simulator.
Simulator.ExceptionWatch The Simulator.ExceptionWatch interface allows for monitoring of exceptional conditions in the machine state.
Simulator.InterruptProbe The InterruptProbe interface represents a programmer-defined probe that can be inserted on an interrupt.
Simulator.IORWatch The IORWatch interface represents a user probe that is fired when a watchpoint detects an access to an IO register where the watch has been inserted.
Simulator.Probe The Simulator.Probe interface represents a programmer-defined probe that can be inserted at a particular instruction in the program. or at every instruction.
Simulator.Watch The Watch interface represents a user watch that is fired when a watchpoint detects an access to an address where this watch has been inserted.
State The State class represents the state of the simulator, including the contents of registers and memory.

Class Summary
BaseInterpreter The BaseInterpreter class represents a base class of the legacy interpreter and the generated interpreter(s) that stores the state of the executing program, e.g. registers and flags, etc.
CodeSegment The CodeSegment class represents a segment of memory that stores executable code.
CodeSegment.DefaultFactory The DefaultFactory class represents a factory capable of creating a simple code segment that is not reprogrammable.
FiniteStateMachine The FiniteStateMachine class represents a model of a finite state machine that allows probing and monitoring the state of a device.
GenInterpreter The GenInterpreter class is largely generated from the instruction specification.
GenInterpreter.Factory The Factory() class implements an interpreter factory that can create a new interpreter for a new simulator instance with the given program.
InterpreterError The InterpreterError class is a collection point for all of the error classes that correspond to errors that can happen during the interpretation of a program.
InterpreterFactory The InterpreterFactory class represents a factory for creating interpreters.
InterruptTable The InterruptTable class encapsulates the functionality relating to handling the state of the interrupts in the simulation.
ProbedActiveRegister The ProbedActiveRegister class implements a register that has probes attached to it.
RWRegister The RWRegister class is an implementation of an IO register that has the simple, default behavior of being able to read and write just as a general purpose register or byte in SRAM.
Segment The Segment class represents a segment of byte-addressable memory that supports probing.
Simulation The Simulation class represents a complete simulation, including the nodes, the programs, the radio model (if any), the environment model, for simulations of one or many nodes.
Simulator The Simulator class implements a full processor simulator for the AVR instruction set.
Simulator.InterruptProbe.Empty The Empty class represents a default implementation of the InterruptProbe interface where each fireXXX() method does nothing.
Simulator.IORWatch.Empty The Simulator.IORWatch.Empty class acts as a base class with empty methods for each fireXXX() method.
Simulator.Probe.Empty The Simulator.Probe.Empty class is a simple base class for probes that do not implement one or more methods.
Simulator.Watch.Empty The Simulator.Watch.Empty class acts as a base class with empty methods for each fireXXX() method.
SimulatorThread The SimulatorThread class is a thread intended to run a Simulator in a multiple-node simulation.

Error Summary
InterpreterError.AddressOutOfBoundsException The AddressOutOfBoundsException is thrown when the user attempts to access out of bounds memory through the state interface.
InterpreterError.NoSuchInstructionException The NoSuchInstructionException() is thrown when the program attempts to execute an instruction that does not exist (i.e. a section of the flash that is not initialized).
InterpreterError.PCAlignmentException The PCAlignmentException is thrown if the program counter somehow becomes misaligned.
InterpreterError.PCOutOfBoundsException The PCOutOfBoundsException is thrown when the progrma attempts to execute an instruction outside the bounds of the flash.