Discussion:
[Simpy-users] Simpy vs SIMAN
Franck Routier
2004-12-30 10:13:48 UTC
Permalink
Hi,

I am very new to the list, and quite new to the simulation world in general.

I am trying to draw myself a very general picture of simulation
softwares, and would like to know :
- how simpy relates to simula,
- and how simpy compares to SIMAN / Arena.

I might have to launch a research project with a student, and his thesis
director seems to know Arena quite well... Be Arena is not free (in any
meaning of the word !), and this is against both my opinions on
softwares and knowledge sharing, and my bankers opinions on my bank account.

Maybe this is just a stupid question. Please, don't hesitate to bash me :-)

Otherwise, thanks in advance,

Franck
Ken MacLeod
2004-12-30 15:12:31 UTC
Permalink
Post by Franck Routier
I am trying to draw myself a very general picture of simulation
- how simpy relates to simula,
- and how simpy compares to SIMAN / Arena.
I might have to launch a research project with a student, and his
thesis director seems to know Arena quite well... Be Arena is not
free (in any meaning of the word !), and this is against both my
opinions on softwares and knowledge sharing, and my bankers opinions
on my bank account.
I've never used Simula or Arena, so my answers are limited.

I understand that Simula was one of the originators of "co-routines"
that make creating simulations very straightforward. Python has
partial support for co-routines in its "generators", which is what
SimPy uses. Co-routines allow you to write a simulation process as a
procedure, and "pause" the procedure in the middle of execution to
wait for other processes, without using threads, which is important
when you start talking about thousands of processes.

Python itself is an important aspect of SimPy because Python is a very
easy language to write and read, often referred to as "executable
pseudo-code".

I don't know anything about Arena and its web site doesn't seem to be
very helpful to someone without a license. However, the web site does
say they have acedemic and research packages for free or the purchase
of a textbook (US$120, $50 used on Amazon).

-- Ken
Franck Routier
2004-12-30 15:39:52 UTC
Permalink
Post by Ken MacLeod
I don't know anything about Arena and its web site doesn't seem to be
very helpful to someone without a license. However, the web site does
say they have acedemic and research packages for free or the purchase
of a textbook (US$120, $50 used on Amazon).
I don't know much either, but here are the facts I know :
- arena is a simulation software package (business / manufacturing oriented)
- it offers a lot of eye candies, drag'n'drop developpement tools, 3D
visualizer, ...
- more interestingly, it is based on a language called SIMAN, that seems
to be derived from Fortran.

I would like to compare Siman to Simpy (but of course you would have to
know Siman to do so. Siman seems to be quite widespread altough)

Here is an interesting site comparing simulation software. Simpy is not
mentioned, but maybe the author would be interested in some facts... :

http://www.tbm.tudelft.nl/webstaf/edwinv/SimulationSoftware/index.htm


Regards,

Franck
Klaus Muller
2004-12-30 21:26:37 UTC
Permalink
Franck,
Welcome to the SimPy users list!

Your questions:

Re Simula: SimPy is designed based on Simula. It uses the process scheduling
paradigm of Simula (you can translate any Simula simulation into SimPy in no
time, quite mechanically). SimPy goes beyond Simula in several areas,
though. For example, it has added a general "wait until" facility (the most
general scheduling concept of all) and event signalling. The beauty of SimPy
is that you can easily extend it in Python -- all SimPy code is in Python
and comes with the distribution.

Re Arena: Arena does not use the process model, but rather the flow model --
the real world is modelled by a series of delays and processing stations
through which entities flow. It is built for a point-and-click end user
market. Iff the modelling approach of Arena fits the problem at hand
(typically manufacturing or queuing situations), a simulation can be put
together quickly by pointing, clicking and dragging symbols standing for a
wide range of modules.

There are two problems with this in my view: a) if you are not quite certain
about the semantics behind the symbols (modules), you have to act almost on
faith. There is no way of studying the code behind them.
b) If the Arena modules or the flow approach don't quite fit the situation
to be modelled, one gets stuck. Extension of Arena by the end user appears
to be impossible.

So, if I where to compare SimPy and Arena globally, I would see Arena as a
Meccano box with a large number of fixed, complex parts (modules), whereas
SimPy is a smaller Meccano box with a small number of general parts which
can be extended and added to.

