Skip to Main Content
Source code and accompanying documents that are subject to reverse engineering activities are usually written in different artifact languages, ranging from programming languages over diagram languages to natural languages. For the purpose of information extraction from such heterogeneous sources a common unifying representation is essential. Metamodeling is a popular approach to define the abstract syntax of any kind of language and is capable to handle almost all kinds of languages and formats occurring in reverse engineering contexts. Metamodels specify how concrete artifacts are to be represented as instances. The instances of CMOF-like metamodels can be viewed as graphs. TGraphs are a very general graph concept, which is based on vertices and edges as first-class entities and includes types, attributes, and ordering for both. Their use allows a common integrated representation of all kinds of documents in a concise manner which is simultaneously formal, visualisable, and efficiently processable. This talk will explain the use of metamodeling of artifacts and their representation by TGraphs as an efficient data structure. It will illustrate the role of graph algorithms and graph querying as enabling technologies in graph-based reverse engineering tools..