TODO ==== Belief Networks (0.3.1) --------------- To get these delivered, I need to revisit the edge logic, to make sure it's easy to extend each edge with an object. Then: * CPM brought back from the archive * Network propagation * Network testing (polytree) Reorganizing (0.3.2) ------------ I've just made some big refactoring steps regarding the organization of the system and the distributions. To make sure we're there: * Fix the inheritance structure * Go back and test the 4 distributions I decided on * Add SQLite3 for in-memory set operations for a labeled, multinomial node Agent Based Modeling (0.3.3) -------------------- * Add parameter-passing standards for callbacks * Add EventMachine and async capabilities (Including the cluster idea) * Make sure the scope of dynamic methods defined are correct (class, object, singleton) (on properties and simulation) Knowledge Base (0.4) -------------- Probably around here I'll be able to start looking at a persistent knowledge base. I am not sure which way I'll go, but things I'm considering: * RDF markup * Riak/Redis/Mongo/Couch backend * Backend adapters * tabular data in an RDBMS (think Apophenia) One of the key features needs to be search: * possibly a Xapian search index for full-text searching * still need a standard query language, depending on what I choose above Apophenia (0.5) --------- I'd like to get Apophenia integrated so that any data model generated there could be combined with the work done here. That means that most of the "hard" data crunching is using some fairly fast tools: C, SQLite3 in memory, Apophenia and the GSL. That would mean that you generally come to Fathom to: * coordinate the elements of a decision or information discovery project * run simulations across their collective knowledge * maintain consistent information between information nodes You would go to Apophenia to: * build data models from statistical methods * generate new sets from grouping, sorting, merging, and dealing with multiple imputation Fathom could feed the information to Apophenia data models. Given a fairly robust knowledge base, this makes a lot of sense. Import (0.6) ------ * More robust support for CSV and YAML * OpenERP * RDF * Apophenia * Web Crawlers Value of Information (0.7) -------------------- * Shannon's Entropy * Integration of nodes with the decisions they support * Economic value of the decision * Economic value of the measurement * Guidance for areas where reduced uncertainty would have the highest ROI Publication (1.0) ----------- Turning Fathom into a better tool for publishing knowledge, there are a few major parts to add: Support for Reports: * Template-based system (possibly MVC as part of the Web Service) * Latex-enabled * Graphs and PDFs through Prawn * PDFs, CSVs through Ruport Web Service: * Basic CRUD for every node type * Traversal of the graph with good search semantics * Authentication and Authorization * HTML-based interface with strong input capabilities (mind map js, auto-build forms, dynamic forms, etc.) * Survey system Meta Data: * ontological support for systems approach to research (7 nodes / article) * ontological support for references (auto generate citations) * cleaner approach to the decision framework Causal Graphs ------------- * Add the "DO" operator to a belief network * Add the tests for causality using the DO operator This stuff gets into things I haven't finished reading yet, but it would be very interesting/important to finish that work and bring it into Fathom. This is all Judea Pearl stuff. Information Service ------------------- Using Seaside, Fathom (through the Web Service), and OpenERP, there are several products I could create using this framework: * Decision support could become custom integrated to a hosted OpenERP instance, for example. * General domain information could culled and organized and verified so that others could tie in and build only their parts of their decision support framework * Think tank support would be a very interesting place to work All of this could also be coupled with consulting and hosting services.