Week 11
Week 11
Architecture
Software Architecture
Week 11
Architecture Styles
Objectives
Focused on functions.
Develop from a procedural programming paradigm.
C is an example of a language that follows this paradigm
In a main program and subroutine architectural style, a
system is modeled by breaking up the overall
functionality of the system into a main program and
subroutines
The main focus of this paradigm is therefore on the
behavior of functions and how data moves through those
functions.
The main program and subroutine architectural style is
best suited for computation-focused systems.
Main Program and Subroutine
Repository-Based Systems
Client Host
Server Host
Request-response
Synchronous
Or
Asynchronous
Advantages
Provides simpler divisions on subsystems.
Each subsystem can be an independent program working
on input data and producing output data.
Disadvantages
Provides high latency and low throughput.
Does not provide concurrency and interactive interface.
External control is required for implementation.
Pipes and Filters
The order in which the filters transform data may change the end result.
This is similar to mathematics—the order in which addition or
multiplication occurs in an expression can change the end result.
Pipes and Filters
Advantages
Provides concurrency and high throughput for excessive data processing.
Provides reusability and simplifies system maintenance.
Provides modifiability and low coupling between filters.
Provides flexibility by supporting both sequential and parallel
execution.
Disadvantages
Not suitable for dynamic interactions.
Overhead of data transformation between filters.
Does not provide a way for filters to cooperatively interact to solve a
problem.
Example
Pipe and filter architectures are popular in use, such as in the UNIX
operating system for text-based utilities.
Implicit Invocation Systems