Component Matching as a Graph Matching Problem
Suresh Kamath
TL;DR
This work addresses automated alignment between business contracts and application-architecture contracts by modeling contracts as graphs and applying subgraph isomorphism followed by protocol refinement. It introduces a contract-graph representation, an ANTLR grammar for contracts, and a GraphML-based repository, then implements a two-phase pipeline: (i) subgraph matching to identify candidate components and (ii) DFA-based protocol equivalence to refine matches. Key contributions include the formal contract-graph framework, practical graph-based parsing and storage, and an efficient matching workflow leveraging VF2 and DFA techniques. The approach enables automated IT-organization alignment and supports decisions to reuse existing components or create new ones, with potential for scalable integration into software architecture management.
Abstract
The development of an IT strategy and ensuring that it is the best possible one for business is a key problem many organizations face. This problem is that of linking business architecture to IT architecture in general and application architecture specifically. In our earlier work we proposed Category theory as the formal language to unify the business and IT worlds with the ability to represent the concepts and relations between the two in a unified way. We used rCOS as the underlying model for the specification of interfaces, contracts, and components. The concept of pseudo-category was then utilized to represent the business and application architecture specifications and the relationships contained within. Contracts are used for the specification of both IT and Business architecture components. The linkages between them is now established using the matching of the business component contracts with the application component contracts. Typically, the matching was based on manual process, in this paper we extend the work by considering automated component matching process. In this paper we provide implementation of the matching process using graph matching.
