Configuraciones (bloque de creación de máquina de estado)
La tabla de configuración StateMachineConfiguration de la cosa PTC.StateMachineImpl.Manager es donde se definen las máquinas de estado individuales. En esta tabla se incluyen los siguientes campos:
• stateMachineName: nombre de la máquina de estado. Debe ser único.
• dataShapeName: si la máquina de estado está asociada a un campo de una definición de datos, especifique el nombre de dicha definición.
• fieldName: si la máquina de estado está asociada a un campo de una definición de datos, especifique el nombre del campo.
• stateMachineConfiguration: código JSON que define la máquina de estado. Para cada estado de la máquina de estado, se puede especificar lo siguiente:
◦ initial: si true, el estado es un estado inicial.
◦ final: si true, el estado es un estado final.
◦ transitions: transiciones válidas desde este estado. Para una transición determinada, también se puede especificar lo siguiente:
▪ action: acción que se puede producir cuando sucede la transición.
▪ event: evento que activa la transición.
Los servicios que llaman a la máquina de estado pueden hacer referencia a los valores de action y event.
{
"states": {
"Dispatched": {
"initial": true,
"transitions": {
"Running": {
"action": "EndProductionBlock",
"event": "StartJobOrder"
},
"Canceled": {},
"Pending": {}
}
},
"Held": {
"transitions": {
"Running": {
"action": "EndProductionBlock",
"event": "StartJobOrder"
},
"Completed": {},
"Canceled": {}
}
},
"Running": {
"transitions": {
"Held": {
"action": "EndProductionBlock",
"event": "StopJobOrder"
},
"Completed": {
"action": "EndProductionBlock",
"event": "StopJobOrder"
}
}
},
"Completed": {
"final": true
},
"Canceled": {
"final": true
},
"Pending": {
"initial": true,
"transitions": {
"Dispatched": {},
"Canceled": {}
}
}
}
}