Re: [FRIAM] ABM - OO

2008-01-22 Thread Stephen Guerin
Hi Alejandro,

The best language for ABM is the one you know. :-)

BTW, a few years back we did an ABM-like php script that laid out labels in a
scatterplot to minimize label overlaps. You can see examples of the script
running with optimized and non-optimized versions here:
http://www.redfish.com/projects/BostonLearning/rfGraph/examples.html

The .php code is attached and support files can be downloaded from here:
http://www.redfish.com/projects/BostonLearning/rfGraph/



 Although I've never seen a simulator written in php5 it seems 
 to me that it's an interesting and  promising tool for 
 simulations. ¿Are php5 OOP capabilities good enough for 
 ABMs?,  ¿ Am I in risk of being  example of an everlasting 
 amateur programmer death while trying ABMs with PHP5? 



matrix.php
Description: Binary data

FRIAM Applied Complexity Group listserv
Meets Fridays 9a-11:30 at cafe at St. John's College
lectures, archives, unsubscribe, maps at http://www.friam.org

Re: [FRIAM] ABM - OO

2008-01-22 Thread Douglas Roberts
In a word, Yes.  You will be consigned to everlasting amateur programmer
death.

On the other hand, you can fake OO programing methodologies in just about
any language, and you can force-fit just about any implementation into
whatever the paradigm du Jour happens to be.  But, if you want to do a job
properly, you need the right tools.

If you just want to build a toy ABM on top of an OO software design, then
there are plenty of toy languages available to play with.  See

http://en.wikipedia.org/wiki/Object-oriented_programming_language

for a good list of all the choices.  Some are mature languages; others
aren't.  Some provide full-featured OO environments; others don't.

If you want to build a professional ABM system for a real-world application
that will be maintainable, scalable, extensible, etc.  then the list of
appropriate tools is much shorter.  Throw in features necessary to support
running the ABM in an HPC environment and the list is shorter still.

The appropriate choice of OO language for implementing your ABM will depend
on what use you intend for the application.



In considering the above opinion, as always, Your Mileage May Vary.

--Doug

-- 
Doug Roberts, RTI International
[EMAIL PROTECTED]
[EMAIL PROTECTED]
505-455-7333 - Office
505-670-8195 - Cell

On Jan 21, 2008 10:33 PM, Alfredo Covaleda V [EMAIL PROTECTED]
wrote:

  Hello

 Months ago you had a discussion respect ABMs-OOP and you referred to some
 suitable languages.  I wonder how appropriate are python and PHP5 to make
 simulations. ¿Are comparable C++, smalltalk, ruby, python and PHP5 ?

 Although I've never seen a simulator written in php5 it seems to me that
 it's an interesting and  promising tool for simulations. ¿Are php5 OOP
 capabilities good enough for ABMs?,  ¿ Am I in risk of being  example of an
 everlasting amateur programmer death while trying ABMs with PHP5?

 Regards

 Alfredo





 Marcus G. Daniels wrote:

 Prof David West wrote:


  Objects should be able to interact with bare hardware and not rely on OS
 or other environments - like the Smalltalk image.



  With the resurgence of virtualized instruction sets, e.g. Java and .NET,
 and good hardware/software support via VMware, Parallels, KVM, and Xen,
 perhaps we can hope to see more high performance implementations of OOP
 as it was meant to be..  The Right Thing running fast bare on the
 hardware (almost).   Just bought 16 GB of RAM for less than $2k.

 On a related topic, check out VMware Workstation 6 which now has trace
 and replay.   No more guessing how to reproduce conditions that led to a
 model (or whatever) getting in to a weird state.   Just back up!


 
 FRIAM Applied Complexity Group listserv
 Meets Fridays 9a-11:30 at cafe at St. John's College
 lectures, archives, unsubscribe, maps at http://www.friam.org



 --

 
  Alfredo Covaleda Vélez
Ingeniero Agrónomo
   Programador
 
   Compre y venda sus libros en:
  http://www.loslibrosusados.com
 
 Too many waiting for that lucky break (PM)


 
 FRIAM Applied Complexity Group listserv
 Meets Fridays 9a-11:30 at cafe at St. John's College
 lectures, archives, unsubscribe, maps at http://www.friam.org


