Ed, I have some documentation on Crystal although it hasn't been brought up to date with my latest experiments.
The central conceptual idea is that the problem resides in a krops-style knowledge network which is surrounded by a "crystal" consisting of many different facets. Each facet retrieves, formats, displays, and manipulates the problem. (It's a model-view-controller pattern). Think of your problem as a graph floating in space surrounded by a clear crystal, each facet maintaining a view of the graph. The problem you are working on is embedded in the graph and the views in the facets. Thus, trivially, the documentation facet, the source code facet, the literate facet, etc. "Rotating" the crystal to a new facet gives a new view of the same problem. The crystal maintains an "intensional stance" (IS), a representation of the state of the researcher that is used to predict goals. The IS is used to drive things like literature searching in the background to present related papers. It also modifies the connections between facets, or creates new facets, so central focus concepts are emphasized on each visible facet. Essentially it is a "research assistant", working to modify itself to match your needs. The IS is interactive and queries you to add or resolve information need to maintain or update the stance. Because the crystal is adaptive it learns a deep view of your knowledge about the problem. Thus copying knowledge from your crystal to mine is a non-trivial task. Think of two people, a computer person and a circuit designer. Each one has a completely different "knowledge graph" around the concept of a "register". They use the same word but mean completely different things. Your crystal knows what you mean by a "register", which may not be what I mean. This raises interesting "knowledge transfer" questions. Krops is a prior piece of research I did that unifies a knowledge representation graph (essentially Eric May's Krep) and a rule based programming language (essentially Charles Forgy's OPS5). The krops object can be viewed in either form as the representations are dual. There is an isomorphism between a rete rule tree and a knowledge graph. Krops was the language underlying IBM's Financial and Marketing Expert System (FAME). Needless to say this involves a "petamachine". That is, a machine with a terahertz of cpu, a terabyte of memory, a petabyte of storage, a terahertz of bandwidth, and a continuous connection to a flow of newly published research papers (hopefully in a literate format) which can be stored, indexed, pushed into the krops net, searchable by concept, imported, compiled, executed, etc. Each facet has its own CPU, many processors can search literature in parallel (see Google's MapReduce algorithm but using Krops and inflowing literature). I guessed that such a petamachine was 30 years out but found out that a petabyte of storage isn't all that expensive anymore and 400 2.5Ghz processors is on the near horizon. The big problem will be the mathematical literature. You can put all of the known published mathematics in a petabyte of storage. What you'd like to have is a continuous stream of recent "publications" (essentially exports from other crystals) so you can keep up to date. Unfortunately the idea of continuously sharing literate documents in mathematics has a huge social/economic/political/technical set of barriers. (Who gets "first idea"? (social) Who pays? (economic) Who gets tenure? (political) What literate format? (technical)). I've started addressing this problem with Carlo Traverso, the head of the Math Dept. at the University of Pisa but progress is glacial at best. We'd like to have a "live journal" (Carlo's term) or a "literate journal" (my term) where researchers could submit literate papers that could be just "drag-and-dropped" onto a common system. The work on the common system already exists and is being done by Jose Portes, the Doyen project. I started that originally at City College of New York. Jose has done all of the implementation, documentation, and publication. See <http://doyencd.sourceforge.net>) The crystal work is mentioned in my axiom research agenda, which used to be maintained (up until October of 2004) when the wiki went live at: <http://daly.axiom-developer.org/axiom-website/currentstate.html> There you can see the crystal idea mentioned, including KROPS, IS, etc. When I recover the Axiom website I'll put up documentation that describes the current state of the research. Tim _______________________________________________ Axiom-developer mailing list [email protected] http://lists.nongnu.org/mailman/listinfo/axiom-developer
