Package mars.tools
Interface MarsTool
- All Known Implementing Classes:
AbstractMarsToolAndApplication
,BHTSimulator
,BitmapDisplay
,CacheSimulator
,DigitalLabSim
,FloatRepresentation
,InstructionCounter
,InstructionStatistics
,IntroToTools
,KeyboardAndDisplaySimulator
,MarsBot
,MemoryReferenceVisualization
,MipsXray
,ScavengerHunt
,ScreenMagnifier
public interface MarsTool
Interface for any tool that interacts with an executing MIPS program.
A qualifying tool must be a class in the Tools package that
implements the MarsTool interface, must be compiled into a .class file,
and its .class file must be in the same Tools folder as MarsTool.class.
Mars will detect a qualifying tool upon startup, create an instance
using its no-argument constructor and add it to its Tools menu.
When its menu item is selected, the action() method will be invoked.
A tool may receive communication from MIPS system resources (registers or memory) by registering as an Observer with Mars.Memory and/or Mars.Register objects. It may also communicate directly with those resources through their published methods PROVIDED any such communication is wrapped inside a block synchronized on the Mars.Globals.memoryAndRegistersLock object.
-
Method Summary
-
Method Details
-
getName
String getName()Return a name you have chosen for this tool. It will appear as the menu item. -
action
void action()Performs tool functions. It will be invoked when the tool is selected from the Tools menu.
-