Overview
ISO/IEC 8631:1989 - Information technology - Program constructs and conventions for their representation - is an international standard for expressing procedure-oriented algorithms using a small, well-defined set of program constructs. Prepared by ISO/IEC JTC 1, the standard defines the nature of program constructs, rules for how constructs may be combined, formal specifications for a set of constructs, and provisions for defining subsets of those constructs. Annex A provides informative charting notations (graphic representations) with reference to ISO 5807 symbols.
Key topics and requirements
- Scope: Focuses on expressing procedure-oriented (imperative) algorithms and on what makes a program "well-structured" - i.e., built from the standard’s constructs and combined according to the rules.
- Definition of a program construct: A construct consists of one or more procedure parts and a control part (which can be implicit).
- Construct types specified include:
- Imperative construct (single execution)
- Serial construct (sequence of procedure parts executed exactly once in order)
- Parallel construct (procedure parts initiated concurrently; construct finishes when all complete)
- Iterative constructs:
- Pre-tested iteration (condition before execution)
- Post-tested iteration (condition after execution)
- Continuous iteration (implicit condition for indefinite repetition)
- Selective choice constructs:
- Monadic (single conditional)
- Dyadic (binary choice)
- Multiple exclusive and multiple inclusive (select one or select zero-or-more procedure parts)
- Termination: A TERMINATION operation can end a construct; rules specify which constructs may be terminated and note that some termination behaviors (e.g., terminating outer constructs) do not conform to the standard. Terminating a parallel or multiple inclusive construct via TERMINATION is undefined.
- Subsets and conformance: Proper subsets of the defined constructs, used according to the combination rules, are considered conformant. A construct not listed may be used if it is functionally equivalent to a legitimate composition of defined constructs.
- Charting notations (Annex A): Examples of graphic notations for program constructs are provided, with ISO 5807 referenced; different symbol sets should not be intermixed.
Applications and users
ISO/IEC 8631 is useful for:
- Software architects and designers who need a formal, language-neutral way to describe algorithm structure.
- Programming language designers and tool vendors defining or verifying control constructs and structured program semantics.
- Technical writers, educators, and trainers teaching structured programming and algorithm representation.
- Systems analysts and documenters producing pseudocode, flowcharts, or program design diagrams consistent with international conventions.
- Standards bodies and quality assurance groups that require consistent, verifiable descriptions of procedure-oriented code or algorithmic workflows.
Related standards
- ISO 5807 - referenced for charting symbols and flowchart conventions.
- ISO/IEC JTC 1 - the joint technical committee responsible for this standard.
Keywords: ISO/IEC 8631, program constructs, procedure-oriented algorithms, structured programming, control constructs, serial construct, parallel construct, iterative construct, selective choice, termination operation, charting notations, ISO 5807.