Table of Contents
Fetching ...

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.

Component Matching as a Graph Matching Problem

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.
Paper Structure (13 sections, 3 figures, 1 algorithm)

This paper contains 13 sections, 3 figures, 1 algorithm.

Figures (3)

  • Figure 1: Graph Representation of the Contract - Document Manager.
  • Figure 2: Protocol of Contract DM as DFA
  • Figure 3: Matching Process - Graph and Protocol Matching: In stap (1) We load the contract graphs stored as graphml files. (2) We create the application architecture graph as well as the required component graph an apply the subgraph matching algorithm to generate the matching contracts shown in step (3). We then extract the protocols from the matched components and apply the protocol matching algorithm to step (4). Finally we get the matched component as a result in step (5).

Theorems & Definitions (2)

  • Definition 1
  • Definition 2