TODO list for IDebug
- Rename method
Assert.assert
and all
temporary variables named assert
so as not to
conflict with the new JDK 1.4 keyword.
- Add a find dialog to
WindowOutput
.
- Consider renaming
Assert
class (so as not
to conflict with jUnit) and change use of variable "assert"
to something else (so as not to conflict with the new
"assert" keyword in JDK 1.4.
- Document default bindings (page up/down, etc.) in
WindowOutput
for scrolling the textarea.
- Review
ASSERTION
and LOGGER
class diagrams.
- Document overridding methodology for
DebugOutput
. (i.e. printMsg
methods)
- Design and document
Report
objects for
statistics reporting which are mentioned in
Collect
and related classes.
- Jass question - can an abstract class implement
Cloneable and have changeonly{} ensures clauses? What would
be the point and semantics?
- Check order of all javadoc tags (alphabetical).
- Recheck visibility of all class attributes.
- Check that every method labeled with QUERY has a changeOnly{}
postcondition.
- Recheck default semantics on Object methods and insert
comment for such in all classes.
- Move all inherited Object methods (e.g. clone) to top of
inherited methods list.
- Validate all XHTML/CSS.
- Factor out string formatting in various
DebugOutput
classes.
- Make test suite exercise every existing
DebugOutput
implementation.
- Write detailed Users Guide documentation on the
use of the statistics subsystem.
- Write more implementations of the DebugOutput
interface. Suggestions:
- DebugOutputDB --- used to log debugging
messages to a database via standard JDBC.
- DebugOutputEventSource --- send messages
to arbitrary listeners within a Java virtual machine
(perhaps as part of a compositional Java Beans-based
application).
- DebugOutputFrame --- to send debugging
messages to an arbitrary frame within a larger GUI.
- DebugOutputLog --- to persistently log
messages for off-line debugging.
- DebugOutputMessager --- send messages via a
JMS-conformant messaging infrastructure to a/some remote
objects.
- DebugOutputRemoteEventSource --- to provide
debugging messages as distributed events (perhaps as part
of a Jini application).
- DebugOutputSpace --- store debugging events in
a JavaSpace.
- Integrate with Dan Zimmerman's
UberNet
to show an example of call stack currying.
- Separate @author through @version
information from @see and other
specification.
- Add more tests to blackbox test suite:
- Improvements on code standard and specification semantics:
- Indicate type of objects.
- Indicate valid state of object (non-null, non-empty,
etc.).
- Indicate that invariants are valid in postcondition.
- Look up work of Baskar Sridharan (Purdue University) for
ideas. He presented a paper at the TDCS workshop at ICSE-99
entitled "An Extensible Framework for Monitoring and
Controlling CORBA-Based Distributed Systems".
- Consider integration with new assert proposed
Java extension.