[sc34wg3] first release of Versavant
Steven R. Newcomb
02 May 2005 11:23:08 -0400
Last night I released my "Versavant" multi-TMA topic mapping engine
under the Apache License 2.0. It's supposed to appear at
http://versavant.sourceforge.net, but for some reason it hasn't shown
up there. It's also available at http://www.versavant.org/releases.
It's an early release, in accordance with the open-source mantra,
"Release early, release often". Expect problems, but be assured
that I care whether you have problems with it. Also, be aware
that I can use some help, if you're interested and capable.
It's an implementation of the "Versavant Disclosure Discipline", which
is a particular way -- I think an attractively minimalist way -- to
disclose and implement a Topic Map Application. Basically, a TMA
disclosure in Versavant is a small set of functions for each property
class, and a function for each "conferral rule" (see below). Each of
the functions is an instance of a "function class" that Versavant
knows when and how to call.
Some talking points about Versavant:
* The Versavant software does not implement the TMDM, but I think if
we can have a disclosure of TMDM in TMRM terms, a TMDM
implementation can be plugged into it, along with implementations of
other "Topic Map Applications (TMAs)". The Versavant engine is a
"TMA bus". I also call it a "subject addressing engine".
* Versavant supports "conferral rules". The draft TMRM says that TMA
disclosures must disclose any rules for making whatever's implicit
in a topic map explicit. In Versavant, such rules are called
"conferral rules" because they confer properties on subject proxies
(aka "topics"), and subject proxies can even be "conferred into
existence" by such rules. Conferral rules are power tools for
making subjects addressable.
* It supports the auditing of every property value. You can see how a
property value came to have the value that it has, through merging
and conferral operations, back to all of the "original population
tasks" from which its value was derived.
* It encapsulates the disclosures of the TMAs that govern a given
topic map in the interchangeable form of the topic map. When you
receive a Versavant XML topic map, it knows how to merge itself with
topic maps that are governed by any of the same TMAs. If you want
to merge it with topics that are governed by other TMAs, you can
devise "bridging TMAs" that will automate the job, with full
knowledge of how the existing governing TMAs work. The disclosures
are right there in the interchangeable topic map.
* TMAs -- their value types, property classes, and conferral rules --
are reified in Versavant topic maps. Versavant has a built-in TMA
called "Vsys" that provides the value types and property classes
necessary to allow this. Thus, the metadata and the data are
equally privileged in Versavant topic maps. Vsys is just one of the
TMAs that happens to be plugged into the bus. No subjects -- not
even the subjects that are the governing metadata of the topic map
-- are exempt from merging and addressability in Versavant.
Steven R. Newcomb, Consultant
Co-editor, Topic Maps International Standard (ISO 13250)
Co-drafter, Topic Maps Reference Model
direct: +1 540 951 9773
main: +1 540 951 9774
fax: +1 540 951 9775
208 Highview Drive
Blacksburg, Virginia 24060 USA