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

    Modifier and Type
    Method
    Description
    void
    Performs tool functions.
    Return a name you have chosen for this tool.
  • 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.