Beginner Questions about DAML and gcc introspector (Also UML)

Thanks to all for the nice chat session yesterday,
thanks to DanC and Bijan and Danjobe for all the tips.
Also thanks to the authors of DAML mode for emacs.

I am very excited about the modeling possibilities of DAML,
and hope that soon I will be able to translate my GCC tree-node
meta-model into DAML for review, currently it is stored in a perl based
meta-model of my own design: 
Here is for example an set of calls to perl meta-predicates that 
create the class model for the GCC introspector:
http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/introspector/introspector/CreateClasses.pm?rev=1.3&content-type=text/vnd.viewcvs-markup

From this meta-model, I generate perl/SQL class/table definitions,
when we are finished, this can be replaced by a DAML files.

The GCC uses internally a meta-definition of the tree structures
defined in tree.def
Here is an nice overview of the tree structures :
http://www.csc.liv.ac.uk/~m1sp/projects/2002/GCC/GCC-ast.html

In the end we will be able to generate a DAML definition 
out of a C header file and instances out of the objects created of
those data types, a serializer object in some sorts... but there is a
long way to get there.

I have posted my first pathetic attempt at a DAML here:
http://introspector.sourceforge.net/DAML/introspector.DAML
it is really not more than a couple of classes, but
I am posting it to try and get some feedback on some design issues.

The purpose of the DAML is to define a set of object 
that talk about objects in other software systems,
and provides an ontology for them. Specifically to describe the
components of the introspector that will be modified to exchange
xml/rdf with each other. 

The purpose of the introspector is to provide a set of hooks into
Free/open-source development tools and extract meta-data into a useful
format, also to provide an high-speed data exchange layer and GUI
by modifying existing packages.

The problem is that very many packages will have to mutated in the
course of the project and we need a way to describe their attributes
and the data extracted, I think an ontology per package would be an
naive approach.

Each introspector:Package will describe the package, how to get it, 
and try an be as compatible to things like DC and RPM stuff.

The packages will also define what interfaces they support,
like RDF dumping, or LIBXML and what input and output files formats 
they have.

On the other side,  I would like to use Sergeys UML code, and have been
looking into that. Unfortunatly, I have not been able to find any large
examples of the XMI translated into his new RDF format.
I have tried the online translator, but it dies on such big files.

Here is a link to the XMI of the new MOF, it would great to have this
translated to something more usable :

UML 1.4 in XMI :
http://cgi.omg.org/cgi-bin/doc?ad/01-02-15.xml

Here is the experimental MOF 1.4
http://www.dstc.edu.au/Research/Projects/MOF/rtf1.4/XMI1_1-Model1_4-All.xml

Here is the CWM 1.0 (Common warehouse model)
http://www.omg.org/docs/ad/01-02-03.txt

Here is a java metamodel from the netbeans projects:
http://www.netbeans.org/unbranded-source/browse/~checkout~/clazz/jmi/org/netbeans/modules/java/api/model/Attic/java-model.xml?rev=1.1.2.11&content-type=text/plain


Note that I have encountered the following problems with DAML

1. The Classes do not seems to be associated directly with the
ontology, so if I want to have multiple ontologies in a file then they
are ambiguous. Of course if this is not legal, I will have to split
them up into multiple files and bind them back in.

It seems that the name-space is the layer to to do this on,
so maybe I can put different name-spaces into the root document
and associate the classes to the ontologyies via the name-space?

2. IE6 complains about the default XLMS XML schema name-space prefix.
So I have renamed this to _xmlns and it works, will post later
<ERROR>
The name-space prefix is not allowed to start with the reserved string
"xml". Error processing resource
'http://introspector.sourceforge.net/DAML/introspector.daml'. Line 15,
Position 3 
 
  xmlns:xmls ="&xmls;#"
--^
</ERROR>
I will report this to the DAML-Mode authors.

3. What are the best ways to define an operation on an DAML Class?
I would like to define operations for the package class like
: build, install, upload, download and describe
with a method signature and so forth.

Maybe a SOAP function definition would be good? 
OpenCyc seems to handle function signatures well.... I have to read up
on this a bit more.

4. How can I comment a subclass relationship?
This is invalid according to rdfdump from raptor :
<DAML:subClassOf rdf:resource="http://www.gtk.org#Application"> 
<rdfs:comment>This applies to the subclass of. DIA is a GTKAPP because
it uses GTK. But it also contains the GTK lib. So maybe we need a new
property type?</rdfs:comment> 
</DAML:subClassOf>

Thanks and I hope to hear your feedback.

Mike

=====
James Michael DuPont
http://introspector.sourceforge.net/

__________________________________________________
Do You Yahoo!?
Sign up for SBC Yahoo! Dial - First Month Free
http://sbc.yahoo.com

Received on Friday, 19 July 2002 05:07:52 UTC