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:

image

The assignment decision table contains real rules but its conditions refer to abstract functions that have no implementation. image

The abstract function might look like this:

image

Anyone wishing to use the abstract solution must supply their own implementation of those functions using rules that are specific to their particular situation.