CHECKS

In 1994, Ward Cunningham brought his CHECKS Pattern Language of Information Integrity to the first software-patterns conference — Pattern Languages of Programming, or PLoP. page

The PLoP94 submission was accompanied with a map showing the relations between patterns placed in two dimensions that seemed relevant but have been forgotten.

CHECKS Map

This language contains 10 patterns for telling good input from bad. It also describes recording the Fact that the input was bad and continuing processing even with the bad input. The methods are designed to make the checks without overly complicating your program or making them inflexible for future changes.

The patterns are presented in three sections (see map for color key).

Section 1. Yellow. Specialized Values. Push tangential details into values that handle business or computational conventions.

Section 2. Green. Provide the Illusion. Create an experience that will feel as if one has direct control of the domain.

Section 3. Blue. Questionable Information. Support the analysis and disposition of suspect data whatever its source.

The first section describes values as they should be captured by the user-interface and used within the domain model. The second and third sections discuss detecting and correcting mistakes, first during data entry and then after posting or publication.

The patterns draw from the author's experience developing financial software in Smalltalk. They are written as if part of a larger language and therefor may seem sketchy or incomplete. This paper is as much an experiment in the selection and linking of patterns as an attempt to communicate practical knowledge.

~

A pattern often refers to preceding patterns when it begins, and to following patterns when it ends. For simplicity, Ward drew arrows only once, always pointing forward, and reduced the incoming references as they appeared. matrix (2022-05-03)

~

CUNNINGHAM, Ward, 1994. The CHECKS Pattern Language of Information Integrity. wiki

CHECKS appeared in Pattern Languages of Program Design, by James O. Coplien and Douglas C. Schmidt (Addison-Wesley).

These images extracted from a recovered file present each pattern in one or two of slides. enlarge

~

DOT strict digraph rankdir=TB node [shape=box style="solid,rounded,filled" fillcolor=lightyellow penwidth=3 color=black] HERE NODE node [style="solid,rounded,filled" fillcolor=white penwidth=2 color=black] edge [style=solid penwidth=1 color=black] LINKS HERE -> NODE node [style="filled,rounded" fillcolor=white penwidth=1 color=black] HERE NODE LINKS HERE -> NODE BACKLINKS NODE -> HERE node [style="dotted,rounded,filled" penwidth=1 fillcolor=white color=grey] edge [style=dotted penwidth=1 color=grey] HERE BACKLINKS NODE -> HERE