Abstract: Software systems are often constructed from parts: components, and the interaction mechanisms (connectors) that enable them to communicate. When these parts are independently developed, they are not always a perfect match for one another or for the system requirements. To overcome mismatch as well as to remedy some kinds of extra-functional deficiencies, connector implementations are sometimes augmented, via interceptors or wrappers or more invasive means. Today these modifications are often ad hoc and it is difficult to answer questions such as: How does a particular augmentation affect the protocol of the connector? Do two potential augmentations interact in bad ways, and does the order of their application matter? Are desirable properties/assumptions preserved? By considering connector augmentations as modularized protocol transformations, I endeavor to provide a basis for answering some of these questions.