+
+ +

NOTICE: This software (or technical data) was produced for the U.S. Government under contract, +and is subject to the Rights in Data-General Clause 52.227-14, Alt. IV (DEC 2007). Copyright 2023 +The MITRE Corporation. All Rights Reserved.

+

Roll Up Overview

+

The Workflow Manager can be configured to replace the values of track and detection properties after +receiving tracks and detections from a component. This feature is commonly used to replace specific +terms with a more general category. For example, the "CLASSIFICATION" property may be set to "car", +"bus", and "truck". Those are all a kind of "vehicle". To use this feature, a JSON file in the +format described below must be created. Then, the ROLL_UP_FILE job property must be set to the +file path where that file is located.

+

Roll Up File

+

The JSON below is an example of a roll up file.

+
[
+    {
+        "propertyToProcess": "CLASSIFICATION",
+        "originalPropertyCopy": "ORIGINAL CLASSIFICATION",
+        "groups": [
+            {
+                "rollUp": "vehicle",
+                "members": [
+                    "truck",
+                    "car",
+                    "bus"
+                ]
+            },
+            {
+                "rollUp": "sandwich",
+                "members": [
+                    "grilled cheese",
+                    "reuben",
+                    "hamburger",
+                    "hot dog"
+                ]
+            }
+        ]
+    },
+    {
+        "propertyToProcess": "COLOR",
+        "groups": [
+            {
+                "rollUp": "purple",
+                "members": [
+                    "indigo"
+                ]
+            }
+        ]
+    },
+    {
+        "propertyToProcess": "PROP3",
+        "groups": [
+            {
+                "rollUp": "new name",
+                "members": [
+                    "old name"
+                ]
+            }
+        ]
+    }
+]
+
+

At the top level, the roll up file contains an array where each element defines a detection property +that should be modified. In this example, there is one element for "CLASSIFICATION", one for +"COLOR", and one for "PROP3". Each element contains the following fields:

+
    +
  • propertyToProcess: (Required) A detection property key. The value will be modified according to + the groups key.
  • +
  • originalPropertyCopy: (Optional) Copies the value of propertyToProcess prior to roll up to + another property. The copy is made even if the property is not modified.
  • +
  • groups: (Optional) Array containing an element for each roll up name. If the value of the + detection property specified by propertyToProcess matches a string listed in members, it + will be replaced by the content of the rollUp property.
  • +
+

In the example above, the value of the "CLASSIFICATION" detection property will be copied to +"ORIGINAL CLASSIFICATION" before the roll up is performed. If the "CLASSIFICATION" detection +property is set to "truck", "car", or "bus", the value of the detection property will be replaced +by "vehicle".

+

In a real use case there will generally be multiple roll up groups for a single detection property. +The "sandwich" group shows how to include an additional mapping for the same "CLASSIFICATION" +property. The "COLOR" and "PROP3" sections show examples of how to apply roll up to different +detection properties with different configurations.

+

If the roll up above was applied to these detection properties:

+
{
+    "CLASSIFICATION": "truck",
+    "COLOR": "red",
+    "PROP3": "truck",
+    "PROP4": "other"
+}
+
+

it would result in:

+
{
+    "CLASSIFICATION": "vehicle",
+    "ORIGINAL CLASSIFICATION": "truck",
+    "COLOR": "red",
+    "PROP3": "truck",
+    "PROP4": "other"
+}
+
+

"COLOR" was not modified since it does not define a roll up group with "red" as a member. "PROP3" +was not modified because only the "CLASSIFICATION" property has a roll up group with "truck" as a +member. "PROP4" was not modified because it is not in the roll up file.

+ +
+