Extra documentatie toepasbare regels
In STTR-bestanden is het mogelijk om FEEL-expressies toe te voegen.
Wat is FEEL?
Feel staat voor 'Friendly Enough Expression Language' (meer informatie over FEEL is te vinden op What-is-feel). Met FEEL-expressies is het mogelijk om aangeleverde gegevens te bewerken, interpreteren en vergelijken.
Validatie
Bij het aanleveren van een Toepasbare Regelbestand door een leverancier wordt deze op allerhande vlakken gevalideerd. Ook de FEEL-expressies in het bestand worden daarbij geraakt.
Maar: van FEEL-expressies wordt alleen syntactisch gecontroleerd of deze kloppen. Worden de expressies zodanig opgesteld dat ze technisch gezien correct zijn? Voor die controle wordt een validatiecomponent van Drools gebruikt.
Wat niet wordt gevalideerd, is of de FEEL-expressies ook semantisch (qua inhoud) kloppen. Dat is iets waar een regelanalist, eventueel ondersteund door de software waarmee hij zijn Toepasbare Regels opstelt, zelf zorgt moet dragen. Omdat voor het traceren van deze fouten vaak inhoudelijke kennis van het Toepasbare Regelbestand nodig is, is validatie op semantiek bij aanlevering van een bestand ook niet mogelijk.
Problemen in de praktijk
Het is inmiddels al een aantal keren voorgekomen dat er Toepasbare Regelbestanden in het DSO terecht zijn gekomen met dergelijke semantische problemen. Deze Toepasbare Regelbestanden leveren vervolgens bij de executie ervan foutmeldingen op. In sommige gevallen kan dat ertoe leiden dat een initiatiefnemer zijn vergunningcheck niet kan afronden, of zijn aanvraag niet kan indienen.
Wel kunnen we de problemen waar we bij executie tegenaan zijn gelopen delen. Dit helpt hopelijk bij het voorkomen van die problemen in de toekomst. En creëert mogelijk meer bewustzijn bij regelanalisten en softwareleveranciers.
FEEL-expressie matcht niet met inputvariabele
In sommige gevallen is de FEEL-expressie wel correct, maar mag deze niet worden toegepast op de inputExpression, omdat deze een incorrect type heeft.

In bovenstaande voorbeeld zijn de (geel gearceerde) FEEL-expressies syntactisch in orde. Maar omdat deze wordt uitgevoerd op een boolean-waarde, levert dit bij de executie een foutmelding op.
FEEL-expressie methode bevat te veel input parameters
De methode contains() wordt veel gebruikt om te controleren of een string een bepaalde substring bevat. Deze methode werkt met twee input parameters
contains (stringA, stringB)
- stringA: de string waarin je stringB wilt zoeken
- stringB: de substring waarnaar je in stringA wilt zoeken

In bovenstaande voorbeeld zijn (geel gearceerd) 2 contains-methoden met 3 inputparameters te vinden.
Let op: Dit is natuurlijk een syntactische fout. Uit nader onderzoek bleek dat er een bug zit in de FEEL-validator die Drools levert.