====Configuration Files for Utiliser==== The Utiliser system need at least one configuration file that describes a type of [[resource|resource]] that is being utilised. It also describes the assets that will be analysed, the types of possible [[State|state]], the [[state rules|rules]] behind the states, and the patterns that define your //[[Cycles|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. ^Property^Meaning^ |resources|An AQL query that defines the assets to be analysed| |resourcesingular|The singular name of the assets type (ie, 'vehicle' or 'machine)| |resourceplural|The 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 [[state|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|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|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|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_*" } ] } ] Cycles are made up of at least one of the [[cycle rules|cycle rules]].