Early addition of classification interfaces, AND got all the unit tests working again (nothing was really wrong, except that I'd changed a couple of APIs but hadn't fixed the unit tests).  Bad developer, no martini!
TraitPredicate and an implementation of an open/closed interval predicate for real-valued traits.  All unit tests pass for existing code and the new interval predicate.
Starting implementation of paradigmatic classification from interfaces.  Had to genericize (and slightly de-genericize) the observer stuff since it had "traitobservers" all over the place.  Only the Statistic<T> is generic now, and the observer/subjects are just plain classes, and we keep them straight by having traitObserverList and classObserverList in the models.  Unit tests all pass, the real-valued interval stuff is robust to floating point equality testing issues.  Ready to do class dimension intersection and then figure out how to identify agents as to class membership and do adoption/unadoption stuff.
Basic structure of paradigmatic classification.  API basically complete, working on implementations now and unit tests.  Needs observer classes written.
Beginning unit tests of classification code and multidimensional agents.  Refactored all model classes out of the test code and into a tf.models package and source tree, separate from the framework source tree.  Basic models will be included in the jar file, but one can also simply link to the framework classes and just use TF as a library (the intended mode).
Basic paradigmatic classification code working -- can intersect dimensions to form classes, identify agents with traits to a specific class correctly, and update a population's class membership and get correct class counts.  Need additional class counts and then observer code to finish up and build real models, plus some way to configure a model with a classification easily.
Paradigmatic classification code complete, along with basic log file observers for class counts and frequencies.  This is ready for an actual model.  Configuration of the classification has to be done in model code at present.  Next steps are to think about
model configuration, and revisit database logging etc.
Paradigmatic classification code complete, along with basic log file observers for class counts and frequencies.  This is ready for an actual model.  Configuration of the classification has to be done in model code at present.  Next steps are to think about
model configuration, and revisit database logging etc.