swarm-support
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: scripting support for swarm ?


From: Marcus G. Daniels
Subject: Re: scripting support for swarm ?
Date: 12 Dec 2001 12:08:35 -0700
User-agent: Gnus/5.070084 (Pterodactyl Gnus v0.84) Emacs/20.7

>>>>> "DK" == daniel kottow <address@hidden> writes:

DK> but i think i will give the python/xpcom/swarm alternative a first try.

There's a `generate' target in the COM/ build subdirectory that
generates the IDL and stubs.  cd into the `c' subdirectory to actually
compile them.  The first two lines of that Makefile should point at
the Mozila source and build directories.  It has't been run for a
while, but it should be easily fixable.  Let me know if you try.

DK> anyway, i think i have a slightly different expectation on
DK> using scripting: its not that i want to develop things in a
DK> scripting language, but rather glue/control/debug objects like
DK> agents and swarms which i will will probably continue to write in
DK> objective C. which means i will have to maintain my own
DK> interfacing protocol overhead to the scripting language while i go
DK> along developing objc code. 

Yeah, for speed and reuse it would be nice to have a modular way to
integrate natively compiled agent objects.  It ought to be possible to
package the Swarm interface processor to do that for Objective C
(provided the author can provide a set of protocols for the module),
as it works for Swarm itself.  Running the processor could either generate
a Java .jar file or an IDL file for the library, along with the appropriate
shared library wrapper (that would link against the module implementation).

For Java or C++, the processor wouldn't be needed, since there are
tools and conventions for doing XPCOM with these languages.  Swarm can
make the needed callouts to XPCOM or Java.  The only hitch with Python
is that the active symbols in the runtime aren't communicated automatically
to COM.  You need an IDL file.  For JavaScript, at least, this didn't seem
appropriate to me, so Swarm has additional features for calling JavaScript
directly (e.g. from Actions and MessageProbes) without the help of XPCOM.

Here's a diagram of how the Swarm interface processor relates to
IDL/COM & Java.


           +-------------------+
           |   Your Module     |               
           |  with @protocols  |               
           |                   |               
           +-------------------+               
                     |                         
                   -------                     
                --/       \--                  
               /   Swarm     \
               |   protocol  |
               \   processor /                         
                --\       /--
                 / --------
                /          \
 +--------------+   +--------------+
 | IDL (for C++ |   |  Java .jar   |
 | or Python)   |   |    file      |
 +--------------+   +--------------+
        +                 +
 +-------------+   +---------------+
 | COM stubs   |   | JNI stubs     |----------> Java Virtual Machine
 | shared lib  |   | shared lib    |                                
 +----+--------+   +---------------+
      |  -----
      |       \-------
      |               \-------
      V                       \-->  Microsoft .NET 

   Mozilla

                  ==================================
   Swarm-Support is for discussion of the technical details of the day
   to day usage of Swarm.  For list administration needs (esp.
   [un]subscribing), please send a message to <address@hidden>
   with "help" in the body of the message.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]