If the student knows/can use computers only at the point-and-click or
spreadsheet level and does not want to (have to) learn about simulation
programming, and if the application area lends itself to flow modelling, I
would go for Arena. If, on the other side, he wants to really understand
what his simulation model does and why, has a t least some experience in
programming and wants to be quite sure that he does not end up spending a
lot of time working around the limitations of a fixed toolbox, I would go
for SimPy.

I would be happy to continue this discussion.

Klaus Muller
-----Original Message-----
Franck Routier
Sent: Thursday, December 30, 2004 11:14 AM
Subject: [Simpy-users] Simpy vs SIMAN
Hi,
I am very new to the list, and quite new to the simulation
world in general.
I am trying to draw myself a very general picture of
- how simpy relates to simula,
- and how simpy compares to SIMAN / Arena.
I might have to launch a research project with a student, and
his thesis director seems to know Arena quite well... Be
Arena is not free (in any meaning of the word !), and this is
against both my opinions on softwares and knowledge sharing,
and my bankers opinions on my bank account.
Maybe this is just a stupid question. Please, don't hesitate
to bash me :-)
Otherwise, thanks in advance,
Franck
Franck Routier
2004-12-31 08:30:52 UTC
Permalink
Post by Klaus Muller
Franck,
Welcome to the SimPy users list!
Thanks
Post by Klaus Muller
Re Simula: SimPy is designed based on Simula. It uses the process scheduling
paradigm of Simula (you can translate any Simula simulation into SimPy in no
time, quite mechanically). SimPy goes beyond Simula in several areas,
though. For example, it has added a general "wait until" facility (the most
general scheduling concept of all) and event signalling. The beauty of SimPy
is that you can easily extend it in Python -- all SimPy code is in Python
and comes with the distribution.
Yes, this seems very powerfull indeed, once you become familiar with
Python :-) but I think this is language worth learning...
Post by Klaus Muller
Re Arena: Arena does not use the process model, but rather the flow model --
the real world is modelled by a series of delays and processing stations
through which entities flow.
I don't understand that (don't forget I'm new to the domain of
simulation). Any pointer to introducing material to these modeling
approaches ?
Post by Klaus Muller
It is built for a point-and-click end user
market. Iff the modelling approach of Arena fits the problem at hand
(typically manufacturing or queuing situations), a simulation can be put
The project is in fact about manufacturing + ABC financial simulations.
Post by Klaus Muller
together quickly by pointing, clicking and dragging symbols standing for a
wide range of modules.
There are two problems with this in my view: a) if you are not quite certain
about the semantics behind the symbols (modules), you have to act almost on
faith. There is no way of studying the code behind them.
I think there is : in the (quick) demo I saw, you can switch to a source
code mode, showing the Siman editable code. I not sure however if this
language is using modules itself, or if the point and click modules just
hide a bunch of lower level Siman code...
Post by Klaus Muller
b) If the Arena modules or the flow approach don't quite fit the situation
to be modelled, one gets stuck. Extension of Arena by the end user appears
to be impossible.
That's one of the main reasons I don't think proprietary software fits
users needs in general...
Post by Klaus Muller
So, if I where to compare SimPy and Arena globally, I would see Arena as a
Meccano box with a large number of fixed, complex parts (modules), whereas
SimPy is a smaller Meccano box with a small number of general parts which
can be extended and added to.
If the student knows/can use computers only at the point-and-click or
spreadsheet level and does not want to (have to) learn about simulation
programming, and if the application area lends itself to flow modelling, I
would go for Arena.
At this point, the student will really follow her teacher's point of
view :-) My company is funding the work. So we can decide we want it to
be based on Simpy for example, but we must have solid arguments on that,
because the teacher knows Arena quite well...
Post by Klaus Muller
If, on the other side, he wants to really understand
what his simulation model does and why, has a t least some experience in
programming and wants to be quite sure that he does not end up spending a
lot of time working around the limitations of a fixed toolbox, I would go
for SimPy.
I would be happy to continue this discussion.
Thanks a lot. I think I'll bother you more indeed !

Franck Routier

patrick
2004-12-30 23:54:03 UTC
Permalink
Loading...