Kamis, 21 Desember 2017

Sponsored Links

Simplifying Decision Tables - YouTube
src: i.ytimg.com

Decision tables are a concise visual representation for specifying which actions to perform depending on given conditions. They are algorithms whose output is a set of actions. The information expressed in decision tables could also be represented as decision trees or in a programming language as a series of if-then-else and switch-case statements.


Video Decision table



Overview

Each decision corresponds to a variable, relation or predicate whose possible values are listed among the condition alternatives. Each action is a procedure or operation to perform, and the entries specify whether (or in what order) the action is to be performed for the set of condition alternatives the entry corresponds to.

To make them more concise, many decision tables include in their condition alternatives a don't care symbol. This can be a hyphen or blank, although using a blank is discouraged as it may merely indicate that the decision table has not been finished. One of the uses of decision tables is to reveal conditions under which certain input factors are irrelevant on the actions to be taken, allowing these input tests to be skipped and thereby streamlining decision-making procedures.

Aside from the basic four quadrant structure, decision tables vary widely in the way the condition alternatives and action entries are represented. Some decision tables use simple true/false values to represent the alternatives to a condition (similar to if-then-else), other tables may use numbered alternatives (similar to switch-case), and some tables even use fuzzy logic or probabilistic representations for condition alternatives. In a similar way, action entries can simply represent whether an action is to be performed (check the actions to perform), or in more advanced decision tables, the sequencing of actions to perform (number the actions to perform).

A decision table is considered balanced or complete if it includes every possible combination of input variables. In other words, balanced decision tables prescribe an action in every situation where the input variables are provided.


Maps Decision table



Example

The limited-entry decision table is the simplest to describe. The condition alternatives are simple Boolean values, and the action entries are check-marks, representing which of the actions in a given column are to be performed.

A technical support company writes a decision table to diagnose printer problems based upon symptoms described to them over the phone from their clients.

The following is a balanced decision table (created by Systems Made Simple).

Of course, this is just a simple example (and it does not necessarily correspond to the reality of printer troubleshooting), but even so, it demonstrates how decision tables can scale to several conditions with many possibilities.


Using decision tables to support contextual targeting in your UI ...
src: s-media-cache-ak0.pinimg.com


Software engineering benefits

Decision tables, especially when coupled with the use of a domain-specific language, allow developers and policy experts to work from the same information, the decision tables themselves.

Tools to render nested if statements from traditional programming languages into decision tables can also be used as a debugging tool.

Decision tables have proven to be easier to understand and review than code, and have been used extensively and successfully to produce specifications for complex systems.


decision table testing technique with example - YouTube
src: i.ytimg.com


History

In the 1960s and 1970s a range of "decision table based" languages such as Filetab were popular for business programming.


JBoss Drools â€
src: technicalmumbojumbo.files.wordpress.com


Program embedded decision tables

Decision tables can be, and often are, embedded within computer programs and used to "drive" the logic of the program. A simple example might be a lookup table containing a range of possible input values and a function pointer to the section of code to process that input.

Multiple conditions can be coded for in similar manner to encapsulate the entire program logic in the form of an "executable" decision table or control table.


ODM Technical Tutorials: Decision Table - YouTube
src: i.ytimg.com


Implementations

  • Filetab, originally from the NCC
  • DETAB/65, 1965, ACM
  • FORTAB from Rand in 1962, designed to be imbedded in FORTRAN
  • A Ruby implementation exists using MapReduce to find the correct actions based on specific input values.
  • Gandalf, an open-source decision tables engine

Drools: User forum - MOVED - I am getting errors for Decision ...
src: drools-moved.46999.n3.nabble.com


See also

  • Decision trees
  • Case based reasoning
  • Cause-effect graph
  • Dominance-based rough set approach
  • DRAKON
  • Semantic decision table

Limited Entry Guided Decision Table in Drools 6.0 (Full Screen ...
src: i.ytimg.com


References


HR Triggers BRF Plus -> Decision Table with Company Code (BUKRS ...
src: blogs.sap.com


Further reading

  • Dwyer, B. and Hutchings, K. (1977) "Flowchart Optimisation in Cope, a Multi-Choice Decision Table" Aust. Comp. J. Vol. 9 No. 3 p. 92 (Sep. 1977).
  • Fisher, D.L. (1966) "Data, Documentation and Decision Tables" Comm ACM Vol. 9 No. 1 (Jan. 1966) p. 26-31.
  • General Electric Company (1962) GE-225 TABSOL reference manual and GF-224 TABSOL application manual CPB-l47B (June 1962).
  • Grindley, C.B.B. (1968) "The Use of Decision Tables within Systematics" Comp. J. Vol. 11 No. 2 p. 128 (Aug. 1968).
  • Jackson, M.A. (1975) Principles of Program Design Academic Press
  • Myers, H.J. (1972) "Compiling Optimised Code from Decision Tables" IBM J. Res. & Development (Sept. 1972) p. 489-503.
  • Pollack, S.L. (1962) "DETAB-X: An improved business-oriented computer language" Rand Corp. Memo RM-3273-PR (August 1962)
  • Schumacher, H. and Sevcik, K.C. (1976) "The Synthetic Approach to Decision Table Conversion" Comm. ACM Vol. 19 No. 6 (June 1976) p. 343-351
  • CSA, (1970): Z243.1-1970 for Decision Tables, Canadian Standards Association
  • Jorgensen, Paul C. (2009) Modeling Software Behavior: A Craftsman's Approach. Auerbach Publications, CRC Press. Chapter 5.

FICO® Decision Modeler: Create a Decision Table - YouTube
src: i.ytimg.com


External links

  • RapidGen Software For Windows, Unix, Linux and OpenVMS versions of decision table based programming tools and compilers
  • LogicGem Software For Windows decision table processor for perfecting logic and business rules

Source of the article : Wikipedia

Comments
0 Comments