Architecture

The workflow between the Activate client and engine facilitates the modeling of reactive systems.

The Activate client provides direct access to the Interpreter through a Command Window that lets you enter OML commands and functions. The software provides features for creating, editing, simulating and managing models and their respective diagrams. The software includes Scope blocks for plotting data, and other display options for visualizing simulation results. The Interpreter evaluates block parameters, function statements and scripts written in OML and entered through the OML command window or OML Editor. The software includes a block library which has a variety of pre-defined blocks for creating models. 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. The Adapter is a generic component that interfaces all components of the architecture. The Simulator runs according to the scheduling tables and other information that is provided by the 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. 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. The engine of the software generates C code as required for operations such as the FMI export.

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 View > OML Command Window or Tools > OML Editor.
  • 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.