Material and some slide content from:
- Emerson Murphy-Hill
- Software Architecture: Foundations, Theory, and Practice
- Essential Software Architecture
Architectural Styles Reid Holmes [TAILOR ET AL.] Lunar lander - - PowerPoint PPT Presentation
Material and some slide content from: - Emerson Murphy-Hill - Software Architecture: Foundations, Theory, and Practice - Essential Software Architecture Architectural Styles Reid Holmes [TAILOR ET AL.] Lunar lander example REID HOLMES - SE2:
Material and some slide content from:
REID HOLMES - SE2: SOFTWARE DESIGN & ARCHITECTURE
[TAILOR ET AL.]
REID HOLMES - SE2: SOFTWARE DESIGN & ARCHITECTURE
Examples: Main & subroutine Object-oriented
WE WON’T COVER THESE IN ANY GREAT DETAIL
REID HOLMES - SE2: SOFTWARE DESIGN & ARCHITECTURE
[TAILOR ET AL.]
REID HOLMES - SE2: SOFTWARE DESIGN & ARCHITECTURE
[TAILOR ET AL.]
REID HOLMES - SE2: SOFTWARE DESIGN & ARCHITECTURE
[TAILOR ET AL.]
REID HOLMES - SE2: SOFTWARE DESIGN & ARCHITECTURE
representation.
for high coupling via constructors. Understanding can be difficult.
[TAILOR ET AL.]
REID HOLMES - SE2: SOFTWARE DESIGN & ARCHITECTURE
[CZARNECKI]
Examples: Batch-sequential Pipe-and-filter
REID HOLMES - SE2: SOFTWARE DESIGN & ARCHITECTURE
step proceeding after the the previous finishes.
[TAILOR ET AL.]
REID HOLMES - SE2: SOFTWARE DESIGN & ARCHITECTURE
[TAILOR ET AL.]
REID HOLMES - SE2: SOFTWARE DESIGN & ARCHITECTURE
REID HOLMES - SE2: SOFTWARE DESIGN & ARCHITECTURE
program to another.
[TAILOR ET AL.]
REID HOLMES - SE2: SOFTWARE DESIGN & ARCHITECTURE
sequences.
structures.
[TAILOR ET AL.]
REID HOLMES - SE2: SOFTWARE DESIGN & ARCHITECTURE
hierarchically organized providing services to upper layers and acting as clients for lower layers
general functionality to more specific upper layers
layers can only communicate with adjacent layers
[CZARNECKI]
Examples: Virtual machine Client-server
REID HOLMES - SE2: SOFTWARE DESIGN & ARCHITECTURE
[TAILOR ET AL.]
REID HOLMES - SE2: SOFTWARE DESIGN & ARCHITECTURE
actions and returns data. Client initiates communication.
[TAILOR ET AL.]
REID HOLMES - SE2: SOFTWARE DESIGN & ARCHITECTURE
computation expensive.
[TAILOR ET AL.]
REID HOLMES - SE2: SOFTWARE DESIGN & ARCHITECTURE
Examples: Interpreter Mobile code
REID HOLMES - SE2: SOFTWARE DESIGN & ARCHITECTURE
REID HOLMES - SE2: SOFTWARE DESIGN & ARCHITECTURE
interpreted.
[TAILOR ET AL.]
REID HOLMES - SE2: SOFTWARE DESIGN & ARCHITECTURE
large data sets being operated on.
[TAILOR ET AL.]
REID HOLMES - SE2: SOFTWARE DESIGN & ARCHITECTURE
REID HOLMES - SE2: SOFTWARE DESIGN & ARCHITECTURE
and the interpretation engine.
bytecode).
REID HOLMES - SE2: SOFTWARE DESIGN & ARCHITECTURE
state.
[TAILOR ET AL.]
REID HOLMES - SE2: SOFTWARE DESIGN & ARCHITECTURE
without changing architecture by introducing new commands.
[TAILOR ET AL.]
REID HOLMES - SE2: SOFTWARE DESIGN & ARCHITECTURE
data store
Examples: Blackboard Rule-based
REID HOLMES - SE2: SOFTWARE DESIGN & ARCHITECTURE
REID HOLMES - SE2: SOFTWARE DESIGN & ARCHITECTURE
through shared global data repository.
[TAILOR ET AL.]
REID HOLMES - SE2: SOFTWARE DESIGN & ARCHITECTURE
problems do not need to be pre-planned.
changes and must be updated on all clients.
[TAILOR ET AL.]
REID HOLMES - SE2: SOFTWARE DESIGN & ARCHITECTURE
“reversed”
Examples: Publish-subscribe Event-based
REID HOLMES - SE2: SOFTWARE DESIGN & ARCHITECTURE
REID HOLMES - SE2: SOFTWARE DESIGN & ARCHITECTURE
Publishers maintain registrations and broadcast messages to subscribers as required.
intermediaries.
[TAILOR ET AL.]
REID HOLMES - SE2: SOFTWARE DESIGN & ARCHITECTURE
supported via intermediaries.
specialized protocols.
[TAILOR ET AL.]
REID HOLMES - SE2: SOFTWARE DESIGN & ARCHITECTURE
REID HOLMES - SE2: SOFTWARE DESIGN & ARCHITECTURE
receive events.
[TAILOR ET AL.]
REID HOLMES - SE2: SOFTWARE DESIGN & ARCHITECTURE
applications.
markets, sensor networks).
clients.
[TAILOR ET AL.]
REID HOLMES - SE2: SOFTWARE DESIGN & ARCHITECTURE
REID HOLMES - SE2: SOFTWARE DESIGN & ARCHITECTURE
REID HOLMES - SE2: SOFTWARE DESIGN & ARCHITECTURE
can act as clients or servers.
[TAILOR ET AL.]
REID HOLMES - SE2: SOFTWARE DESIGN & ARCHITECTURE
[TAILOR ET AL.]
REID HOLMES - SE2: SOFTWARE DESIGN & ARCHITECTURE
Architectural
Styles
Language Based Layered Dataflow Shared Memory Interpreter Implicit Invocation Peer-to-Peer
Main program & Subroutines Object-
Virtual Machine Client Server Batch- sequential Pipe-and-Filter Blackboard Rule-based Interpreter Mobile code Publish- subscribe Event-based
[TOPOLOGY FROM TAILOR ET AL.]