On the historical semantics of the notion of software architecture
This study outlines in some detail the semantic variety of the notion of ‘software architecture’ in the field of software engineering since the early 1970s. This paper shows that there are two schools of thought in software architecture, namely a material-substantialist and a formal-structuralist one. In the former school of thought, software architecture is basically regarded as a thing (device) on its own, whereas in the latter one, software architecture is basically considered a property, not a thing (device). From an ontological point of view, these two opinions are mutually exclusive. In their mutual exclusivity, however, they coincide with non-formalist versus formalist philosophies and interpretations of informatics or computer science in general, wherein software engineering –and, by implication, software architecture– is embedded. In this way, the field of software architecture mirrors an ongoing science-philosophical dispute about the characteristics and foundations of computer science or informatics as a scholarly and practical discipline. In summary it seems fair to say that the metaphor of ‘architecture’, with its distinct fine arts connotations, has been particularly attractive to software engineers because this metaphor has helped software engineers to circumvent the notorious scientific immaturity and shortage of classical engineering methods in the field of software engineering.