Dear Colleagues,
Thanks to those of you who have posted your thoughts on standards and
formats for interchanging system dynamics models between tools and
platforms. I presented a proposal along the same lines at the SD conference
in Tokyo (1995). At that time the initiative was received positively.
However, the SD society did not want to sponsor or even recommend the idea,
as they were afraid that it could influence the competition. It also turned
out that the three main vendors at that time were not even able to agree
that it would benefit the field (and the vendors) if models developed in
different tools could be exchanged.
I am glad that there is not a new interest in this direction. Here are a few
things to keep in mind:
1) Standardization can be harmful if not done carefully
A standard can slow down and limit the innovation that goes on in the
various technology development organizations. If the standard is
ill-defined, we may "force" current and future technology into the wrong
direction.
2) Current SD tools have a common core, but differ dramatically in the way
they deal with important features such as unit of measure, arrays, model
hierarchy, data types, discrete flows (accumulation vs integration), etc.
Standardization in these areas runs the risks of favouring one tool or
locking the future to a poorly designed solution.
3) Standardization will and should take time
I do not think it is possible to define and implement a standard in one
year, unless the standard is limited to a small subset of the overall
functionality of the different SD tools. (The latter would limit the
usefulness of the standard.) If a standard is defined that includes all
(major) features of all (mainstream) SD tools, we would at first have a
situation where nobody supports the standard 100%. Vendors must be given
time to implement the necessary changes in order to support a new standard.
(The task of defining and implementing such a standard is huge.)
Going forward, I think the following approach may be worth considering:
Step 1: Define an open model export function in each tool (basis for step 2
and 3)
Step 2: Implement import functions in each tool (models can now be
interchanged)
Step 3: Define and implement a common model format (long term)
The challenge of step 1 is to convince the vendors to open up for exchange
of models by implementing a comprehensive model export feature in their
tools. The output can use XML, for example. (My initial proposal was to base
the standard on the syntax of RTF (rich text format). Today, XML is more
appropriate.) The exported format must be documented, and contain enough
information to describe exactly the semantics of a model (so it can be
simulated). The initial task of a standardization group would be to define
the guidelines that each vendor would follow to generate its versions of the
XML model.
When the XML-specifications from each vendor are ready, we have a complete
definition of the simulation languages that are supported, and it is
possible for each vendor to implement an import function from one or more
foreign formats (step 2).
A vendor should not be permitted to implement an import function unless it
also implements an export function (first).
After step 1 (and 2) we would have a better understanding of how a common
format could be defined.
With this approach I think that we can avoid some of the dangers with
defining a standard, and at the same time save time and effort to implement
interchange of models between tools.
Magne Myrtveit
Dynaplan
Home page: <
http://www.dynaplan.no>
www.dynaplan.no
Mail address: Helland, 5936 Manger, Noreg
E-mail address: <mailto:
magne@myrtveit.com>
magne@myrtveit.com
Telephones (+47): 56 37 40 09 (office); 95 82 75 00 (mobile)
Telefax (+47): 56 37 35 00