decisiontables

 

FrontPage

Page history last edited by oldestgeek 11 mos ago

Decision Tables

Translating into code

Strawman-Spec-1

Strawman-Pseudo-Code 

 

Foreword

 

Back in the day, flow chart were all the rage for "defining" program logic.  Programs seldom followed flowcharts very closely and were seldom updated so very few people actually used them other than as part of initial design.  The most basic problem was that flowcharts are limited in the amount of logic and symbols they can represent.  Furthermore, beyond a certain level of complexity, they don't really work.  Logic problems can be n dimensional and flow charts are 2 dimensional.

 

I ran into the flowchart problem on a consulting job for a supplier of lab equipment.   It had an inventoryof 62,000 items in inventory. Cusomers included schools, scientific labs, government agencies of all levels, private industry and probably a few mad scientists and inventors, for all we knew.  Some of the inventory had special requirements and regulations,  and each group seemed to have its own special rules, purchasing requirements, and credit limits.  Add in all the conditions and it was impossible to flowchart. 

 

I had just come across decision tables in a technical publication and decided to try them on defining the problem.  It worked and worked well.  The problem came when I tried to translate the tables into code.  Obviously,the ideal solution was a program that translated the tables into code.  There were one or two at the time but they were very expensive, well beyondthe project budget. Furthermore, they translated the tables into huge strings of if-then-else logic.  I didn't have the budget and I didn't like what they produced so I wrote my own!

 

But to digress:

 

Decision table references

 

There are a lot of sites about decision tables. 

 

http://www.econ.kuleuven.ac.be/prologa/ Goes deeply into automatic building and verifying.

http://www.cems.uwe.ac.uk/jharney/table.html Simplified explanation and examples.

http://nxbre.wiki.sourceforge.net/ Open source project.   Business rules engine.

http://en.wikipedia.org/wiki/Decision_table The inevitable wikipedia article with some goodlinks.

 

All of projects/products seem to make things very complex and yet only give very simple, if not toy, examples.

 

OpenRules http://www.openrules.com/index.htm is ambitious and operates in the "real" world.  There are also some  complex examples on the site.

 

In general, most of the above do very ambitious things and are an extension of ideas from CASE and the latest object (OO) buzz.  At this point I am trying to use decision tables in a very simple/limited way using a structure that could be called a state machine.

 

Top of Page

 

Comments (0)

You don't have permission to comment on this page.