OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

xmile message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: Modeling Language Issue


Hi Everyone,

The following are some issues for discussion on Thursday.  Karim and I have talked briefly about some of these, but not really arrived at a conclusion so more input would be great.

           Bob Eberlein

Open Issues:

NameSpace - some variations are possible here

Tags:  For tags there can be XMILE  defined tags or vendor:tag where the Vendor set is currently anylogic, forio, isee, powersim, simile, vensim and others can add names. There is no namespace search path for tags. Always use  vendor:tag for vendor specific tags. There is no nesting.

In models: Names use the format .x.y.z where the leading . is for the global namespace followed by nested name spaces. When there is no leading . the local namespace is searched first for the leading name, followed by a namespace search path (which might be empty), followed by the global namespace.

Units in models: Could use a completely distinct namespace or could use .units which would then be reserved. No nesting of namespaces in any case.

Global model namespaces: .std for all XMILE identifiers and vendor reserved namespaces .anylogic, .forio, .isee, .powersim, .simile, .vensim

Models: Could use either .modelname or .model.modelname. The advantage of the latter is that collision with the above global namespaces is not an issue, on the other hand it is cumbersome.

User: Could use .user.username where .user is reserved and anyone can make up .username. Alternative is to allow people to create .username which could generate conflicts.

Vendor: Not on the list should ask to reserve a name, but likely would also just use .vendor and hope for the best.

Namespaces in a model are defined by the model name (could be an optional namespace tag), if it is a singly instantiated model or by the instantiation name for multiply instantiated models.

A subscript defines its own namespace.  The namespace in use is determined by position eg if we have population[sex,age] then population[male,infant] is the same as population[sex.male,age.infant]. But using male or infant out of context would not work since they are not in the model's local namespace.

Opaqueness of Macros - should there be a mechanism to access internal macro variables form elsewhere?

init_eqn for stocks with both eqn and optional  init_eqn for rates and auxiliaries (the latter is the old N equation in Dynamo).

 

Subscripts:

Equation with subscripts

should

eqn: Population * mortality

be allowed as shorthand for

eqn:  Population[sex,age]*mortality[sex,age]

?

should

eqn: Population * base_mortality * effect_pollution

be allowed as shorthand for

eqn: Population[region,age] * base_mortality[age] * effect_pollution[region]

?

 

Units: should we allow direct use in equations as in

auxiliary: output

                units: $/year

                eqn: Capital * 2(1/year)

or similar?

 




[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]