60 lines
1.4 KiB
Plaintext
60 lines
1.4 KiB
Plaintext
let tension_type = [| 'High, 'Medium, 'Low, 'Ignored |] in
|
|
let horizon_type = [| 'Weeks, 'Months, 'Years, 'Continuous |] in
|
|
|
|
let state_type = {
|
|
id | String,
|
|
name | String,
|
|
description | String,
|
|
tension | tension_type,
|
|
} in
|
|
|
|
let transition_type = {
|
|
from | String,
|
|
to | String,
|
|
condition | String,
|
|
catalyst | String,
|
|
blocker | String,
|
|
horizon | horizon_type,
|
|
} in
|
|
|
|
let coupling_type = {
|
|
origin | String,
|
|
destination | String,
|
|
kind | String,
|
|
note | String,
|
|
} in
|
|
|
|
{
|
|
TensionLevel = tension_type,
|
|
Horizon = horizon_type,
|
|
State = state_type,
|
|
Transition = transition_type,
|
|
Coupling = coupling_type,
|
|
|
|
Dimension = {
|
|
id | String,
|
|
name | String,
|
|
description | String,
|
|
current_state | String,
|
|
desired_state | String,
|
|
horizon | horizon_type,
|
|
states | Array state_type,
|
|
transitions | Array transition_type,
|
|
coupled_with | Array String | default = [],
|
|
},
|
|
|
|
StateConfig = {
|
|
dimensions | Array {
|
|
id | String,
|
|
name | String,
|
|
description | String,
|
|
current_state | String,
|
|
desired_state | String,
|
|
horizon | horizon_type,
|
|
states | Array state_type,
|
|
transitions | Array transition_type,
|
|
coupled_with | Array String,
|
|
},
|
|
},
|
|
}
|