Results of Attention to Architecture
Architecture must be considered the “heart” of developing a software system, more so than:
?-satisfaction of customer needs
Similarities to regular architecture
?-Software is much newer, so we know much less about it
Differences from regular architecture
Pipe and FIlter Architecture
Three “Fundamental” Understandings About Architecture
Advantages of Product Family?
We can have multiple sets of architecture at different times. What are some reasons for different versions?
-Non-functional requirements are usually done by the solution providers
True
-The architecture should START at the requirements stage
True
Connectors may be classified semi-hierarchically by these four attributes: C-T-D-V
Four categories of connector services? C-C-C-F
Communication Services:
• Supports transmission of information among components
Coordination Services:
• Supports transfers of control among components
Conversion Services:
• Transforms the “interactions of control and/or data” required by one
component to that provided by another
Facilitation Services:
• Mediate and streamline (e.g. performance) the component interactions
8 connector types? PE SAD LAD
Services provided by procedure call connectors? (3)
Coordination Service: flow of control among components (via invocation techniques)
• Communications Service: Transfer of data among interacting components (via
parameters and return values)
• Facilitation Service: Facilitate remote procedure call as a “composite” connector
Services provided by Event Connectors? 2
• Coordination services: Regulate the flow of control among
components (an event precipitates the flow of control to a component)
• Communication services: transfers data about the event to those
components who are interested or application data
Services provided by Data Access Connectors? 2
• Communication services: connections to data stores, including
preparation for connection and clean up after access.
• Conversion services: performs any conversion of data formats
and facilitates any access and query mechanisms.
Service provided by linkage connector?
• Facilitation services: provides the “duct or channel ” to facilitate
communications and coordination of information and enforces the
interaction semantics
Service provided by stream connector?
• Communication services: provide the transfer of large amounts of
information (data) ; this service combined with data connector can
form a composite connector of database and file storage access.
Services provided by arbitrator connector? 2
• Facilitation services: resolves any conflict among components and
thus assist and mediate the services among components
• Coordination services: directing and redirecting the control flow
among components
Service provided by adaptor connector?
• Conversion services: provide facilities to support interactions among
components which were not initially designed to interoperate (e.g.
different operating environment, different languages, etc.).
Service provided by distributor connector?
• Facilitation services: identifies interaction paths and routing of
communications and coordination information among the
components.
“specialized” software components that facilitate
the interactions among “application” software components
Software Connectors
Composing a software system from “pre-fabricated, heterogeneous”
components may engage in:
Complex interactions to Produce complex functionalities
Two conceptual building blocks of component interactions?
2. Flow of Information