forio Toggle navigation

SimLang: Migrating from Simulate

Simulate is the previous version of Forio's platform. Like Epicenter, Simulate allows creation of projects whose models were written in SimLang.

To migrate your SimLang model from Simulate to Epicenter,

  • Save your model from your Simulate account.
    • In Simulate, under the Model tab, copy the equations.
    • Paste them into a new text file.
    • Name the file with the extension ".eqn", e.g. "My Model.eqn".
  • Upload your .eqn file to the Model folder of a project in your new Epicenter account.
  • Create an interface for your project.

In most cases, the migration process is just that simple! See the SimLang overview page for additional details on these steps.

However, there are minor differences between SimLang as implemented in Simulate and SimLang as implemented in Epicenter. Specifically, a few properties and functions available in SimLang as implemented in Simulate are NOT recognized in SimLang as implemented in Epicenter (if not recognized, they are ignored). If these properties or functions are used in your model, you may need to make minor alterations to your model as part of the migration process.

Properties Specific to Simulate

The following model, variable, or decision properties are available in SimLang as implemented in Simulate but are NOT recognized in SimLang as implemented in Epicenter. (If these properties exist in a model in Epicenter, they will not cause errors — they are simply ignored.)

Most of these properties are variable or decision properties that relate directly to how the variable or decision is displayed. In Epicenter, the model and the user interface for each project are less tightly coupled than they are in Simulate, so you should set display properties in the user interface itself.

  • ExecuteDecisionImmediately: In Epicenter, all decisions are executed immediately, that is, every newly entered or updated decision immediately impacts other model variables.
    • IMPORTANT: You will likely need to modify your model if you are currently using .ExecuteDecisionImmediately = false.
  • DecisionMax
  • DecisionMin
  • Documentation
  • GraphMax
  • GraphMin
  • InitialSteps
  • Label
  • MultiPlayerRolesRange: In Epicenter, multiplayer worlds and their roles are configured with the Epicenter authoring interface or via the MultiPlayer API. They are not configured in the model directly.
  • NumberFormat
  • ResetDecision: In Epicenter, this is not a decision property that you set in the model itself. However, you can set it in the model configuration file on a per-variable basis using the `resetDecision property.
  • SaveFinalResult
  • SaveResult: In Epicenter, mark a decision or variable to be saved (and available to show comparisons between runs) by using the save property in the configuration file.
  • StartVariable
  • StepsPerInterval
  • StepsPerSave: In Epicenter, mark how frequently a decision or variable is saved by using the savePer property in the model configuration file.
  • TimeFormat
  • TimeSeries
  • UseDecisionMax
  • UseDecisionMin
  • UseGraphMax
  • UseGraphMin

Functions Specific to Simulate

The following functions are available in SimLang as implemented in Simulate but are NOT recognized in SimLang as implemented in Epicenter. (If these functions exist in a model in Epicenter, they will not cause errors — they are simply ignored.)

Most of these functions were originally included in Simulate only for legacy or compatibility reasons.

A few of these functions relate to multiplayer worlds (games). In Epicenter, multiplayer worlds and their roles are configured with the Epicenter authoring interface or via the MultiPlayer API. They are not configured in the model directly.

  • CHIDIST
  • CHIINV
  • MULTIPLAYER
  • MULTIPLAYERROLE
  • MULTIPLAYERROLECOUNT
  • MULTIPLAYERTEAM
  • SD_PULSE
  • SD_RAMP
  • SD_SAMPLE
  • SD_SMOOTH
  • SD_STEP
  • SD_V_PULSE
  • SD_V_SMOOTH
  • SD_V_SMOOTH3
  • V_PULSE
  • V_SMOOTH
  • V_SMOOTH3