|
The Intension/Locality Hypothesis
Problems worthy / of attack / prove their worth / by
hitting back
-- P. Hein (*) NOTE: Since the hypothesis was published, evidence conflicting with the hypothesis have emerged, in particular that design patterns are not always local (LI). For example, the Proxy and the Facade design patterns [Gamma et al. 1995], in addition to the Singleton design pattern mentioned in the caveat, are Non-Local (they involve some information hiding in some form). As a consequence I concede that the part of the hypothesis according to which "design patterns are local" is false, or probably false, and that the current formulation of the hypothesis requires some revision. If you have suggestions, please write me. Amnon Eden, Nov. 2007 Without abstraction and idealization there is no
systematization
-- John Searle This version of the intension/locality hypothesis was published in “Abstraction Classes in Software Design.” Earlier (more restricted and slightly differently formulated) version of the hypothesis appeared in “Architecture, Design, Implementation” (see also: bibliographical list). Below the hypothesis and some of its implications are sketched. Synopsis. We distinguish three abstraction strata in software design statements:
Seeking to ground this intuition in a well-defined vocabulary, we define two criteria of distinction in mathematical logic. We present the Intension/Locality Hypothesis, postulating that the spectrum of software design statements is divided into three well-defined ‘abstraction classes’, as follows:
We demonstrate a broad range of software design statements that corroborate our hypothesis. We conclude with a proof of the Architectural Mismatch theorem, according to which architectural mismatch arises from attempting to combine components that assume conflicting non-local statements. Keywords: Software design theory, software architecture, model theory. Table of Contents
![]() MotivationThe Intension/Locality hypothesis has both conceptual and practical contributions. Conceptual contributions:
Practical contributions:
A top-level ontology for software designWe observe three categories of statements in the technical literature on software design:
Three Abstraction Classes: The Intension/Locality HierarchyWe define two criteria which divide all statements in software design (i.e., descriptions of programs) into a hierarchy of three abstraction classes, the intension/locality hierarchy (Figure 2): Fig. 2: The Intension/Locality Hierarchy
The language of the Intension/Locality criteria is given below. The locality criterion divide the spectrum of all design statements into two abstraction classes: L ("local") and NL ("non-local"). The Intension criterion further refines L in two classes: LI ("local and Intensional") and LE ("local and extensional"). Jointly, these criteria result divide the space of design statement a hierarchy of three abstraction classes (Figure 2): NL, LI, and LE. The HypothesisWe postulate that the three abstraction classes in the Intension/Locality hierarchy (NL, LI, LE) coincide with the top-level ontology observed in the vernacular, namely that—
Fig. 1: The Intension/Locality hypothesis
The CriteriaThe Locality criterion. A statement is local if and only if it is preserved under expansion. Less formally, this criterion implies that strategic statements describe properties of the entire software system whereas tactical specifications pertain only to a delimited part of the program. Examples for non-local statements:
Examples for local statements:
The Intension criterion. A statement is extensional if and only if it is preserved both under expansion and under reduction. This criterion implies that implementation statements (such as class diagrams) describe a particular implementation ("extensional") whereas strategic and tactical (intensional) statements have an unbounded number of possible implementations. Examples for extensional statements:
EvidenceEvidence corroborating the Intension/Locality hypothesis are detailed and proven in [Eden, Hirshfeld & Kazman 06], summarised in the following table:
![]() BibliographyAspects of the Intension/Locality Hypothesis were presented in various forms:
| |||||||||||||||||||||||||||||||||||||||||||||
|