Klaus G. Troitzsch wrote:
> I am still convinced that the medium level should be formal and unambiguous
> (otherwise we can't use it directly for simulation replication, and if it is
> as ambiguous as natural language, then often natural language is better
> understandable than even UML). UML would give (in so far I agree) a good
> overview of, for instance, which types of agents make up a model, but it is
> not so easy to describe in languages like UML how these agents will behave.
> And if I want to replicate a model published in a journal, it is this which I
> must know. So what we need is something like an object-oriented language
> which allows several stages of refinement where on every next stage of
> refinement the model description becomes less and less ambiguous.
I think that the key message to retain is the "stages of refinement" bit.
Let's consider what the practical usage of an intermediate language would be:
Categorisation/Comparison
At this stage we want to get a first and quick understanding of what the
simulation structure is. We want to be able to compare and relate it with other
simulations we are aware of.
We need only an indication of the basic characteristic of the simulations
expressed using a commonly agreed vocabulary.
Related usages: indexing/searching of simulation descriptions
Replication
At this stage we need to know much more about the static and dynamic aspect of
the simulations.
The natural language description might not contains all the relevant bit and the
original source code probably hides them in a sea of unrelated details
(presentation routines, storage routines, interfaces to other tools).
In most cases the formal description will need to include the relevant source
code fragments (or just link to them in some way).
Execution
In some cases the description might be detailed enough to allow for the direct
execution of the model.
It must be stressed that this is not the most generic case (neither is a likely
one).
It's clear that there is a "refinement scale" here, the more detailed the
description the more useful it becomes.
But it's also clear that people can not be required to provide executable
specifications as this would be too onerous in the general case (1).
Now, is it possible to have a (declarative) language that can be useful at all
these levels ?
Well, yes. Any decent (object oriented ?) semantic framework will allow to create
descriptions at different levels of precision.
Some of them actually, such as RDF, would allow also for an additional twist:
distributed descriptions.
It would be possible for a researcher to publish a basic description to which
others might add additional details at a later time.
A basic description of the Shelling model might for example be expanded by a
second researcher providing the relevant implementation details for, say, Java.
Regards
Titto
(1)
The idea of an universal, executable, simulation language/tool is a compelling
one.
And it might even work, provided that we define correctly what we mean by that !
If we think of it as a "fully generic" simulation toolkit that will accomodate
everybody's needs than it has more or less the same chances of succeding as
convincing everybody to use the same programming language (or to devise a
compiler/interpreter that will support all existing programming languages).
What might be done on the contrary would be to agree on some standard to make
simulations available (playable) through the Internet.
This is already happening, although in an informal and not fully satisfing way.
Many research groups "publish" their simulations on the web (mainly using Java
applets that in some cases are just the front ends for much more sophisticated
systems).
In principle it wouldn't be impossible to define a set of interfaces (possibly
defined using CORBA's IDL) for social simulations.
Compliant simulations might than be remotely controlled, run results might be
accessed and visualised in a uniform way, etc.
The OMG has some activity going on in the field of distributed simulation
(http://www.omg.org/techprocess/meetings/schedule/Distrib.Simulation_RTF.html)
whose results might possibly be reused.
As always the problem is not technical, it's about motivating people in
partecipating.
--
Pasqualino "Titto" Assini
The Data Archive - University of Essex, UK
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|