The document discusses the past, present, and future of software architecture. It describes how software architecture has traditionally been defined as consisting of elements, form, and rationale. It notes that currently, software architecture is an area of active research in academia and practice in industry. However, it questions whether software architecture may become less important going forward as existing solutions are reused. It raises challenges for the future, such as handling dynamic and continuous changes to architecture, integrating software and hardware, and designing resilient systems with undefined boundaries.
1. WICSA/ECSA
2012,
Helsinki
So#ware
Architecture:
Past,
Present,
and
Future
Direc7ons
Ivica
Crnkovic
Mälardalen
University,
Sweden
www.idt.mdh.se/~icc
2. Past
&
Present
-‐
impression
from:
• Dewayne
E.
Perry,
Alexander
L.
Wolf
.
Founda7ons
for
the
study
of
so#ware
architecture,
ACM
SIGSOFT
SoMware
Engineering
Notes,
Volume
17
Issue
4,
Oct.
1992,
Pages
40
–
52
Google
Scholar:
2012-‐08-‐20:
Cited
by
1893
3. 2.
Intui7on,
Context,
and
Mo7va7on
2.1
Developing
an
Intui]on
about
SoMware
Architecture
• Compu]ng
hardware
architecture
• Network
architecture
• Building
architecture
4. 2.
Intui7on,
Context,
and
Mo7va7on
2.1
Developing
an
Intui]on
about
SoMware
Architecture
• Compu]ng
hardware
architecture
• Network
architecture
• Building
architecture
Mul]ple
views;
Architectural
styles;
Style
and
engineering;
Style
and
materials
5. 2.
Intui7on,
Context,
and
Mo7va7on
2.1
Developing
an
Intui]on
about
SoMware
Architecture
• Compu]ng
hardware
architecture
• Network
architecture
• Building
architecture
Mul]ple
views;
Architectural
styles;
Style
and
engineering;
Style
and
materials
6. 2.
Model
of
So#ware
Architecture
• SoMware
Architecture
=
{
Elements,
Form,
Ra]onale}
– Elements:
• processing
elements;
• data
elements;
• connec]ng
elements.
7. 2.
Model
of
So#ware
Architecture
Data
• Example
1:
element
Processing
elements
Connec]ng
element
Croa7a
Downs
Italy
For
Men's
Water
Polo
Gold
8. 2.
Model
of
So#ware
Architecture
Processing
elements
• Example
2:
Data
element
Connec]ng
Soccer
-‐
Euro
2012
Italy
–
Germany
element
9. 5.
Some
Benefits
Derived
from
So#ware
Architecture
• SA
and
Analysis
– Consistency
and
Dependency
Analysis
• Consistency
of
architectural
styles
•
Consistency
of
architectural
constraints
• ….
• Establishment
of
dependencies
between
SA
and
design,
SA
and
requirements
• Implica]on
of
changes
on
SA
on
design
and
requirements
and
vice
versa
– SA
and
reuse
• Reusing
SA
components
(in
contracts
to
executable
components)
10. Present
• SoMware
Architecture
=
{
Elements,
Form,
Ra]onale}
Research
Academia
Theory
Prac]ce
ADLs
Methods,
Processes
UML
(ATAM,…)
…..
Ra7onale
Non-‐func]onal
proper]es
à
Quality
aiributes
11. Present
à
Future
–
some
ques7ons
• Buschmann,
Frank;
Ameller,
David
;
Ayala,
Claudia
P.
;
Cabot,
Jordi
;
Franch,
Xavier:
Architecture
Quality
Revisited,
SoMware,
IEEE,
July-‐Aug.
2012
• “nonfunc]onal
quality
is
of
liile
relevance
for
users
and
customers,
but
instead
mainly
a
concern
for
architects.”
12. Present
à
Future
–
some
ques7ons
• Buschmann,
Frank;
Ameller,
David
;
Ayala,
Claudia
P.
;
Cabot,
Jordi
;
Franch,
Xavier:
Architecture
Quality
Revisited,
SoMware,
IEEE,
July-‐Aug.
2012
• “nonfunc]onal
quality
is
of
liile
relevance
for
users
and
customers,
but
instead
mainly
a
concern
for
architects.”
Has
SoMware
Architecture
became
less
interes]ng
and
less
important
since
there
already
exists
many
solu]ons
Is
it
just
a
ques]on
to
(re)use
them?
13. Present
à
Future
–
some
ques7ons
• SA
–
What
does
it
mean?
– SoMware
Architecture
or
System
Architecture?
Software components
Code
Example:
Underwater
robot
Time: ... EFPs
Memory: ...
Allocation Energy: ...
mapping
Vision N x CPU
Visualiza-
FPGA
3D-sensor
Sensors tion and
Sonar actuators
F
M x GPU
...
Other
examples:
Systems
of
Systems
SoMware-‐intensive
systems,
Social
systems,….
14. Present
à
Future
–
some
ques7ons
• SA
–
What
does
it
mean?
– SoMware
Architecture
or
System
Architecture?
• Diversity
of
Hardware
• Tight
integra]on
of
SoMware
and
Hardware
(SW
is
controlling
HW)
• Changes
–
system
concerns,
not
soMware
concerns
15. Present
à
Future,
Challenges
• SA
– From
sta]c
SA
to
dynamic
SA
– From
Design
Models
to
Run-‐]me
models
– From
upgrading/upda]ng
(
S(n)-‐>
S(n+1)
)
to
con]nuous
change
(
S(x)
=
f(x)dx
)
– From
structure
to
control
16. Present
à
Future,
Challenges
• SA
– From
sta]c
to
adap]ve
and
resilient
systems
– From
isolated
to
eco
systems
dependable
(robust&resistent)
systems”
“Resilient
systems”
Well
define
system
boundaries
Undefined
boundaries
states
System
analysis
“Panarchical”
system
analysis
16