(Februari, 2020) |
Na de korte introductie in de vorige nieuwsbrief over hoe de functie Regelen en Simuleren in TMX werkt, leggen we dit keer een wat geavanceerder concept uit dat regelmatig in Regelingen wordt toegepast: een State Machine.
Martijn: “De definitie van een State Machine is een model voor het gedrag van een onderstation waarbij de Regeling bestaat uit verschillende States, de overgangen tussen die States en de bijbehorende acties. Een State Machine heeft een gelimiteerd aantal States. Dat is een hele mond vol maar als je het principe begrijpt dan kan dit een Regeling echt veel eenvoudiger maken.” Wanneer gebruik je een State Machine? Hoe implementeer je die verschillende States in een Regeling? Een State Machine heeft een gelimiteerd aantal States maar je kunt er zoveel definiëren als je wilt. Is dit niet tegenstrijdig? “Nee. Het aantal States is gelimiteerd doordat er geen andere States kunnen ontstaan dan die je zelf hebt gedefinieerd. Je kunt zelf bepalen hoeveel States er zijn maar er kunnen geen andere States ontstaan dan de gedefinieerde.” “We zullen dit verduidelijken aan de hand van een praktijkvoorbeeld.” legt Martijn uit. “Neem een verkeerslicht. Er zijn vijf States te onderscheiden. Natuurlijk heb je het rode, groene en oranje licht maar die branden nooit tegelijk. Dat zijn dus de eerste drie States die je kunt definiëren. Maar ook kan het verkeerslicht ‘uitgeschakeld’ zijn of oranje knipperen. Een State Machine kun je in de documentatie van de Regeling ook heel mooi weergeven. De States kun je namelijk als blokken in een diagram zetten. Tussen de verschillende States kunnen we de reden zetten waarom een State naar een volgend stadium moet. Met een pijl geven we aan van welke State naar welke State gegaan wordt. De pijlen die verwijzen naar dezelfde State geven aan dat er een reden is om in diezelfde State te blijven. In Figuur 1 is te zien hoe dat voor ons voorbeeld van het verkeerslicht eruit ziet.” Martijn vervolgt enthousiast: “Dit versimpelt je Regeling en maakt hem beter leesbaar en om het te documenteren. Omdat de Regeling iedere seconde (of sneller) opnieuw uitgevoerd wordt neem je ook moeiteloos de status mee naar de volgende Regelslag.” Figuur 1. Verschillende ‘States’ van een verkeerslicht en de overgangen.
|