Foundations for the Study of
Software Architecture
by Dewayne Perry &
Alexander Wolf
ACM SIGSOF! Oct" #$$%
Presented by
Charles &eid
%'('%))*
Dewayne +" Perry
,nder-rad de-ree in Philoso.hy
with a M"S" and Ph"D" in
Co/.uter Science
0on- list of acade/ic
e/.loy/ent includin- ,C0A
1.hiloso.hy2! CM,! and
,ni3ersity of exas at Austin
ons of .rofessional research
on software .rocesses and
software en-ineerin-
4oard /e/ber of International
Software Process Association
1ISPA2"
Alexander 0" Wolf
Prof" of Co/.uter Science at the
,ni3ersity of Colorado at 4oulder
Director of Software +n-ineerin-
&esearch 0ab
Chair of the ACM S.ecial Interest
Grou. in Software +n-ineerin-
1SIGSOF2
Se3eral .ublications in se3eral
areas 5 6etwor7in-! Distributed
Syste/s! Software Architecture!
Software Process! Security!
Co/.onent Mana-e/ent! 8
Pur.ose of the Pa.er
he .ur.ose is 9to build the foundation
for software architecture:"
hey loo7 at other architectural
disci.lines to -ain an intuition for
software architecture"
he .a.er .ro.oses a /odel for
software architecture and .ro3ides an
exa/.le
Where Does Architecture Fit;
&e<uire/ents
Deter/ine what infor/ation! .rocessin-! and characteristics
of the infor/ation .rocessin- are needed
Architecture
Deter/ines architectural ele/ents! their interactions! and
the constraints they are sub=ect to
Desi-n
Modulari>ation and detailed interfaces! al-orith/s! and data
ty.es to su..ort the architecture
I/.le/entation
&e.resentations of ele/ents fro/ the desi-n
Why are they doin- this;
he authors ex.ect that disci.lined software
architecture will?
Pro3ide an architectural fra/ewor7 for satisfyin-
re<uire/ents
Pro3ide a basis for desi-n! cost esti/ation! and
.rocess /ana-e/ent
Pro/ote reuse
Pro3ide a basis for consistency and de.endency
analysis
Pro3ide a way to se.arate aesthetics fro/
en-ineerin-
Architectural +rosion and Drift
Architectural +rosion
he syste/ beco/es /ore brittle due to
3iolations of the ori-inal architecture
Architectural Drift
Due to 9insensiti3ity about the architecture:
hey clai/ this leads to inada.tability
which can lead to lac7 of clarity or
coherence
Gainin- the Intuition for
Software Architecture
Co/.uter Architecture
6ot a useful basis for software architecture
due to funda/ental differences
&elati3ely s/all nu/ber of desi-n
ele/ents and scale is achie3ed throu-h
re.lication
6etwor7 Architecture
Also not too useful
Focuses on nodes and connections and
deals with a s/all nu/ber of to.olo-ies
Gainin- the Intuition for
Software Architecture
4uildin- Architecture
Pro3ides useful insi-ht
Multi.le 3iews of sa/e structure
Architectural styles
Style and en-ineerin-
Style and /aterials
he Architectural Model
Software Architecture @ A+le/ents! For/!
&ationaleB
+le/ents can be .rocessin- ele/ents! data
ele/ents! or connectin- ele/ents
For/ consists of wei-hted .ro.erties and
relationshi.s
Wei-htin- indicates i/.ortance or necessity of the
relationshi.
&ationale is the reasonin- behind the architectural
decisions
Co/.iler +xa/.le
Co/.iler with * .hases
Processin- ele/ents @ Alexer! .arser!
se/antor! o.ti/i>er! code -eneratorB
Data ele/ents @ Acharacters! to7ens!
.hrases! annotated .hrases! ob=ect
codeB
Connectin- +le/ents @ A.rocedure
calls! .ara/etersB
Co/.iler +xa/.le cont"
For/ /i-ht dictate that the o.ti/i>er and annotated
.hrases /ust acco/.any each other but they are not
necessary ele/ents
For/ /i-ht also dictate relationshi. between data
ele/ents
Processin- Architectural Ciew
Architectural Data Ciew
Co/.arin- Different Co/.iler
Models
Conclusions
hey belie3e that theyDre /odel and the
use of a..licationEoriented .ro.erties
will?
Ma7e it easier to co/.are architectures
Ma7e it easier to deter/ine which
architectural co/.onents can be reused
4etter illustrate the de.endencies and
consistency between architectural
ele/ents