Issue No. 06 - November (1995 vol. 12)
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/52.469760
At Philips Communications Industry (PKI), we develop embedded telecommunication-infrastructure systems. Because we must deliver each product in site-specific configurations -- of which there are many -- and because the development of such systems is a major investment, we must create a product family rather than a single product. We organize system construction according to three design dimensions covered by the system architecture: structure, aspects, and behavior. Of the three dimensions, we consider structure to be the most important. In this dimension, reducing complexity is our main concern. We thus organize system functionality into four layers, or subsystems. These subsystems are composed of software modules -- 'building blocks' -- which are the basic software entities in the system architecture. The Building-Block Method is an architectural method. It does not prescribe the precise method you should use to develop the building blocks. You can use different methods within one system according to the specific requirements for each building block. You can also use formal or informal specifications for building blocks, depending upon your application domain.
Jürgen K. Müller, Frank J. van der Linden, "Creating Architectures with Building Blocks", IEEE Software, vol. 12, no. , pp. 51-60, November 1995, doi:10.1109/52.469760