Team gravite

Overall Objectives
Scientific Foundations
Application Domains
New Results
Contracts and Grants with Industry
Other Grants and Activities

Section: Other Grants and Activities

“Equipe associée” PORGY

Participants : Jonathan Dubois, Hélène Kirchner, Guy Melançon, Bruno Pinaud.

PORGY aims at designing genuine techniques to support the visual exploration and analysis of graph rewriting systems. A graph rewrite system is a set of rewrite rules of the form A$ \rightarrow$B where A and B are graphs with variables. Such a rule applies to a graph G if G contains at least one instance of the left-hand side A , i.e. a subgraph homomorphic to A . Then G rewrites to a new graph G' obtained by replacing the instance of A by an instance of B where variables have been instantiated as in A . This induces a transitive relation on graphs. Each rule application is a rewriting step and a derivation is a sequence of rewriting steps, that we will sometimes call a computation, referring to application of rewriting to programming languages.

From a visualization perspective, dealing with graph rewriting systems boils down to dealing with dynamic graphs – although the dynamic aspects here are not given as time-stamped evolution of a graph but rather are consequences of the non-deterministic applications of rewriting rules. indeed, rewriting is intrinsically non-deterministic since it may be possible to rewrite several subgraphs of a graph at the same time with different rules or the same one, possibly getting different results.

Rewriting systems have been studied as theoretical apparatus in computer science, as a rewriting system can be considered as a “program”, in a sense. These formal objects however have interesting potential applications.

A port graph is a graph where nodes have explicit connection points called ports and the edges are attached to specific ports of nodes. This type of graph was identified from an abstract view of proteins and the molecular complexes resulted from the protein-protein interactions in a biochemical network. From a biochemical perspective, a protein is characterized by a collection of small patches on its surface, called functional domains or sites, and one kind of protein-protein interaction results in the two proteins binding on some particular sites. Then a protein, viewed as a named collection of sites, is graphically modeled by a node with ports, and a bond between two proteins by an edge in a port graph. Graphically, a node in a port graph is represented as an empty box having the identifier placed at the exterior and the ports as small points on the surface of the box. The rewriting of subgraphs correspond here to a change of states of bio-molecules. The study of the rewriting systems becomes critical to gain a better understanding of the biochemical mechanism driving interactions between molecules.

A user of the Porgy system can describe with a simple programming language how the rewriting rules have to be applied. Thanks to Tulip, the user only needs to select a source model and write the strategy. Then, all the rules are triggered and the trace tree is updated accordingly. The strategy language includes operators to select the rules to apply and the positions where the rules are applied. Those positions can also be changed along the derivation.

The PORGY project gathers researchers from GRAVITÉ(The PORGY “Equipe associée” also includes Hélène Kirchner, although Hélène is not a permanent member of GRAVITÉ.) and King's college London(See the URL .).

Figure 10. Partial view of the PORGY software application supporting visual exploration of graph rewriting systems. The graph on the middle of the figure is the trace tree which contains all rules applications. The green edges symbolize the result of a strategy written by the user.

After designing a software architecture allowing the interactive manipulation and visualization of graph rewriting systems during the first year of the project, efforts have been devoted to the development of an editor easing the generation of all necessary components (see Fig. 10 ). All graphs produced along the application of rules are stored into a tree of graph instances thus relying on a node/metanode approach. Rules are themselves considered as graphs. The visual representations of all these components raise a number of graph drawing and graph visualization issues we are currently studying.


Logo Inria