GOLE: modelleringswijze voor data en bedrijfslogica

door | 29 mrt 2022

GOLE: van flowchart naar software

GOLE is een volledig grafische modelleringstaal waarmee geheel automatisch een bijbehorende IT-implementatie gegenereerd kan worden. Vanuit GOLE kan een volledig procesmodel direct vertaald worden naar foutloze blockchaincode middels de OLE-compiler. Het resultaat is een exacte technische weerspiegeling van het GOLE-model in de vorm van een workflow software oplossing. Daarnaast is het een zeer gebruiksvriendelijke manier om processen overzichtelijk en volledig weer te geven. Deze blog geeft meer informatie over hoe GOLE niet alleen gebruikt kan worden voor het modelleren van bedrijfsprocessen, maar ook voor de data en bedrijfslogica, die onderdeel zijn van bedrijfsprocessen.

Het ontbrekende puzzelstuk van procesmodellen

In een vorige blog hebben we uitgelegd wat het belang is van procesmodellering om een organisatie goed in kaart te brengen, en ook om uiteindelijk goede software te maken. Zoals gezegd, er zijn zeer veel procesmodelleringstalen in omloop. Maar bijna al deze talen beperken zich tot processen, en doen vaak geen uitspraak over wat door de processen vloeit, namelijk data.

In de modelleringswereld maakt men van oudsher strikt onderscheid tussen het modelleren van processen en het modelleren van data. Zo zijn er aparte procesmodelleringstalen en aparte datamodelleringstalen. Ergens is dat echter vreemd: hoe kan ik een proces ontwerpen zonder na te denken over welke data er doorheen stroomt? En ook: hoe kan ik de welbekende diamantvormige symbolen -die keuzes/beslissingen aangeven- in bijvoorbeeld BPMN van een goede betekenis voorzien als ik niet weet welke data een rol speelt in die beslissing? Ofwel, op basis van wat maak je een keuze om het ene pad in te slaan, of een andere?

Kortom, hoe modelleer ik data, en hoe modelleer ik bedrijfslogica? En nog beter: hoe kan ik zowel processen, als de data die er doorheen stroomt, met de bijbehorende beslissingslogica modelleren in één en dezelfde taal? En het liefst ook nog een taal die geheel machinaal leesbaar is (door een computer), zodat het stuk werkende software oplevert.  Dat is een behoorlijke uitdaging voor ontwerpers van procesmodelleringstalen.

De ontwikkeling van GOLE als modelleringswijze voor proces, data en bedrijfslogica

Gelukkig heeft één persoon ooit de grondslag gegeven voor een geïntegreerde taal voor processen, data en logica, en dat is de gerenommeerde Amerikaanse wiskundige en taalfilosoof Saul Kripke. Met zijn zogenaamde mogelijke werelden semantiek heeft hij laten zien dat processen vooral bestaan uit opeenvolgingen van toestanden, en dat er een zogenaamde toegankelijkheidsrelatie is tussen een toestand binnen een proces en de toestand die daarop volgt. Wat Kripke echter nog niet had, was een procesmodelleringstaal die geschikt was voor het modelleren van bedrijfsprocessen, die bovendien machinaal leesbaar is door een computer, laat staan dat die taal resulteerde in blockchaincode ter implementatie van dat proces.

Dat is weer de verdienste van de wetenschappers binnen NorthChain, die een procesmodelleringstaal GOLE hebben ontworpen, die op geheel grafische wijze zowel bedrijfsprocessen, als de data die er doorheen stroomt en een beslissingslogica in zich herbergt, die bovendien geheel automatisch vertaalt naar een blockchain-gebaseerde IT-implementatie. Data in GOLE is niet alleen zeer gestructureerd: de data kan ook zeer complexe vormen aan, wanneer dat nodig zou zijn. De beslissingslogica in GOLE is bovendien in staat om een breed scala van bedrijfsregels te ondersteunen.

Kortom, GOLE geeft een ontwerper van bedrijfsprocessen alle middelen die men nodig heeft om een bedrijfsproces van een organisatie in kaart te brengen: proces, data en bedrijfslogica in één en dezelfde taal. GOLE-modellen vertalen in hun totaliteit ook nog een keer geheel automatisch naar werkende workflow software. Is dat niet mooi?

Reading Progress: