There are a number of interesting student projects being proposed at the
moment, and I'd like to add another one for everyone's consideration.
It struck me this morning that since we have virtually got the entire
platform working well, the remaining pieces could be deduced pretty well
by simply describing the expected behaviour using the first-order
'obvious logic' principle.
Using this principle we would simply write rules for the missing pieces,
and implement an inference engine to evaluate these rules to complete
the functionality. While the rules can be written in any language, I'd
suggest a good candidate would be the new 'actor participation rules
intermediate language 1', and evaluate them using the Java obvious
knowledge engine.
As an example of the rules we would need:
*drag and drop support* Just implement drag. After all, once you
are dragging something the only option you have is to drop it. That
would be an obvious rule.
*rich text format support* Just implement poor text support and
invest in compounding instruments code. After a few years the
compounding effect will make the text increasing richer.
*not implemented exception* Obviously the user's application doesn't
want to see this exception. Rather than throw the exception instrospect
the stack and just return an object that will pass the application's
validation checks instead.
I'm unwilling to mentor the project after today, but if anyone else
wants to pick up the 'first-order obvious logic' (FOOL) project, writing
code in 'actor participation rule intermediate language 1' (APRIL1) for
the 'Java obvious knowledge engine' (JOKE) -- then I'd be facinated to
see how well it works!
For more information see http://tinyurl.com/395w9a
Regards,
Tim