SAGE execution is summarized in these following steps:

  1. Starting a SAGE Server instance.
  2. Connecting SAGE Node instance to SAGE Server.
  3. Building an agent network.
  4. Distributing behaviors to target Nodes.
  5. Activating agents.
  6. Running all the steps in the behavior.
  7. Logging the events, collecting the results.

Starting a SAGE Server instance

The SAGE Server can be instatiated using either the SAGE Server Application or the Command-line interface.

Connecting SAGE Nodes

A SAGE Node that resides on a separate machine than the SAGE Server Application must be initialized via the Command-line interface. Otherwise, you may create local nodes using the SAGE Server Application.

Adding agent entities to Nodes

You may dynamically create agent entities using either the SAGE Server Application, by utilizing Robot Framework as a controller application and including the Create Agent keyword, and/or create a new Agent through Behaviors using createAgent method call.

Managing Behaviors

The Server will distribute behavior files to the target Nodes by way of message.

A behavior contains some action expected to be fulfilled by an agent residing on a Node instance. This gives SAGE users the ability to control complex test scenarios, involving multiple nodes and agents, from a single controller entity.

You can populate behaviors using either the SAGE Server Application, by utilizing Robot Framework as a controller application and including the Add Behavior keyword, and/or populate new Behaviors using an existing Behavior via addBehavior method.

Behavior files must reside in the proper directory on the Server machine in order for it to be added to an agent:

Behavior Path
Windows C:\ProgramData\Sage\behaviors
Linux /etc/Sage/behaviors

The behaviors directory contains sub-directories for SAGE supported languages C++, Java, python, and Javascript.

Windows64, Windows32, Linux64, Linux32 C++ behavior files directory- Behavior.cpp

python Python behavior files directory - Behavior.py or Behavior.egg

Java Java behavior files directory - Behavior.class or Behavior.jar

Javascript Javascript behavior files directory - Behavior.js

Optional supplemental files, such as additional libraries, images, or executables must be placed in the following directory on the targeted Sage Node machine:

Data Path
Windows C:\ProgramData\Sage\data
Linux /etc/Sage/data

The Sage runtime looks inside these directory paths before deploying a executable module to a target Node.

Running tests

All tests are to be launched from the machine that has the SAGE Server instance.

Keyword-based testing is supported and executed through Robot Framework integration.

Activate an agent using either the SAGE Server Application, by utilizing Robot Framework as a controller application and including the Activate Agent keyword, and/or activate an Agent through Behavior setAgentActive method call.

Depending on the Behavior construction, an agent will perform either reactively in response to an incoming message or proactively upon activation on a continuous or one-time basis.

Capturing test results

All Behavior execution logs and results are pushed back to the SAGE Server. Logs and results can be found on the machine configured with the SAGE Server in the following directories: