Configuration Files for Utiliser

The Utiliser system needs a configuration file.

This file describes the assets that will be analysed, the types of possible state, the rules behind the states, and the patterns that define your cycles.

It's a JSON file, so it can be created in your preferred text editor.

Basic Setup

First, you'll need the basic setup. This defines which resources you want to analyse and how the system should display them.

PropertyMeaning
resourcesAn AQL query that defines the assets to be analysed
resourcesingularThe singular name of the assets type (ie, 'vehicle' or 'machine)
resourcepluralThe plural name of the assets type (ie. 'vehicles', 'machines')
{
    "resources": "'Truck 1' ASSET 'Sequence' RELATIONSHIP 'downi' RELATED",
    "resourcesingular": "Vehicle",
    "resourceplural": "Vehicles",
}

States

The next section describes each of the states your assets can be in.

Each possible state has a name, a colour, a quality and a secondary name.

The 'secondary name' is the name us used when the system refers to the secondary state. For example, you might have 'Driving', with a secondary state that represents a location (ie. 'Driving:Front Entrance' and 'Driving:Loading Bay'). But you might also have a state such as 'Delayed' that has a different secondary state - a condition instead of a location (ie. 'Delayed:Engine Trouble' or 'Delayed:Fuel Low').

"values": [
		{
			"name": "Working",
			"colour": "green",
			"quality": "ok",
			"secondary": "Locations"
		},
		{
			"name": "Loading",
			"colour": "blue",
			"quality": "ok",
			"secondary": "Locations"
		},
		{
			"name": "Unloading",
			"colour": "purple",
			"quality": "ok",
			"secondary": "Locations"
		},
		{
			"name": "Delay",
			"colour": "silver",
			"quality": "bad",
			"secondary": "Causes"
		}
} ]

Rules

The next section defines the rules that tell the system how to calculate the status of each of your assets.

Each rule is applied in-order, the system stopping as soon as a particular rules is met (so if an asset fulfils two different rules, the first one will be used).

There are a number of different properties for rules, that are discussed in more detail in the section on creating rules.

"statuses": [
        {
            "name": "Delay",
            "method": "ValueMatch",
            "property": "Location",
            "regex": "Delay_(.*)"
        },
        {
            "name": "Status",
            "method": "ValueMatch",
            "property": "State",
            "subtype": "Location",
            "regex": "*"
        }
    ]

Cycles

These are similar to the rules above, but this time define how to measure your systems cycles.

A single utilisation file may contain more than one type of cycle.

"cycles": [
        {
            "name": "Full Cycle",
            "points": [
                {                   
		   "type": "start",
		   "primary": "State",					
		   "value": "Unloading",
                   "trigger": "end"					
                },
		{                   
			"type": "milestone",
			"primary": "State",					
			"value": "Loading",
			"capture": "Location",
			"as": "Destination",
                        "trigger": "start"					
                },
		{                   
			"type": "ignore",
			"primary": "Location",
			"value": "Delay_*"
                }
            ]
        }
    ]