Patterns of conflict among software components
Integrating a system of disparate components to form a single application is still a daunting, high risk task, especially for components with heterogeneous communication expectations. It benefits integration to know explicitly the interoperability conflicts that can arise based on the current application design and the components being considered. However, there is no consistent representation of identified conflicts that also defines strategies to resolve them. Instead, developers use prior experience which may have consequential gaps. In this paper, we formulate a common representation for six major interoperability conflicts that arise through discrepancies or direct mismatches among architectural properties of interacting components. We use an Extender-Translator-Controller (ETC) classification scheme to describe the conflict resolution strategies. Detailing these associations as patterns provides insight into formulating an overall integration architecture design reflecting the solution strategy for developers to codify with respect to all components in the application. This approach moves conflict detection and resolution toward automation, immediately reducing the risk associated with the development of component based integrated systems.
patterns interoperability integrated systems