Hans, (01)
I'm glad that you liked the article. (02)
> When I read that architecture article I thought: Wow,
> I'd like to have that FMF! But at the same time I realized
> that it would be too complex for "normal" IT persons working
> in the industry. Grand designs are thoroughly mistrusted in
> our industry. (03)
Au contraire. The design is extremely simple from the
developer's point of view. Each module can be as big or
small as you like, and all it does is to respond to input
messages and generate output messages. The message format
contains six fields: (04)
1. Message id. (05)
2. Sender id. (06)
3. Recipient id (if blank, the message is posted to a
Linda Blackboard, where it can be associatively
retrieved by any module that knows what to do with
messages that match the patterns it's looking for). (07)
4. Speech act, which specifies why this message is being
sent. (08)
5. Language identifier, so that any recipient can determine
how to read it or where to send it for translation. (09)
6. Message in whatever language is specified in #5 for
whatever purpose is specified in #4. (010)
That's all. The real power comes from the collection of
modules that are made available. And for ease of development,
we have a GUI that allows developers to build new modules as
combinations of existing modules or to construct a complete
system (which may be stand alone or a module or both) -- and
you can even have a complete FMF system nested inside any
module. They can be nested as many levels deep as you like. (011)
And you can even take any existing system and put a wrapper
around it to make it look like an FMF module. We have already
done that for some relational DBMSs so that any module can
send them SQL queries and updates and get responses from them.
We also have modules that translate RDF and OWL to Common Logic
for communication with modules that process CLIF or CGIF. (012)
Eventually, we are planning to make the FMF platform available
as open source software and to make a business out of building
and selling modules. Think Lego blocks for computer systems.
We give people a starter kit and make money after they're
addicted -- somewhat like the tobacco companies. (013)
> ... we really have to do our utmost to hide the complexities
> of our OWL implementation for "normal" users and IT persons,
> and still make it maintainable and extendible. (014)
A couple of points: We have modules for converting Common Logic
to and from CLCE (Common Logic Controlled English): (015)
http://www.jfsowa.com/clce/specs.htm (016)
So we can let any human monitor the activities of the agents by
reading their messages in CLCE (at least for those messages that
are written in a dialect that can be translated to CLCE or other
humanly readable format). And the human can communicate with the
FMF modules by sending them messages -- i.e., by using a module
that translates the human GUI or text input to FMF messages. (017)
Modules can run on any operating system, even on cell phones.
You can even take a tiny little sensor and make it a module
that generates messages about temperature, humidity, or whatever
RFID tags happen to be in the vicinity. (018)
Summary: The FMF can be extended or updated at any time just by
adding new modules or putting wrappers around any kind of hardware
or software. Instead of embedding "device drivers" into the OS,
you just put a wrapper around any kind of device, and it becomes
a module. If you don't know what kinds of printers are connected
to the system, you just send a message with a blank recipient id,
and ask "Can anybody print this message?" But don't tell Microsoft,
because the FMF makes the operating system irrelevant. (019)
John (020)
_________________________________________________________________
Message Archives: http://colab.cim3.net/forum/ontac-forum/
To Post: mailto:ontac-forum@xxxxxxxxxxxxxx
Subscribe/Unsubscribe/Config:
http://colab.cim3.net/mailman/listinfo/ontac-forum/
Shared Files: http://colab.cim3.net/file/work/SICoP/ontac/
Community Wiki:
http://colab.cim3.net/cgi-bin/wiki.pl?SICoP/OntologyTaxonomyCoordinatingWG (021)
|