Hi!
This is a very interesting discussion and I guess I can contribute something.
I have written some kind of XML wrapper for Jess. This was due to the fact that I needed to handle XML messages for change notification purposes. In my system there are various (sometimes rather simplified) DTDs that correspond to Jess facts, deftemplates, and rules.
For example, a fact can be asserted from the following sample message
<Literal name="scott-emp-insert" ...>
<Term name="empno" type="long">1</Term>
<Term name="ename" type="String">Thomas Barnekow</Term>
...
</Literal>
The notions are taken from First Order Logic. This way, the DTD is independent from a specific expert system, so you can eventually make different systems interoperate.
I use the UML for modeling purposes, so I also created my own very simple DTD (based on a pragmatically simplified version of the UML metamodel) for storing equally simple models. These models are used to auto-generate deftemplates in Jess. I did not use XMI (XML/eXtensible Metadata Interchange) because it would have been an overkill for my specific application.
Lastly, I designed a DTD the purpose of which is to represent simple logic programs (collections of Horn clauses containing no functions other than constants, to be specific). Conforming documents (i.e., programs) can be defined as Jess rules. As for the literals the notions are taken from First Order Logic in order to provide a generic representation mechanism.
One big advantage is that one can easily use XML-enabled repositories or databases in order to store and manage everything that needs to be made persistent. In a first version of my system I used KIF (Knowledge Interchange Format) as a general representation mechanism. And I can tell you, now I'm an absolute pro in creating scanners and parsers... But at some point, after having generated the n+1st compiler for yet another thing to represent, I came to the conclusion that XML could simplify matters a lot. It's not a panacea, though, because you actually just "migrate" your problems to another level of abstraction (and they don't just "go away" by using XML). But the increasing number of tools does make life, or hacking, a little easier. Moreover, acceptance will be a lot better.
Shall we try to create, or use, some standard?
Greetings
Thomas Barnekow
________________________________
Dipl.-Inform. Thomas Barnekow
Fraunhofer IAO, Competence Center Software Technology
| mail: | Nobelstra�e 12, D-70569 Stuttgart, Germany |
| phone: | +49 (0) 711 / 970 - 2346 |
| fax: | +49 (0) 711 / 970 - 2300 |
| email: | [EMAIL PROTECTED] |
| web: | http://www.swt.iao.fhg.de |
