18. The program storage device according to claim 13 , wherein said schemas represent abstract data types of input and output messages of said source and targets.
13. A non-transitory storage device readable by machine, tangibly embodying a program of instructions executable by the machine to perform a method of automatically matching schemas, said method comprising: extracting source and target schemas from sources and targets; extracting source and target attributes from said schemas, wherein each source schema extracted from said sources will have multiple source attributes and each target schema extracted from said targets will have multiple target attributes; representing said source attributes and said target attributes as nodes in a bipartite graph, wherein said bipartite graph has edges between source and target nodes that are related to each other; defining a plurality of similarity scores between each set of related nodes, wherein each of said similarity scores is based on a different context-specific cue of said attributes that said nodes represent, wherein context-specific cues comprise lexical name, semantic name, type, structure, and functional mappings; computing an overall weight for each edge in said bipartite graph by combining said similarity scores of each set of nodes that form an edge; obtaining an optimal matching between said source and target schemas by maximizing the number of nodes matched and maximizing the weight of selected edges to produce a matching score; ranking such matching according to weights of said edges between said related nodes, for matchings having the same number of nodes; and outputting the matching nodes, said extracting of said schemas from said sources and targets comprising matching an output message of an operation in a source to an input message of a target.