Skip to content
◈ALB Atlas

On the Criteria To Be Used in Decomposing Systems into Modules Alive

On the Criteria To Be Used in Decomposing Systems into Modules
KindPaper
Published1972
StatusAlive
AuthorsDavid Parnas

Information hiding — decompose by secret, not by step. The principled argument behind every module system and API boundary since.

Created by David Parnas

Parnas compared two decompositions of the same KWIC index program: the traditional flowchart-derived one collapsed under change; one decomposed by 'design decisions likely to change' — each module hiding one secret — survived it.

The paper founded information hiding as design principle: module interfaces should expose what is stable and hide what is volatile. It is the intellectual root of encapsulation, abstract data types, and API design — and Parnas later argued it applied equally to hiding what you don't yet know.