Download as pdf or txt
Download as pdf or txt
You are on page 1of 4

Call/Return Architectures

ƒ Dominant design style for 30 years

ƒ Goals/QA: vary according to sub-styles {Modifiability,


Scalability, (Layers: Portability)}

ƒ Sub-styles É
ƒ main program/subroutine (MPS)
ƒ object-oriented
ƒ layered hierarchies

SE, Software Architecture, FAST-NU, ©2009 46


Call/Return Style

Main Program/Subroutine Style

ƒ Early goals: reuse, independent development


ƒ Example: hierarchical call/return style

Main

Sub 1 Sub 2 Sub 3

SE, Software Architecture, FAST-NU, ©2009 47


Call/Return Style
Object-Oriented/Abstract Data Style
ƒ Goals
ƒ more natural modeling (decomposition) of real world
ƒ Encapsulation
ƒ reuse by increments (inheritance); & Polymorphism
ƒ Example: object-oriented style

Object
difference (s)
& Object Object
Commonalities in
OO & ADT
?
Object Object
Merits: Collection of interacting agents.
Demerits: Explicit identity binding, low-level
Also: event-driven systems
SE, Software Architecture, FAST-NU, ©2009 48
Call/Return Style
Layered Hierarchies
Goals: portability, reuse, incremental abstractions,
enhancement

Example: ISO (OSI 7 layers reference model), structure of OS


User interface Only downward calls

Useful system

Core

Basic utility Basic utility


Useful system

Core
Merits: upper layers often provide virtual machines themselves
Demerits: Truly layered systems are rare (layer bridging), difficult
to define abstraction layers, performance suffers
SE, Software Architecture, FAST-NU, ©2009 49

You might also like