Re: Reasoning engine

--- Jingdong Liu <jingdong.liu@sympatico.ca> wrote:
> 3. XML, RDF, OWL, ... are expressive languages in essence. Is current
> programming language good enough to fit with them (or knowledge
> engineering
> in broader view), or new programming languages are needed beyond
> lisp,
> prolong, ...? 

Yes and no....
My view is that logical languages are good prototyping languages,
but eventually people want to freeze it, lock it down, and compile it
down into C/C++. 

> Also, most of software engineers are equipped with Java
> and
> C/C++ now. Does the future software engineering sit on a combination
> of
> expressive and programming languages, or a single language with both
> capabilities?

The introspector project aims at joining RDF and the semantic web with
C++/C/Java. 

Currently we are alpha-testing a patch to the gcc compiler that 
extracts contents of C/C++/Java Programs into RDF/Ntriples.

We are working on producing an RDF api into C, this is provided via the
redland API, and supports C and via swig about 10 other languages. 
Currently our programs are prototyped outside of the system, based on
dumps of the n3.

Later on we will be able to embed a interpreter for n3 like euler/cwm
into the compiler and allow compile time evaluation of rules, based on
a realtime feed from the compiler.

After that the next step is embed the logical interpreter in runtime
environment. 
For me is a logical extension of the ECMA 355 metadata access layer.
You will see that a meta-data encoding system is needed.
http://dotnet.di.unipi.it/EcmaSpec/PartitionII/

Basically I would like to see that the RDF is encoded directly into a
standard metadata library that is encoded directly into ECMA 355
metadata, or into parrot metadata. (www.parrotcode.org)
Then you will have a highspeed and standard way to embed metadata into
your executable.  

This next generation RDF APIs will allow for you access this data
nomatter where it is stored. I can imagine an Redland storage that sits
directly on the dotgnu/pnet metadata lib, you dont even need parsing.
The same goes for the gcc and the parrot.

Later when the gcc will produce managed executables, or when you use
the Pnet Mangaged C compiler, you will be able to take advantage of
this metadata inside of your runtime. 

So you can see there is a clear path from the logical program that
processes RDF containing Metadata about C programs to C Programs that
process thier own metadata. 

When that stage is reached, it will be be possible to write mixed
language programs that combine elements of logical programming and C
programs. By allowing a standard RDF API and a calling convention
between logical programming languages and C.

Then you can have the view of execution of the logical languages : 
1. External Interpretation of the RDF
2. advanced techniques that the compilation to   
     ECMA355/IL
     Parrot 
     or C
3. Embedding of the Interpreter inside of the C Compiler 
4. Embedding of the Interpreter in the C runtime env. 

I dont think this answers your question exactly, but it represents my
current view for this issue. 

Hopefully I did not confuse you with this longwinded message.

mike

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

__________________________________________________
Do you Yahoo!?
Yahoo! Tax Center - forms, calculators, tips, more
http://taxes.yahoo.com/

Received on Friday, 21 February 2003 12:16:32 UTC