comp.lang.ada
 help / color / mirror / Atom feed
From: jls@netcom.COM (Jim Showalter)
Subject: Re: What's a CSU in Ada?
Date: 9 May 91 07:57:13 GMT	[thread overview]
Message-ID: <1991May9.075713.5663@netcom.COM> (raw)
In-Reply-To: 1991May8.000741.11255@mprgate.mpr.ca

>What Ada language constructs
>meet the requirements of a CSU (per DOD-STD-2167A), and which ones are
>CSCs?

For two years or so, I supported Rational's Design Facility, which
maps Ada units to 2167A design components (and produces the documentation).
During that time, I would guess your question came up in the above or
similar form about twice a week, and the answer I gave was always the
same: "What would you LIKE the mapping to be?". 2167A is intended to
be tailorable, and as such is open to widely varying interpretations:
I've seen different interpretations used from company to company, site
to site within the same company, and even project to project within
the same site. Some customers have opted for a "weak" mapping, where
the 2167A design components and design hierarchy are pure abstractions,
with the resulting code residing only at the leaves, as CSUs (in some
cases even the CSUs were treated as abstractions that served to group
the actual comp units in some logical manner). Other customers have
tried (usually with much less success) a "strong" mapping, in which
there is a standard pre-defined Ada "meaning" to terms like "CSC". Still
other customers, seeking a more Ada- and OO-compatible standard, have
so radically tailored the baseline standard as to be virtually unrec-
ognizable.

For what it's worth, my personal preference would be to
tailor as much as practicable WHEN A CLEAR ADVANTAGE TO DOING SO CAN
BE PROVEN (tailorings that muck around with purely aesthetic issues,
such as the font used on bulleted lists, are a complete waste of time).
The objective is to adopt the standard to support a quality methodology,
not to distort your methodology to force-fit it into the standard (this
key point seems to be lost on a lot of people, which is kind of surprising
since that's essentially what the first paragraph on the first page of
the standard SAYS). I also prefer a weak mapping, since it provides a
great deal more flexibility when allocating requirements, assigning
responsibility, etc.

You and the others involved in your project need to agree on what strategy
to use, and get your customer signed off on it. To a large extent, which
mapping you decide on is of less importance than deciding on SOMETHING:
it is very easy to get bogged down in endless religious arguments about
the alleged merits of one mapping over another.

I recently read a good collection of papers on this very issue entitled
something like "Implementing the DoD-2167A Design Hierarchy in
Ada", or some such (sorry, don't have it with me at home). I think it
was put out by SIGAda or a similar SIG group. Hopefully someone else
on the net can do better at providing the precise reference.

  reply	other threads:[~1991-05-09  7:57 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1991-05-08  0:07 What's a CSU in Ada? Dave Kell
1991-05-09  7:57 ` Jim Showalter [this message]
1991-05-10 11:58   ` Kenneth B. Hawks
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox