challenges ] %%FTTP task

ranked in terms of “usefulness” — details, easy-to-grasp, ….
) de-couple — the design is by default tightly coupled

) quality assurance — of the model. How do we know for sure that the right classes were used, and hundreds of attributes are set exactly right? Complications
* runtime binding
* object behaviours determined at run time based on neighbours whose exact types are determined at runtime. Consider setAid()
=> recursive dumper
=> unit tests

) /tacit-knowledge/ instead of documentation
) other deveopers are mostly “offsite”

) error handling — not too lenient as to return unusable objects, not over-reaction as to crash the system

) multiple-inheritance — an acknowledged necessary evil when converting from LISP

) testing is tedious
* doesn’t allow “micro cycles”. When you want to add a debugging statement or make any minor change, usually you must shutdown both server and swing client, edit, recompile, (perhaps re-deploy,) restart server and swing client, go through the client dialog to specify your input, wait for a few seconds to see result.
* Worse still, you may need to run a corba agent to interface with a remote corba server

) mem leak, out-of-mem in load test

) perf — Many design considerations
=> element filters
=> pre-fabricate common element objects before trying out templates

) thread safety — open call …

—- hard to lj, or otherwise not useful:
) validation — non-standard line records abound. A well-known issue. large number of possible errors in input (line record) just like error checking
) AI to choose the right template