A Tour of the ScaleOut Model Development Tool

Overview

The ScaleOut Model Development Tool™ lets you create and test digital twin models without the need to write code in a programming language, such as C#, Java, or JavaScript. The concepts and advantages of digital twins are described in the topic Digital Twin Overview, and you can learn more about creating code-based models in the topic ScaleOut Digital Twin Builder™ Software Toolkit.

You can use the ScaleOut Model Development Tool to develop pure machine learning (ML) models, rules-based models, or a combination of both. ML models incorporate algorithms from Microsoft’s ML.NET machine learning library to analyze messages from data sources, as described in the topic Overview of ML techniques. Rules-based models use a set of intuitive business rules to analyze incoming messages, update and analyze state information maintained by real-time digital twins, and take actions, such as sending alerts and logging messages. ML algorithms and rules execution run within each instance of a real-time digital twin.

Background on Digital Twins

This section briefly summarizes the digital twin concepts used by the ScaleOut Model Development Tool.

When used for streaming analytics, a real-time digital twin model describes the state information and algorithms used to process telemetry messages from a single data source. When used for simulation, an additional algorithm describes how to process simulation time steps and evolve the simulation model. Algorithms created by the tool can take the form of ML and/or business rules. These algorithms use state information to analyze incoming messages, update knowledge of the data source’s dynamic condition, and take actions, such as sending alerts and messages.

Using this model, the ScaleOut Digital Twins™ service creates a digital twin instance for each physical data source (IoT device, vehicle, ecommerce shopper, etc.) or simulation entity. The service automatically creates a new instance when it first receives a message from a new data source. Messages from data sources always contain the model’s name and unique instance identifier.

Installation

The ScaleOut Model Development Tool is available as a Windows installer (.msi file) for use on Microsoft Windows systems, including Windows 10 and Windows Server 2012 and later. You can download the installer from ScaleOut Software’s web site by clicking here.

After downloading the installer file, right-click on the file and click Install. When the installation completes, you can launch the tool’s graphical user interface from the Windows Start menu by selecting “ScaleOut Model Development Tool”.

The Model Development Tool’s User Interface

When the tool starts, it displays the following user interface (UI):

toolUI

The UI has two tabs, one for building a new model and another for debugging and testing a model prior to deployment in ScaleOut Digital Twins. The UI starts in the Build model tab. The tree list on the left side lets you create, examine, and update artifacts of your model. These artifacts, which are explained in the topic Defining a Model, include:

  • Model name

  • Instance properties, which represent data maintained by each digital twin instance

  • Incoming message properties, that are sent by data sources to their real-time digital twins or by other digital time instances in a simulation in JSON-formatted Messages

  • Incoming message rules, which are an optional set of business rules you define to run whenever a message is received from a data source

  • Simulation rules, which are an optional set of rules to run for each time step during a simulation

  • Timers, which are blocks of rules to be executed at a given time interval

  • Data collections, which are named sets of instance and message properties for use as a group; they can be used in an ML algorithm, time-stamped event recorded in an event list, or in alerts and messages

  • Event lists, which record time-stamped values of data collections (called events) for analysis

  • Alert providers, which are configured alert monitoring services, such as Splunk-On-Call, Pager Duty and Slack, to which alerts can be sent

  • Persistence, which configures persistence of digital twin instances to an external service or database

Note

Machine learning does not appear in the above list of model artifacts. It is configured in the tool when creating or updating instance properties and data collections.

Each of the corresponding tree nodes lets you add an artifact by clicking on + Add new … under the node. (Just click on Model name to set its name.) Once an item has been created, it appears under its tree node. You can then click on the item to update it or remove it. For example, you can create an instance property by clicking on + Add new property under Instance properties. The following screenshot shows the dialog that appears when creating an instance property in a model called Thermometer:

newInstanceProperty

You can see a summary of the artifacts of each type by clicking on its tree node, for example:

PropertiesSummary2

After you have created a real-time digital twin model, you can test it by clicking on the Test model tab. This changes the display to show three panels side-by-side, for example:

propertiesAndMessages

The left-side panel shows a list of real-time digital twin instances that you create during your testing. Clicking on one of these instances in the list lets you see its properties on the right. The right-side panel has two tables. The upper table shows the instance properties for the selected instance. The lower table on the right shows messages that have been sent by the instance during testing.

The center panel contains a dialog at the top for creating and sending messages to a real-time digital twin instance. By sending a message to an instance, you can test and evaluate its behavior, observe changes to instance properties, and see what messages the instance sends. The center panel also displays the model’s rules (if any) under Examine/Run Rules. The tool shows you the result of running the rules when processing a message, and you can optionally single step through the rules during processing.

The File menu at the top of the UI lets you create, load, and save models in the file system:

fileMenu

Models take the form of a JSON definition file and are human-readable. Once you have completed testing, you can package your model as a .zip file for deployment to ScaleOut Digital Twins. This zip file contains the JSON definition file and other dependencies, such as ML files used by ML.NET.

The Help menu provides help information, including a function browser. The browser lists all functions that can be used in rules and detailed information about each function’s usage.