Parnas's Criteria for Decomposing Systems into Modules

A new view on a golden-oldie paper

Daniel M. Berry

Cheriton School of Computer Science
University of Waterloo
Waterloo, ON, Canada


The talk reviews David Parnas's seminal ``On the Criteria to be Used in Decomposing Systems into Modules'' in Communications of the ACM, December, 1972. It then focuses on an issue that most people do not notice on first reading, that the code generated from a decomposition that hides implementation detail, a so-called abstract-data-type or object-oriented decomposition, can be identical to that generated from a decomposition designed with other goals in mind, such as efficiency.