[comp.software-eng] Software Architecture and Models

rsd@sei.cmu.edu (Richard S D'Ippolito) (03/29/89)

In article <1014@afit-ab.arpa> William A. Bralick writes:

>It seems to me that architecture (as in buildings, not computer systems :-) 
>should provide a useful set of lessons for software engineers.  The parallels
>between software engineering and architecture (especially for a large, unique
>building) are striking -- both are labor intensive, lengthy, expensive, 
>prone to schedule slippages and cost overruns, require not only a sound
>design but also good management practices, both can benefit from standardized
>parts, etc.  Has any formal attempt been made to draw on (this pun
>is intentionally left blank) architecture as a model for solving some
>of the problems in software engineering?


I am currently the project leader of a group here at the SEI called Software
Architecture and Modeling.  Our primary focus for the last three years has
been to apply traditional engineering practices and techniques to the
development of software.  Most notable among these techniques is the
practice of modeling.

I have found building design (architectural engineering) to be a
particularly fruitful source of examples, parallels, and metaphors when
describing the uses and value of software models.

We have been able to show improvements in the software design process in
several large-scale Ada projects by developing and applying engineering
models.  These models are just what you'd think they are -- architectural
components representing model solutions to the recurring problems
encountered in the various domains.  As model solutions, they have known
performance characteristics and structural style, and be applied with other
models of the same style to create the system architecture.  In effect, one
obtains reuse at the design level, as opposed to the component level.

For example, in the flight-simulator domain, we developed a model for
connecting and updating the objects in a system[1].  This model was used as
the architectural base for the electrical and engine systems within the
simulator.  In the C3I domain, we have produced a model for translating and
validating incoming messages[2].  This model is being used on one
large-scacle project and is being considered for another. 

Addtionally, we are developing models for Ada real-time embedded systems and
are presenting general papers on the uses of models for software
development.  One, in particular, that we will present soon discusses the
use models using examples from building architecture[3].

So, to summarize an answer to your question, yes, we have made a formal
attempt to introduce the design practices of architects and other engineers
to software development.


Rich



[1] An OOD Paradigm for Flight Simulators.  CMU/SEI-87-TR-43.

[2] A Model Solution for C3I Message Translation and Validation.
CMU/SEI-89-TR-12.  Due June, 1989.

[3] Software Development Using Models.  To be published as part of the
Internation Workshop on Software Specification and Design, Pittsburgh, May,
1989.
-- 
---------------------------------------------------------------------------
Ideas have consequences.                                    RSD@sei.cmu.edu
Richard Weaver
---------------------------------------------------------------------------

ffoire@blekko.home.nwu.edu (Jeff Orrok) (04/01/89)

Earlier someone wrote something to the effect of "the architect works from
sun to sun, but a S/W-E's work is never done".

Last night I was at a little gathering of friends and was listening to a
former physics-major-become-carpenter describe all of the whimsical changes
of mind that the rich undergo while their dream-houses are being built.
Things like moving a door to the left six inches, lowering the windows a foot,
etc. *after* construction was well underway.  While not being certain, I can
at least guess that on some of these things, the architect will have to be
consulted to determine the effects of the changes and to document them.

A hypothetical extrapolation up to the huge downtown kinds of corporate
buildings suggests to me that architecture is plagued by nearly as many
production time flaws/changes that S/W engineering experiences.

Comments?


-- Jeff Orrok, bka  Jeffoire-faire     /   /   l
--  (--is ev'rywhaire!)               l   l    l   Now I've been smilin lately
--                                     \__/\__/l thinkin about the world to come
-- ffoire@blekko.home.nwu.edu                  l
-- ...{oddjob,gargoyle}!nucsrl!blekko!ffoire   l