Configurations (bloc de construction de machine à états)
La table de configuration StateMachineConfiguration de l'objet PTC.StateMachineImpl.Manager est l'endroit où sont définies les différentes machines à états. Cette table comporte les champs suivants :
• stateMachineName : nom de la machine à états. Doit être unique.
• dataShapeName : si la machine à états est associée à un champ d'une forme de données, indiquez le nom de cette forme de données.
• fieldName : si la machine à états est associée à un champ d'une forme de données, indiquez le nom du champ.
• stateMachineConfiguration : code JSON définissant la machine à états. Pour chaque état de la machine à états, vous pouvez indiquer les informations suivantes :
◦ initial : si ce paramètre est défini sur true, l'état est un état initial.
◦ final : si ce paramètre est défini sur true, l'état est un état final.
◦ transitions : transitions valides depuis cet état. Pour une transition donnée, vous pouvez également indiquer les informations suivantes :
▪ action : action pouvant se produire lorsque la transition s'effectue.
▪ event : événement qui déclenche la transition.
Les valeurs action et event peuvent être référencées par les services qui appellent la machine à états.
{
"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": {}
}
}
}
}