FRIAM Applied Complexity Group listserv
Meets Fridays 9a-11:30 at cafe at St. John's College
lectures, archives, unsubscribe, maps at http://www.friam.org

Re: [FRIAM] ABM - OO

2008-01-22 Thread Glen E. P. Ropella
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Douglas Roberts on 01/22/2008 05:37 AM:
 The appropriate choice of OO language for implementing your ABM will depend
 on what use you intend for the application.

It literally amazes me... yes, I know that phrase is a bit of a
platitude; but it really does catch me off-guard ... that people don't
know this fact... or sporadically forget it.

Everything you do fundamentally depends on why you're doing it.  It's so
simple, it's cliche'.

But there are so many reasons to forget it.  For example, some people
become familiar with one tool and, from that point forward, use only
that tool regardless of their purpose.  Some people believe they can't
successfully use a tool they don't understand intimately; so they throw
up a psychological barricade.  Some people invest so much of their time,
energy, reputation, and money in some domain or tool that conservatism
kills them in the end.  Still others just bite off more than they can
chew by (unjustifiably) believing that they can get by with whatever
crap lies at hand and refusing to admit that they need to do serious
infrastructure work to achieve their objectives.  Some go to
extraordinary lengths to coerce a tool into something it's not.  (My
hammer is the best screwdriver on the planet! ;-)  And some just get
too comfortable living off the returns on past investment that they fade
away.

Hence, my answer to Alfredo's question differs a bit from the others.
There's only one way to know how well you will do at developing ABM
models with PHP.  Do it!  If you don't do it (yourself), then you'll
never know... you'll be at the mercy and whim of experts... who, for
the most part, don't know any better than you do.

And if you admit up front that you don't care enough, don't have the
time, don't have the money, don't have the energy, hate to fail, etc.
to actually _waste_ your time trying to do the work yourself, then you
already have the answer.  If you're thinking that way, then most
everyone else is thinking that way, too.

- --
glen e. p. ropella, 971-219-3846, http://tempusdictum.com
The state is the great fictitious entity by which everyone seeks to live
at the expense of everyone else. -- Frédéric Bastiat

-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.6 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFHli9MZeB+vOTnLkoRAmUfAKCuVTuJMIjWV1V1SHcjNBZtgQLvQACgyBhf
gjp+eH9fNs8KkfESOoRbP6I=
=h/SC
-END PGP SIGNATURE-


FRIAM Applied Complexity Group listserv
Meets Fridays 9a-11:30 at cafe at St. John's College
lectures, archives, unsubscribe, maps at http://www.friam.org


Re: [FRIAM] ABM - OO

2008-01-21 Thread Alfredo Covaleda V

Hello

Months ago you had a discussion respect ABMs-OOP and you referred to 
some suitable languages.  I wonder how appropriate are python and PHP5 
to make simulations. ¿Are comparable C++, smalltalk, ruby, python and PHP5 ?


Although I've never seen a simulator written in php5 it seems to me that 
it's an interesting and  promising tool for simulations. ¿Are php5 OOP 
capabilities good enough for ABMs?,  ¿ Am I in risk of being  example of 
an everlasting amateur programmer death while trying ABMs with PHP5?


Regards

Alfredo




Marcus G. Daniels wrote:


Prof David West wrote:
 


Objects should be able to interact with bare hardware and not rely on OS
or other environments - like the Smalltalk image.
 
   

With the resurgence of virtualized instruction sets, e.g. Java and .NET, 
and good hardware/software support via VMware, Parallels, KVM, and Xen, 
perhaps we can hope to see more high performance implementations of OOP 
as it was meant to be..  The Right Thing running fast bare on the 
hardware (almost).   Just bought 16 GB of RAM for less than $2k.  

On a related topic, check out VMware Workstation 6 which now has trace 
and replay.   No more guessing how to reproduce conditions that led to a 
model (or whatever) getting in to a weird state.   Just back up!




FRIAM Applied Complexity Group listserv
Meets Fridays 9a-11:30 at cafe at St. John's College
lectures, archives, unsubscribe, maps at http://www.friam.org

 




