search menu icon-carat-right cmu-wordmark

Architecture, Design, Implementation

White Paper
Architecture, design, and implementation are used informally in partitioning software specifications into three coarse strata of abstraction. These strata are not well-defined in either research or practice, causing miscommunication and needless debate.
Publisher

Software Engineering Institute

Abstract

The terms architecture, design, and implementation are typically used informally in partitioning software specifications into three coarse strata of abstraction. Yet these strata are not well-defined in either research or practice, causing miscommunication and needless debate.

To remedy this problem we formalize the Intension and the Locality criteria, which imply that the distinction between architecture, design, and implementation is qualitative and not merely quantitative. We demonstrate that architectural styles are intentional and non-local; that design patterns are intentional and local; and that implementations are extensional and local.