Components and connectors
(Most people now agree that) software architectures includes components and connectors
Components define the basic computations comprising the system
- Abstract data types, filters, etc.
Connectors define the interconnections between components
- Procedure call, event announcement, asynchronous message sends, etc.
The line between them may be fuzzy at times
- Ex: A connector might (de)serialize data, but can it perform other, richer computations?