A design principle for breaking down an application into modules, layers, and encapsulations, the roles of which are independent of one another.
Source(s):
NISTIR 8301