--


Alfredo Covaleda Vélez
  Ingeniero Agrónomo
 Programador

 Compre y venda sus libros en:
http://www.loslibrosusados.com

Too many waiting for that lucky break (PM)


FRIAM Applied Complexity Group listserv
Meets Fridays 9a-11:30 at cafe at St. John's College
lectures, archives, unsubscribe, maps at http://www.friam.org

Re: [FRIAM] ABM - OO

2008-01-21 Thread Russell Standish
The issue is not so much on programming language. In theory any
universal language is sufficient. In practice, object orientedness
helps a lot. Also needed are a range of plugin tools and libraries,
such as graph visualisers, statistics accumulators and the like, which
is where the frameworks come into play. And a necessary precursor for
these to work is some kind of runtime reflection so that agent
(object) structure can be inferred by the tool.

At this stage, there are only a limited number of environments
available, corresponding to an assortment of Java environments, a few
logo environments, and one each of Objective C, C++ and Smalltalk environments.

I would suspect that you would end up having to replicate a lot of
what is done in Swam, Repast or EcoLab by choosing another language
such as PHP, but if that is your bent, then there's nothing stopping
you.

Cheers


On Tue, Jan 22, 2008 at 12:33:38AM -0500, Alfredo Covaleda V wrote:
 Hello
 
 Months ago you had a discussion respect ABMs-OOP and you referred to 
 some suitable languages.  I wonder how appropriate are python and PHP5 
 to make simulations. ¿Are comparable C++, smalltalk, ruby, python and PHP5 ?
 
 Although I've never seen a simulator written in php5 it seems to me that 
 it's an interesting and  promising tool for simulations. ¿Are php5 OOP 
 capabilities good enough for ABMs?,  ¿ Am I in risk of being  example of 
 an everlasting amateur programmer death while trying ABMs with PHP5?
 
 Regards
 
 Alfredo
 

-- 


A/Prof Russell Standish  Phone 0425 253119 (mobile)
Mathematics  
UNSW SYDNEY 2052 [EMAIL PROTECTED]
Australiahttp://www.hpcoders.com.au



FRIAM Applied Complexity Group listserv
Meets Fridays 9a-11:30 at cafe at St. John's College
lectures, archives, unsubscribe, maps at http://www.friam.org


Re: [FRIAM] ABM - OO

2008-01-21 Thread Marcus G. Daniels
Alfredo Covaleda V wrote:
 Months ago you had a discussion respect ABMs-OOP and you referred to 
 some suitable languages.  I wonder how appropriate are python and PHP5 
 to make simulations. ¿Are comparable C++, smalltalk, ruby, python and 
 PHP5 ?
The odd one out there is C++, which is isn't dynamically typed like the 
others.   Basically that constraint makes it easier for the compiler to 
optimize for speed but makes the process of modeling more rigid.  
Dynamic typing may be a benefit or a drawback depending on your 
perspective.  If your goal is to test a specific hypothesis, using a 
very specific simulation, you probably won't care about dynamic typing.  
On the other hand, if you are trying to use the computer to poke around 
a space and understand relations intuitively, and incrementally tweak 
rules, you'll probably find it useful.

Btw, today there was a new `Parrot' release, the new dynamic virtual 
machine underlying Perl 6.   One interesting feature of this runtime is 
that the set of `opcodes' is mutable:

http://www.parrotcode.org/faq/
http://www.sidhe.org/~dan/blog/archives/000409.html

Seems like this could be an interesting way to set up an ABM system -- 
actual bytecodes for agent step instructions, etc.

Marcus


FRIAM Applied Complexity Group listserv
Meets Fridays 9a-11:30 at cafe at St. John's College
lectures, archives, unsubscribe, maps at http://www.friam.org


Re: [FRIAM] ABM - OO

2008-01-21 Thread Russell Standish
On Mon, Jan 21, 2008 at 11:22:33PM -0700, Marcus G. Daniels wrote:
 Alfredo Covaleda V wrote:
  Months ago you had a discussion respect ABMs-OOP and you referred to 
  some suitable languages.  I wonder how appropriate are python and PHP5 
  to make simulations. ¿Are comparable C++, smalltalk, ruby, python and 
  PHP5 ?
 The odd one out there is C++, which is isn't dynamically typed like the 
 others.   Basically that constraint makes it easier for the compiler to 
 optimize for speed but makes the process of modeling more rigid.  

