- From: Geoff Arnold <Geoff.Arnold@Sun.COM>
- Date: Thu, 19 Sep 2002 17:40:13 -0400
- To: Mark Baker <distobj@acm.org>
- Cc: David Orchard <dorchard@bea.com>, www-ws-arch@w3.org
On Thursday, September 19, 2002, at 04:46 PM, Mark Baker wrote:
> Software architecture is the architecture *of* implementation;
>
> "A software architecture is an abstraction of the run-time elements
> of
> a software system during some phase of its operation.[...]"
> --
> http://www.ics.uci.edu/~fielding/pubs/dissertation/
> software_arch.htm#sec_1_1
Your interpretation of Fielding's (somewhat ambiguous) definition seems
to
suggest that an architecture is coupled to an implementation. That is
certainly
not a particular common position (though I'm sure we have all
encountered
post-hoc architectures). A more common usage runs something like this:
A software architecture describes the structural properties of
software,
typically the components and their interrelationships, and guidelines
about their use.
This is taken from
http://www.opengroup.org/architecture/adml/background.htm
which introduces the Open Group's Architecture Description Markup
Language,
part of TOGAF (which evolved from the DOD TAFIM (Technical Architecture
Framework for Information Management). The point is that the components
and
their structural relationships are not necessarily coupled to any
particular
implementation technology. It makes sense to ask whether a particular
system implementation *conforms* to such an architecture. You seem to
be saying that that would be a tautology....
(I have to say that I don't like Fielding's definition at all, the more
I look at it. Read literally, it means that an architecture can change
from one "phase of operation" to the next. That's just plain weird, and
seems completely incompatible with common usage.)
Geoff
Received on Thursday, 19 September 2002 17:40:14 UTC