Exogenous Variables and Data

This forum is for discussion of the System Dynamics model representation standard XMILE. Discussion here will be monitored by the Society's technical standards committee with ideas and concerns conveyed to the OASIS Technical Committee responsible for defining the standard.
Forum rules
Please note: By posting here you grant permission to the Society Technical Committee members to repost with attribution on the OASIS discussion forum. If you have material for which you wish to maintain copyright control please post a link to the copyrighted work.
Post Reply
Robert Eberlein
Site Admin
Posts: 179
Joined: Sat Dec 27, 2008 8:09 pm

Exogenous Variables and Data

Post by Robert Eberlein » Mon Aug 05, 2013 6:31 pm

Many people use data to drive models. We should definitely include variables that are expected to be read in from outside sources. These are far more flexible and suited to purpose than using a table function on time to encode the data.

Though it goes a little bit against my desired to separate structure and behavior we might also want to optionally encode data points associated with such exogenous variables. The real value of doing this is that it would allow someone to send a single file that would actually simulate instead of requiring coordination of all the data inputs. This would be a big help making models replicatable, and implementations could use the encoded data as fallback when other ways of connecting to the data do not work.

Thomas Fiddaman
Posts: 152
Joined: Thu Jan 15, 2009 6:55 pm
Location: Bozeman, MT

Re: Exogenous Variables and Data

Post by Thomas Fiddaman » Tue Aug 13, 2013 2:38 pm

This makes good sense. Presumably SMILE would have to be extended a bit to include behaviors for data that could be distinct from ordinary model variables, like interpolation.

Having an option for embedding data seems helpful. At its simplest, this could essentially be an xml variant of the Vensim .dat format, http://www.vensim.com/documentation/23460.htm , which is just a list of variable names and time-value pairs.

Magne Myrtveit
Posts: 57
Joined: Mon Jan 12, 2009 6:52 am

Re: Exogenous Variables and Data

Post by Magne Myrtveit » Wed Aug 14, 2013 5:19 am

Conceptually, data consists of literal values.

If should make no difference if whether data are typed into the model via an equations editor of if they are loaded into the model via some import feature; data are still data, no matter where they come from.

My proposal is to allow for literal arrays in the modelling language, and support interpolation and extrapolation on the data. Vensim already has a very elegant solution to this, and several other vendors have similar features. I think it belongs to the core of system dynamics. (See page 45 of http://www.myrtveit.com/papers/A_framew ... models.pdf)

The syntax for an array of data could be: name = data { dimensions | literals } as type. Here is an example:

Code: Select all

Population = data { Age | 10, 30, 45, 40, 3} as person
Note: The data keyword is a hint that the right-hand-side consists of literals. This might be used to optimise the handling of the equation. The keyword as is used to specify the domain (type/unit) for the data. For "big data", the right-hand-side might be stored in a more compact, even compressed, format. In Dynaplan Smia we do this through the EncodedDef XML property, which is a leaner representation than the human-readable Definition property (which can be left out if there is an EncodedDef).

Some vendors will not store the data values as part of the model equations. That is Ok, but when it comes to an model interchange format / common core format, we might still put the data inside equations, since that is a place that is already reserved for left and right-hand-side stuff (e.g., data) for variables.

Best regards,

Post Reply

Who is online

Users browsing this forum: No registered users and 1 guest