Abstract

We distinguish three abstraction strata in software design statements: (i) Strategic design statements ('architectural design') determine global constraints, such as programming paradigms, architectural styles, component-based software engineering standards, design principles, and law-governed regularities. (ii) Tactical design statements ('detailed design') determine local constraints, such as design patterns, programming idioms, and refactorings. (iii) Implementation statements determine specific properties of the implementation, such as class diagrams and program documentation. Seeking to ground the distinction between Strategic, Tactical, and Implementation statements in a well-defined vocabulary, we define 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 fol- lows:

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call