EcoLab gets around this using a technology called Classdesc, which
provides the necessary reflection capability, without sacrificing the
speed advantages of C++.

 Dynamic typing may be a benefit or a drawback depending on your 
 perspective.  If your goal is to test a specific hypothesis, using a 
 very specific simulation, you probably won't care about dynamic typing.  
 On the other hand, if you are trying to use the computer to poke around 
 a space and understand relations intuitively, and incrementally tweak 
 rules, you'll probably find it useful.
 

Indeed. I would argue that most scientific modelling is poking around
a space - automated, or dynamic reflection is essential to reduce the
amount of workload required of the programmer. Its one of the reasons
I worked so hard on developing Classdesc, the others being that
Objective C didn't turn me on much, and Repast hadn't been developed
when I started. Oh, and I really found I couldn't do without operator
overloading.

Cheers
-- 


A/Prof Russell Standish  Phone 0425 253119 (mobile)
Mathematics  
UNSW SYDNEY 2052 [EMAIL PROTECTED]
Australiahttp://www.hpcoders.com.au



FRIAM Applied Complexity Group listserv
Meets Fridays 9a-11:30 at cafe at St. John's College
lectures, archives, unsubscribe, maps at http://www.friam.org


Re: [FRIAM] ABM - OO

2007-06-02 Thread Marcus G. Daniels
Prof David West wrote:
 Objects should be able to interact with bare hardware and not rely on OS
 or other environments - like the Smalltalk image.
   
With the resurgence of virtualized instruction sets, e.g. Java and .NET, 
and good hardware/software support via VMware, Parallels, KVM, and Xen, 
perhaps we can hope to see more high performance implementations of OOP 
as it was meant to be..  The Right Thing running fast bare on the 
hardware (almost).   Just bought 16 GB of RAM for less than $2k.  

On a related topic, check out VMware Workstation 6 which now has trace 
and replay.   No more guessing how to reproduce conditions that led to a 
model (or whatever) getting in to a weird state.   Just back up!



FRIAM Applied Complexity Group listserv
Meets Fridays 9a-11:30 at cafe at St. John's College
lectures, archives, unsubscribe, maps at http://www.friam.org


Re: [FRIAM] ABM - OO

2007-06-02 Thread Prof David West


re: performance.  Dave Thomas' company Object Technology International
developed Smalltalk technology for embedded systems with real time
performance equal to C code.  He sold OTI to IBM and his technology
became Visual Age Smalltalk, Va-Java, and Eclipse with another division
of IBM utilizing the embedded technology.  Noury Bourqadi in France is
doing some very interesting things with tiny VMs running on hardware for
highly distributed mini-platform (cell phones) networks.


On Sat, 02 Jun 2007 14:02:52 -0600, Marcus G. Daniels
[EMAIL PROTECTED] said:
 Prof David West wrote:
  Objects should be able to interact with bare hardware and not rely on OS
  or other environments - like the Smalltalk image.

 With the resurgence of virtualized instruction sets, e.g. Java and .NET, 
 and good hardware/software support via VMware, Parallels, KVM, and Xen, 
 perhaps we can hope to see more high performance implementations of OOP 
 as it was meant to be..  The Right Thing running fast bare on the 
 hardware (almost).   Just bought 16 GB of RAM for less than $2k.  
 
 On a related topic, check out VMware Workstation 6 which now has trace 
 and replay.   No more guessing how to reproduce conditions that led to a 
 model (or whatever) getting in to a weird state.   Just back up!
 
 
 
 FRIAM Applied Complexity Group listserv
 Meets Fridays 9a-11:30 at cafe at St. John's College
 lectures, archives, unsubscribe, maps at http://www.friam.org


FRIAM Applied Complexity Group listserv
Meets Fridays 9a-11:30 at cafe at St. John's College
lectures, archives, unsubscribe, maps at http://www.friam.org