How It Works
SAGE execution is summarized in these following steps:
An instance of a SAGE runtime consists of:
ONE instance of a SAGE Server
ONE or MORE SAGE Node instances running on either the Server computer or on remote computers with network connectivity to the Server Computer.
In addition, a SAGE Node instance may have MULTIPLE SAGE Agents which may each have MULTIPLE Behaviors.
1. Starting a SAGE Server instance
To begin automating your environment, you must first stand-up a single SAGE Server instance.
The SAGE Server is the central component for your automation. It serves as a single-point of access for managing your Agent network, by handling communication and code (Behavior) distribution.
2. Connecting SAGE Nodes
The next step would be to stand-up your Node instances on all computers that are expected to execute any automation. This includes any local and remote machines.
Nodes act as a containers for your Agents. While your Agents execute your automation code, the Nodes can be viewed as conductors for Agents. This means that the Server has fewer components to communicate with as it bypasses the need to have to communicate with an Agent directly.
This also means that as a user, you will not have to manually configure multiple Agents across multiple machines. Instead, you can stand up a single Node and later automate the creation and deletion of Agents tied to that Node.
This architecture was designed with scalability in mind.
3. Adding agent entities to Nodes
You can begin populating your Nodes with Agents as soon as your Nodes are initialized. This can be done via manual configuration or it can be automated by either coding it into Behaviors or through an external controller mechanism.
This gives you the possibility of dynamically building an agent network.
4. Managing Behaviors
Behaviors are only sent to Agents on an as-needed basis. This minimizes overhead and gives Agents the flexibility of learning and unlearning skills on demand.
All Behaviors are stored in a single repository on the Server machine. When requested, the Behavior module will be sent from the Server to a remote Node. From there, the selected Agent will be granted access to the file.
This means that you will not have to worry about manually copying code across multiple machines during configuration.
5. Activating agents
You are ready to activate your Agents once you have established connection between your Server and Nodes and have populated your Server with the necessary Behavior modules.
Agents must first be activated in order to receive any updates from the network. Thus, an agent that is not activated will not receive incoming messages.
Upon activation, your Agents may respond reactively or proactively depending on what Behaviors it contains and how those Behaviors are constructed.
Reactive execution occurs when an Agent perfroms some action upon receiving any incoming message.
Proactive execution can occur in multiple ways based on how an Agent’s Behaviors are configured.
6. Running tests
You can build out a step-by-step test case using the Robot Frameworks integration into SAGE Framework as a controller mechanism.
This integration allows you to send messages from the Controller. This message will propagate through the Server to the Node to instruct an Agent.
Upon receiving messages, your Agents will begin executing their coded automation abilities.
7. Capturing test results
During automation, any pertinent information can be captured by Behaviors and reported as an execution result.
All information, including execution results as well as SAGE log events, are propagated back to the Server to be stored in a single location. This means you will not have to manually check multiple computers to verify your results.
Instead, users only have to check the logs residing on the Server machine.