Requirements

System

 

· Built for Eclipse 3.3

· Run on Windows XP and Unix (need to specify builds)

· Bundled in single jar file (for both Unix and Windows

· Supply user readable JavaDoc in jar file

· Embed html based help files in Eclipse & post on website

· Provide MMIX examples in jar that are included in standard MMIX download

· Create code using Java 1.4.2 so that plug-in is compatible with 1.4.2 SDK/JRE that users may be using with Eclipse

· Will run using default JVM settings (standard heap and stack sizes)

· Does not require non-standard plugins that are not included with Eclipse

· User cannot supply custom MMIX compiler/executable must use bundled version

 

Development

 

· TRAC or similar combination of SVN, wiki, and bug tracking will be used

· Single build script to be executed either nightly or weekly depending on development time will utilize Ant to create build, JUnit to test, and results will automatically be posted to Wiki

· Download link will available from this webpage during development and final version will be posted on sourceforge

 

Editor

 

· Will recognize MMIX instructions / syntax with appropriate color coding

· Include automatically generated column showing system time per instruction (calculated from values provided within MMIX documentation)

· Include line numbers

· Single run button that create mmo document (stored in project) and then executes code.

· Tab for Simulator errors

· Tab for console output

· User can insert breakpoints on any line which will be displayed with at the line with unique icon or other marker

· Can clear all bookmarks with a single click or one by one

· Can comment out multiple lines of code via menu picks

· Can execute written code via standard run (output in console only) or in debug mode via two buttons

 

MMOType Viewer

 

· Right-click on mms document in project tree will provide option to generate mmo page

· mmo document automatically created and placed in project if user runs an mms document (either in standard or debug mode)

· If user select File -> Open and an mmo document or double clicks on it in the project tree, it is automatically converted to user readable text which is displayed in a standard tab

· Does not store readable version of mmo after it has been closed.  Will instead be regenerated each time to ensure it is up to date and to minimize project clutter

· Can print or save readable version in external file

· Format is user friendly but not color coded or fundamentally modified

· Not editable in anyway

 

Project Level

 

· Separate MMIX project created via standard project creation wizard

· Can create mms object via standard object create wizard

· Can bring in externally created mms files via drag and drop to project or File -> Add to Project

· No package level organization… all objects created at a root project level

· Two perspectives:  edit (mms and mmo documents open in edit perspective) & debug

· If user select run in debug mode for an mms document while in Edit perspective, the perspective will automatically switch to debug

 

Simulator

 

· Display all registers with scrollbar to allow viewing of higher registers (initially show only lowest 10 registers… this value can be modified via preference)

· Registers will show values in multiple formats as controlled by a preference (binary or hex)

· RAM will display with a scrollbar and initially only display 10 sections (controlled bypreference)

· As user moves the RAM scrollbar, the values will be populated when the user releases mouse to release scrollbar.  This is due to the large amount of memory allocated for RAM

· Will increment and stop at section of code for each breakpoint with corresponding register and RAM information

· Easily readable UI: