Status Report: one.world (02/20/2001)
We definitely fell short of the ambitious goals we had set out
for during our previous week status report. Me and Albert pulled
late nights over the weekend to attempt to meet our goal. One
good reason we did not meet our goals is that we reworked a lot
of our earlier code to be much cleaner and nicer. We are also
hashing out a fairly nice service interface that will possibly
utilize the scheme interpreter and the java reflection api. And
if can't stand all the parenthesises, there is a nice python
interpreter available also. :) Hopefully we can demo by the end
of the week.
- Still working on user repository/registry (named Inbox) (Daniel)
- Developed semblance of a class hierarchy and many utilities
i.e refactoring (Daniel)
- Lots of debugging (Daniel)
- Played with event dispatching system and tried to make a more automated one (Daniel & Albert)
- Reg Exp Matching in Filter(Albert)
- Filter/Router redesign, rewrite and debugging *yuk* (Albert)
- Intercomponent Tuples framework and REP fun (Albert)
- Finish Inbox (Daniel) - Do or Die Situation
- Finish Pop3 interface to clients using Ian's work
- Finish SMTP interface to mail servers. (Daniel)
- Massive amounts of integration w/ Albert (Daniel)
- Finish new implementation Router and Filter (Albert)
- Clean up code (match style w/ Daniel's new heirarchies) (Albert)
- Service interfce for componenets
Deliverables for next tuesday
- MUST finish Inbox (Daniel)
- Finish Pop3 and SMTP (Daniel)
- Integrate (Daniel)
- Routing and Filter done, killed, finished, over with. (Albert)
We said this last week, but by next week (possibly end of this
week) the system must be demoable.
Worked on Inbox: 20hrs
Researched tools to build GUIs - Forte, Visual Cafe, JBuilder,
JPython(this is very cool): 3hrs
Built some GUI: 1hr
Refactoring system (new classes - BasicComponent, MainComponent,
RemoteMainComponent, SubComponent, StorageResponse,
StorageRequest, InboxInputEvent, InboxOutputEvent,
StorageConstant, InboxConstant, ActiveList, AuthInfoDialog,
AuthInfoList, StorageDemux, Test*.java): 20hrs
Finding and fixing bugs: 10hrs
- Event dispatching w/ java.lang.reflect 4hrs
- Learning REP: 4hr
- InterComponent messaging system (RawMail, MailData, CoreMessage): 3hrs
- Mail Analyzer w/ Perl 5 expressions using jakarta.oro: 4hrs
- Router and Filter reimplementaiton: 25hrs
Just some stuff for writing the report later on. If anybody
likes to comment on them, I'll be glad to listen. (its a little
short for now, I'll provide more detail later).
Using Palm email client in our system, need to find a
modem. Incidentally that is where I keep track of time spent
on project and other details.
Java passes object by reference, but the handle to the object
is passed by value. time wasted: 1 hr.
If I have an inner class, how do I refer to the outer class.
time wasted: 1hr - my solution: keep reference to outer class in
your super class.
Checkpoint still does not work. I'm going to leave it for now
and come back to it when I have more time.
Use of standard OO design techniques harder to do with
one.world framework. i.e How to make components into a nice class
hierarchy? What we have now is kinda of hacky, it basically
trys to elminate the tediousness of having to do things over
and over again.
JDB sucks. Is there a better way to do debugging? Using print
statements works but there has to be a better way. The log
system in one.world works well though. Tried to set up a
remote logging service this week too.
Two very nice tools: Forte and JPython. JPython is really
nice (since I'm familiar with Python), it almost seems that
you could script the components we
have been writing so far. How does scripting work in
one.world? There seems to be a scheme interpreter available
for us to use.
Do we really need to tack on the GUI onto one.world ala the
counter sample application. There appears
to be more overhead to doing this in one.world than
normal. Ask Robert for examples of simple GUIs (user typing in
data and sending it to an environment, using the GUI to query
data) being used for this. Alternatively how could we hack
components to take in input from the command line.
Albert (the one who doesn't think as much)
- Automated event passing is nice. Is there an argument against registering handlers by signature and doing automatic dispatching?
- picky detail:spaces after printing an exception message?
- REP is fun and nice one you figure out the interface. The interface is fun and nice to learn, once you find the correct documentation (or ask Eric) :P
Last modified: Tue Feb 20 15:23:12 PST 2001