• Wendbare wetsuitvoering

  • Agile execution of legal services

  • Onze aanpak

  • Tooling is noodzakelijk

Ik wil niet kiezen

Bij het introduceren van Business Rules Management heb je al snel te maken met bestaande markstandaarden zoals bijvoorbeeld SBVR of DMN. Deze markstandaarden en bijbehorende tools leiden al snel tot keuzen in de representatie van regels. Zelf wil ik echter niet kiezen tussen deze standaarden, laat staan dat ik wil kiezen tussen de representatie in regels of beslistabellen.

Goed inzicht in de logica van de regels vereist het onderzoeken van de logica vanuit verschillende invalshoeken. Het liefst via verschillende representaties. Dit inzicht is noodzakelijk om goede regels te kunnen schrijven anderzijds om de regels goed te kunnen testen. Testers worden zelfs expliciet opgeleid om beslistabellen te maken op basis van specificaties zie ook www.softwaretestingclass.com.  Het zou natuurlijk vervelend zijn als we het specificeren van regels optimaliseren door het inzetten van standaarden met bijbehorende tooling, maar vervolgens testers aan hun lot over laten en aan de slag laten gaan met Word en Excel. Dan kunnen we gerust spreken van suboptimalisatie.

Om voor mijzelf te bewijzen dat het een reële vraag is heb ik een voorbeeld ontwikkeld van een omgeving waarin logica op twee verschillende manieren kan worden gepresenteerd, namelijk in tekst en in tabellen. Hieronder een voorbeeld van regels die in die omgeving zijn gespecificeerd voor het oplossen van printerproblemen.

 

Wanneer in de omgeving wordt gewisseld van presentatie worden de regels weergegeven in een Beslistabel. Deze beslistabel is hieronder weergegeven.

  

De taal waarin bovenstaande specificaties zijn geschreven is ondergebracht in Jetbrains MPS een opensource tool dat beschikbaar is op www.jetbrains.com/mps. De taal is te downloaden van GitHub op https://github.com/diederikd/ProjectBeslisTabel.