Re: Beginner Questions about DAML and gcc introspector (Also UML)

Warning, this is a long winded email, 
hope that you dont fall asleep reading it!
Feel free to delete it now to save time and space.
:)
mike
--- David Saff <saff@MIT.EDU> wrote:
> This seems to me to be a broken link.
Oh how embarassing!! I spellchecked the doc, and replaced daml with
DAML, gcc with GCC, and killed the linkes!!!! sorry!

Here are the links again :
A very nice overview of the gcc trees:
    http://www.csc.liv.ac.uk/~m1sp/projects/2002/gcc/gcc-ast.html
My pathetic attempt at DAML
    http://introspector.sourceforge.net/daml/introspector.daml

> The intent of your project seems interesting.  (Perhaps offline), I'd
> be interested to hear the usage scenarios you see it possibly 
> enabling.
I hope you excuse me for posting back to the list, 
but this might be interesting to all. If you feel it is off topic,
please tell me.

I am working on a formal set of use cases, but usage scenarios are
roughly the understanding, re-engineering and enriching existing
software by adding in of more semantic information and by the
extraction of the existing meta data in a form that can be
automatically processed.

By adding features to the Gcc and other GNU tools that make it easier
to allow the end user to manipulate their own software, we raise the
quality and the amount of freely available meta data in the world. 

I am trying to lay a groundwork for a literal programming[1] /
intentional programming[2] style work, but my approach is different.

Most people are concerned with making a closed system that has a fixed
interface and can be sold. My idea is to enrich the existing open
source projects with new interfaces, and create a high speed and secure
data gateway of meta data.

See also the TUNES[3] for a real professional/theoretical approach to
the same problem. My approach is more interactive and chaotic.

My work is being done on my free time, and is very chaotic like I am,
I have many open and unfinished tasks, the project might not look very
impressive, but have been working on consistently for over 2 years now.

Applying the ideas of the semantic web to source code of programs I
think is an interesting approach.

My promoting the exclusive usage of free software is what makes my
project different than for example cppx[3] from the university of
waterloo.

And my project is more far reaching and questionable than the gcc_xml
[4] from Brad King

my basic approach is that a program is not just for compiling, but
in fact it is a message to another person, but indirectly via the
compiler and tools. As a message it is interpreted by these artifacts,
but in the end the semantics  of the program are meant for people to
understand. If we provide ways to mark up and transform computer
programs, and ways to extract meta-data out of the existing software,
all will benefit.

If you specify a data type to a c compiler, you are providing
information to the compiler writer how to deal with that type on an
abstract basis, even if you are just dealing with the an artifact (the
compiler) produced by him, in fact it is a form of communication.

My approach is to modify existing software and enhance it with XML
dumping of the memory structures.

The RDF/DAML+OIL seems to provide the descriptive language to handle
the type of things that I would like to say about the programs.
That will provide a whole set of tools that are meant to process
the semantics of the web to the users trying to process the semantics
of programs. This is the difference between my propsal and the GXL
[6]format that is used for program data.

Currently I am evaluating redland rdf lib, there are many tools and
language support the libxml and that will allow it to be used as a high
speed data transport layer.

Each object in the memory of the computer is normally some
representation of something outside of the "system" it that could be
associated with a resource or be treated as a resource for mark up. 

By providing a standard way to transform memory into RDF statements in
memory and provide read and write access to that memory via an RDF api,
we can build very fast and flexible systems.

By adding in an extra data pointer to some internal data structure into
the subject or object of the rdf statement and providing a read/write
api and method calls to those interfaced object we can provide a whole
range of "semantic APIS" where not only data but functions are exposed.

A corba like system could be used to make the whole thing transparent
to the network.

> > 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 ontologies via the name-space?
> 
> This is the first time I've heard of anyone trying to define multiple
> ontologyies in a single document.  

I guess it does not make that much sense, just that 
each project interfaced to has its own ontology that captures the data
inside it. The introspector ont. describes how to get at this data and
what they are.

>(Not that I've been listening as
> long
> as many on this list).  What are the requirements of your environment
> that would make a single document make the most sense?

No requirements, just a question, i will split them up into multiple
libs, that makes more sense.

> 
> I'm pretty much a beginner as well in RDF/XML (I find N3 much easier
> to start with), so I hope that someone will correct this if it's 
> wrong, but could you do:
[SNIP]
Thanks I will try that out. Thanks for the tip.
:=)

Mike

References
[1] literal programming on google directory :
http://directory.google.com/Top/Computers/Programming/Methodologies/Literate/
[2] Overview of IP:
    http://www.omniscium.com/nerdy/ip/
    Yahoo Group for IP:
    http://groups.yahoo.com/group/intentionalprogramming/
[3] The TUNES Project for a Reflective Computing System 
    http://tunes.org/
[4] CPPX
    http://swag.uwaterloo.ca/~cppx/
[5] gcc_xml
    http://www.gccxml.org/
[6] GXL 
    http://www.gupro.de/GXL/


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

__________________________________________________
Do You Yahoo!?
Yahoo! Autos - Get free new car price quotes
http://autos.yahoo.com

Received on Friday, 19 July 2002 12:04:50 UTC