Glossary
The Epicenter glossary contains vocabulary we frequently use to talk about features of Epicenter and development of Epicenter projects.
Access
A project's Access determines who can interact with your project once it is complete.
- Public: Anyone can access your project.
- Authenticated: Only logged in users (authors or end users) can access your projects. Only team projects have this option.
- Private: Only you can access your project.
You set the Access when you create the project, and you can change it later in the project's settings.
Access Token
Information in your project — including specifics about users and runs, as well as application-level data — is protected by Epicenter.
To access your project using the Epicenter APIs, you need to send an access token.
There are two types of access tokens in Epicenter:
- User access tokens provide access to all of the data that a particular user has access to. You can create them with the username and password of the user.
- Project access tokens provide access to all of the data in the project. You can create them with your project's API keys.
See more about Creating access tokens.
API Keys
API Keys are required to create project access tokens, which provide access to application-level data, regardless of end user or group, when you are using the Epicenter APIs.
See more background on API Keys and information on creating access tokens.
Forio SimLang
Forio SimLang is a simulation language developed by Forio.
You can use Forio SimLang to create models in Epicenter. For more about the language, see the Language Overview and Function Reference.
Forio SimLang was originally developed for use with the previous version of our platform, Simulate. You can bring your Simulate model code into Epicenter, but you'll need to recreate the user interface for your simulation. See more about migrating your Simulate model to Epicenter.
Game
See World.
Groups
Groups are collections of end users. Each group is associated with one project created by your team.
For example, if your project is a simulation used in a corporate training program, you might create a group of end users for each set of employees going through the training program. If your project is a forecasting model, you might make one group of end users for everyone in your department who will be accessing the analysis.
Groups and end users are only relevant for projects with an Access of Authenticated.
Hosting Plan
See Subscriptions.
Interface
Interface files are all of the resources that make up the user interface for your project: JavaScript files, HTML files, stylesheets, images, etc.
These files can be created in Epicenter or uploaded to the Interface section of your project.
Interface files are rendered on the client side when end users are interacting with your completed project. (This is in contrast files in the Node.js section of your project, which are rendered on the server-side. See Creating your Interface.)
Method
See Operation.
Model
Your model is the "engine" for your project. It might be a systems dynamics simulation, an operations research problem, a predictive analytics model, or a forecasting analysis.
Models can be created in Epicenter or uploaded to the Model folder of your project.
You can write models in several languages, including Excel, Forio SimLang, or Vensim. To complete your project, you connect your model to your interface using the Epicenter APIs.
Operation
Operations are methods or functions in your model that can be called by end users working with your project's interface.
Some modeling langugages, such as Excel, SimLang and Vensim, automatically have several automatically available operations (e.g. step
). See Model Creation in Vensim or Model Creation in SimLang.
Powersim
Powersim is a commercial simulation package for developing models.
You can use Powersim to create models in Epicenter. For more about Powersim, see the official Powersim site.
Projects
→ This is a key concept.
The primary unit of organization in Epicenter is a project.
A project contains a model, an interface, and code that connects the two together.
Every Epicenter author can create personal projects.
Epicenter authors who belong to a team collaborate to develop projects. Any team member can create a new team project.
Once complete, a project can be accessed by anyone, or by specific end users organized into groups, or only by the project's authors, depending on the project's access level.
Python
Python is a powerful, fast, and flexible programming language.
You can use Python to create models in Epicenter. For more about Python, see the official Python site.
R
R is a programming language for statistical computing and data analysis.
You can use R to create models in Epicenter. For more about R, see for example these external resources: CRAN, Advanced R, R language for programmers.
Run
A run is a collection of interactions with a project and its model.
Typically, every time an end user starts to interact with a project, you as the project author need to create a new run using one of the Epicenter APIs.
Run Persistence
A run that is created in the current browser session is stored in memory on the Epicenter servers.
Any run that has at some point been persisted into the Epicenter database is available for lookup from the database (whether or not that run is also currently in memory).
Runs must be in memory in order for you to update variables or call operations on them. By default, runs are automatically replayed (restored from the database to memory) when you attempt to update variables or call operations.
Some Epicenter APIs have slightly different behavior based on whether the requested run is retrieved from memory or from the database. See the details on Run Persistence or consult the reference material for the API you are using.
Stella
Stella is a commercial simulation package for developing models.
You can use Stella to create models in Epicenter. For more about Stella, see the official ISEE Systems site.
Subscriptions
Each team uses Epicenter based on a subscription plan (also called a hosting plan) selected when the team is created.
Different subscription levels provide different numbers of authenticated projects, dedicated compute units, and other resources. You can view your current plan at Dashboard > [Team Name] > Settings.
Teams and Team Members
→ This is a key concept.
Teams are collections of Epicenter authors developing a project together.
Teams are best suited for organizations that need to manage permissions for employees, clients, and others who are collaborating on a project.
Each team uses Epicenter based on a subscription plan selected when the team is created. Different subscription levels provide different numbers of authenticated projects and project end users. Additionally, some features (such as the ability to create multiplayer worlds) are only available in some plans.
Any Epicenter author can create a new team and then invite others to become team members. Team members are simply Epicenter authors collaborating on a project.
Users
→ This is a key concept.
There are two types of users in Epicenter.
Authors can develop projects using Epicenter.
- All authors can create personal projects.
- All authors can also create new teams and invite colleagues (other authors) to become team members and collaborate on project development.
End users can play with projects through the interfaces created by authors, but do not have project authoring privileges.
End users are organized in groups, and can belong to one or more groups. Each group is associated with one project created by a team.
End users may be facilitators, meaning they have access to all data for their group, or not, meaning they have access only to their own interactions with the project.
End users and groups are only relevant for projects with an Access of Authenticated.
Variable
Variables are changeable values from your model that be read or updated by your project's user interface.
Vensim
Vensim is a commercial simulation package for developing models.
You can use Vensim to create models in Epicenter. For more about Vensim, see the official Vensim site.
World
A run is a collection of end user interactions with a project and its model. For many projects, a single end user plays with the model.
However, other projects require many end users to work together — either collaboratively, competitively, or both. For these multiplayer games, you typically want multiple end users to share the same set of interactions and work within a common state. Epicenter allows you to create "worlds" to handle such cases.
A world is a set of end users and their shared runs.
To implement worlds in your project, see the World Manager (JavaScript, part of the Epicenter.js library of API Adapters) or the RESTful Multiplayer APIs.