[comp.lang.ada] booch vs. buhr

msg@esl.ESL.COM (Mark Gerhardt) (01/31/88)

There is a naive notion that a system can really be built by
writing Ada specs first, and then the bodies.  Often the requirements
and early abstractions of an evolving system contain behavioral
information.  For example, an interval timout for a communications
link shows up early in the system evolution process.

The difference between Buhr and Booch is that Buhr includes
some behavioral information from the body in the pictures.  Selects
and all their variants, may be drawn in Buhrgraphs.  Booch, om the
other hand, uses a methodology which hides this behavior within a
package abstracti.  The two approaches really differ about the
underlying design methods which are implied by their use.  Buhr
encourages partitioning into cooperating processes and defines
their cooperative semantics, while Booch encourages deferring the
cooperating semantics into the bodies.

Both are essentially static representations.  What we REALLY need is
sets of tools which operate on workstations and "animate" the intent
of dynamics available within Ada.  Elaboration, exception propagation,
generic inst, and allocators are representable with an
extension of the Buhr technique with animation support.  In
conversations with Buhr, I know that he is interested as well as I
am in such extensions.

Mark Gerhardt
ESL, Inc.
495 Java Drive
Sunnyvale, CA 94088-3510
(408)738-2888 x4556
arpa reply:  esl!msg@ames.arpa
or:		msg@esl.esl.com