swarm-support
[Top][All Lists]
Advanced

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

Re: [Swarm-Support] IDEs - who is using what


From: Gary Polhill
Subject: Re: [Swarm-Support] IDEs - who is using what
Date: Thu, 27 Oct 2005 12:50:39 +0100

>
>
>>>> address@hidden 2005-10-26 21:37:51 >>>
>On Wed, Oct 26, 2005 at 03:00:58PM -0400, Christopher J. Mackie wrote:
>> Critical mass is a beautiful thing. I'm using Eclipse primarily now,
>> because as more contributors pile on and support more compilers, I can
>> use it for more and more types of projects -- and the more intensively I
>> use it, the more productive I become. As much as I admire those who are
>> developing their own editors for Swarm or RePast, I have to wonder if
>> the effort wouldn't be better-invested in developing
>> Swarm/RePast-specific extensions for a consensus platform like Eclipse?
>> Of course, that begs the question, if you build it, in Eclipse or some
>> competitive IDE, would they come?
>> 
>> So, I would like to ask a compound variation on the original question: 
>> 
>> 1. Do we think that the community could reach agreement on whether
>> anything would be gained on balance, for Swarm or any other ABM/IBM
>> framework, by encouraging greater standardization around a single IDE?
>> (note: 'encouraging', not 'requiring', and let's defer the question of
>> which IDE for a moment)
>
>I'm sceptical. The main problem is that I have been burned too often
>with Java thingies simply not working when installed on my Linux
>computer that I generally turn off when something is programmed in
>Java. However, if I really need something, then I will try it out. So
>far I seem to have had about a 50% strike rate in Java - much less
>than the 95% or so strike rate I've had with compiled code (C, C++ or
>in the case of Swarm Objective C).
>
>Having said that, I am seriously contemplating evaluating RePast
>and/or MASON.

I see no benefit in encouraging standardisation around a particular IDE. Code 
is code, and it shouldn't make any difference what environment it was written 
(if it does, then that's a potentially serious issue if it introduces a bias of 
some kind into the model). I imagine preference for a particular IDE will be a 
highly individual thing, much as preferences for certain tools in other trades 
are individual.
>
>> 
>> 2. Would there be further net benefits from encouraging standardization
>> on an IDE across ABM/IBM frameworks and the ABM/IBM community more
>> generally? 
>> 
>
>There is perhaps some benefit in standardising on an specification
>language (UML perhaps) for agents that can be auto translated into
>target implementation languages. One of my gripes at present is that I
>wouldn't mind an automatic way of producing a Java version of my model
>that could run in someone's browser with less demanding computational
>inputs.
>
>However this has to be done without resorting to the lowest common
>denominator of the supported languages. And translation has to be
>automatic, and hopefully two-way. Alas I fall into the category of
>finding raw C++ code easier to read than UML diagrams.

FWIW, I'd suggest OWL (Web Ontology Language -- 
http://www.w3.org/TR/owl-guide/) rather than UML. UML is quite specific to OO 
modelling, and there are various members of the ABM community who prefer 
declarative programming paradigms and might struggle to express themselves 
naturally in UML. Ontologies also give the scope to describe a bit more about 
the conceptual context of a model, creating the potential that one day it would 
be easier than it is now to compare models if many people did it. OWL is also 
machine-processable and based in description logics, allowing automated 
reasoning about ontologies.

Personally I also have a distaste for UML because it very heavily overloads 
boxes and arrows. I can never read a UML diagram without a glossary reminding 
me of what all the different kinds of line and arrowhead mean. ... And that 
assumes that people creating the diagrams are being consistent. I have reviewed 
a few papers purporting to have UML class diagrams in them, and no two of them 
used the same kind of arrow to indicate that one class is a subclass of another.
>
>> 3. And if the answer to either of those questions is 'yes', would it
>> make more sense to standardize on a minimalist framework (e.g.,
>> something ABM-product-specific), on a heavyweight but modular framework
>> like Eclipse, or on something else (e.g., emacs, ...)?
>> 
>> I'm particularly curious to know what others see as the pros and cons of
>> any such standardization effort.

A lot of people coming in to ABM find it a bit anarchic. This is probably a 
fair criticism. Before working with ABM I worked on Neural Nets (NNs). NNs can 
approximate any function to an arbitrary degree of accuracy. That kind of power 
comes at a cost--you are not really told much about the structure of the target 
system you are modelling. Consider modelling an oscillatory system, for 
example--given you know it's an oscillatory system, you'd be better off trying 
to model it by superposing sine waves than with an NN, because that way you'd 
find out more about the system. With ABMs, there is a similar issue--you are 
only restricted by what you can do with the programming language you have 
chosen, which isn't much of a constraint (if you're a decent programmer 
;-)--hence the perception of anarchy and the frequent calls for 
standardisation. The question is, will standardising on programming languages, 
diagramming tools, development environments, or any particular technology deal 
with this issue usefully? I'd suggest not, because such a standardisation would 
impose the wrong kind of constraint on the way we go about building models. If 
we do standardise, I think it should be to constrain ourselves methodologically 
rather than technologically.

Gary




reply via email to

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