architecture, design, implementation
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 intensional and non-local ; that design patterns are intensional and local; and that implementations are extensional and local .
implementation partition software abstraction research practical locality demonstrate architectural style design patterns architectural design software architecture software design theory