|
From: | Marcus G. Daniels |
Subject: | Re: [Swarm-Support] development priorities (was Re: Membership in Swarm Developmen Group) |
Date: | Wed, 15 Nov 2006 14:44:18 -0700 |
User-agent: | Thunderbird 1.5.0.4 (Windows/20060516) |
glen e. p. ropella wrote:
You have a program written in Java. It imports some Swarm things that happen to be implemented using compiled code. Nothing is stopping you from using network protocol enable tools in the usual Java ways.where integrating R with a network protocol enabled tool (like those written in Java) only requires an understanding of how to set up those other packages to work over, say, http.Like, say, a Swarm model written in Java?There is no such thing as a Swarm model written in Java. A Swarm model uses the Swarm scheduler, which is written in Objective-C.
Let me take another tack. It is easier to embed Swarm in an general object-oriented way in another framework because Swarm has a lot of ready infrastructure to facilitate it. That you just feign ignorance of this does not to justice to the *relative* ease with which the capability could be adapted for direct use by users. True, it hasn't been and thus it isn't obvious how to do it. If you want to have a real technical discussion about how to embed a simulator and the general issues involved, you might want to at least not revise history so much."Feasible" is not synonymous with "possible". It is certainly _possible_ to embed Swarm in all sorts of things. But, it is not feasible for most projects because a) they lack the technical expertiseand/or
There is nothing magic about running code in a JVM. As a practical matter, embedding in a .NET sandbox will get you faster startup and a larger user base. Or using Flash. Yes, it would require a new way to express models in order to run them in a browser plugin.2) other requirements (like running simulations in a jvm started from a web browser) conflict with Swarm's architecture.
DLLs run in the system allocated address process space of the JVM. Along with other DLLs that the JVM may load for its own functioning.Swarm runs fine inside a Java virtual machine -- it's a DLL and a jar file.DLLs don't run inside the jvm. Saying so won't make it true.
Swarm phases are a crude way to accomplish runtime code generation, i.e. mixes of behaviors. A more general way to do it is to have a real expression evaluator available, once that generates code that is fast enough to be comparable to a precompiled ABM simulation. With this capability agents could create new behaviors on-the-fly, say, due to mutations or recombinations of their genome. Swarm doesn't handle that well, currently.No, the question is what new and interesting things could only be done by starting from scratch. One is runtime code generation, which would be useful for the performance of evolutionary models (or inferences about possible models).No. That's not the question. The question is "How does the SDG best accomplish its mission?" The SDG was not formed to do innovative computer science or systems engineering. It was formed to support ABMers.
[Prev in Thread] | Current Thread | [Next in Thread] |