Architecture
The workflow between the Activate client and engine facilitates the modeling of reactive systems.
OML Command Window
The Activate client provides direct access to the Interpreter through a Command Window that lets you enter OML commands and functions.
Activate relies heavily on OML for creating and modifying block definitions; creating, editing and running models; manipulating elements inside of diagrams; customizing the user interface; and defining functions for the pre- and post-processing of data required for simulating models.
Compiler
The Compiler converts models into a structure of functional blocks, definitions that specify the interconnection of the blocks, and scheduling tables that specify the order in which the blocks are called during the simulation process.
Models and Diagrams
The software provides features for creating, editing, simulating and managing models and their respective diagrams.
Simulator
The Simulator runs according to the scheduling tables and other information that is provided by the Compiler.
The Simulator is a hybrid, which enables it to accommodate discrete and continuous-time systems and events during the simulation process. The Simulator uses a variety of solvers, which vary depending on the system being analyzed
Interpreter
The Interpreter evaluates block parameters, function statements and scripts written in OML and entered through the OML command window or OML Editor.
OML Integration
The OML scripting and mathematical computing language is packaged with Activate to perform tasks such as defining block parameters and manipulating and simulating models. Several OML APIs are available for pre-and post-processing model data and executing operations such as a batch mode simulation.
- OML-Based Operations
-
- Creating or modifying block definitions.
- Authoring scripts to create, edit or run models.
- Manipulating elements inside of diagrams.
- Pre- and post-processing data required for model simulation.
- OML-Shared UI Components
-
- Command window
- Plot windows
- Examples of OML Usage
-
- Editing and running OML commands from or .
- Defining a model or block parameter with OML statements as
you can see in the ContStateSpace block dialog:
- Exchanging data in the software via OML.
- Editing and simulating a model with OML APIs.
Scopes and Displays
The software includes Scope blocks for plotting data, and other display options for visualizing simulation results.
XML Block Library
The software includes a block library which has a variety of pre-defined blocks for creating models.
The blocks are written in an XML format with the .scb file extension. Each .scb file contains a block definition with graphical properties, ports, parameters, and interface functions.
Interfacing Functions
The Evaluation function is a part of the XML definition of a block. For each block in a model, the Evaluation function is evaluated by the OML Interpreter to obtain actual values.
Adapter
The Adapter is a generic component that interfaces all components of the architecture.
C Block Library
Aside from its XML content, each block comes with a simulation function to implement the block definition. Most of the block simulation functions are written in C language and are available to the Simulator as a DLL library.
C Code Generator
The engine of the software generates C code as required for operations such as the FMI export.
Formalism
The Activate environment includes an underlying formalism that facilitates the modeling of hybrid reactive systems.
Activate's handling of the specification of events enables the creation of models with both synchronous and asynchronous dynamics. Additionally, Activate's management of activation signals allows control of system dynamics, enabling the construction of models with complex timings.