Abstract Decision Tables - Gnorion/BizVR GitHub Wiki
Abstract Decision Tables
The Business Problem
Suppose you want to create a decision table that can figure out assignments of resources to suitable tasks.
You also want it to be applicable to the following situations:
- assigning nurses to patients
- assigning seats to passengers
- assigning gates to planes
- assigning pilots to planes
- assigning Xs to Ys (where you don't yet know what X and Y are)
Is this possible given that all these different scenarios have very little in common except for the notion of matching up a task to a suitable resource?
The BizVR Solution
The solution is to solve the matching problem with a decision table at the abstract level and allow the individual situations to supply their own specific rules. Here's what an abstract decision might look like:
The assignment decision table contains real rules but its conditions refer to abstract functions that have no implementation.
The abstract function might look like this:
Anyone wishing to use the abstract solution must supply their own implementation of those functions using rules that are specific to their particular situation.