Draft:Port Graph

This is a draft Articles for creation (AfC) submission. It is not currently pending review. While there are no deadlines, abandoned drafts may be deleted after

Draft:Port Graph
Port graph
Type Graph-theoretic structure
Introduced Early 2000s (formalized)
Key authors Fernández, Kirchner, Pinaud
Applications Biochemical modelling, programming languages, distributed programming
Related Graph (abstract data type), Graph rewriting

In theoretical computer science and mathematics, a port graph (also written port-graph) is a generalisation of an ordinary graph in which each node possesses a fixed, explicitly named set of ports — designated attachment points — and in which every edge connects exactly two ports rather than two nodes directly.[1] Port graphs extend multigraphs by making connection points on nodes first-class entities, enabling a finer-grained description of how components interact.

Port graphs arise naturally when modelling systems whose components interact via specific interfaces: two proteins binding at particular chemical sites, two processes communicating over a named channel, or two sub-proofs connected at a specific logical formula. The structure supports a rich theory of graph rewriting and has been applied in biochemical modelling, proof theory, concurrent programming, and the study of distributed and autonomous systems.[2]

Definition

Informally, a port graph is a graph where nodes have explicit connection points called ports. Edges are undirected and connect exclusively at ports; moreover, two ports may be connected by more than one edge, making port graphs a form of labelled multigraph.[3] Nodes, ports, and edges may all carry labels drawn from some set of properties — for example, a node may be labelled with a name and a colour, an edge with a status such as active or inactive, and a port with a role such as principal or auxiliary.

Formal definition

Let and be two disjoint sets of node names and port names, respectively. A p-signature over and is a mapping

that associates to each node name a finite set of port names. Without loss of generality one assumes that port names belonging to different node names are disjoint.[1]

Given a p-signature ∇, a port graph consists of:

  • A set of nodes, each assigned a name from ;
  • For each node of name , a set of ports attached to ;
  • A port-state mapping assigning optional state information to each port (e.g., active or inactive);
  • A set of edges, each of the form connecting port of node to port of node .[4]

A port that is not an endpoint of any edge is called a free port. The set of all free ports constitutes the interface of the port graph. Port graphs with a non-empty interface represent open systems that can be composed with others.

Labelled port graphs

A labelled port graph extends the basic definition by equipping nodes, ports, and edges with arbitrary attribute–value pairs drawn from a given signature. This allows the structure to carry semantic information required for particular applications. For instance, in a biochemical model, a node might carry attributes specifying the name of the protein it represents, its phosphorylation state, and its concentration. In a proof-theoretic setting, nodes carry logical connectives and ports carry formula labels.[5]

A formal treatment of labelled port graphs was given by Fernández, Kirchner, and Pinaud in 2018, who defined a general framework serving as the basis for graph-based programming and modelling environments.[5]

History

The conceptual roots of port graphs lie in interaction nets, a graphical model of computation introduced by the French mathematician Yves Lafont in 1990 as a generalisation of the proof structures of linear logic.[6] In Lafont's formalism, every node (called an agent) possesses a fixed number of ports arranged into one distinguished principal port and zero or more auxiliary ports; computation proceeds by rewriting pairs of agents connected at their principal ports.

Port graphs proper were subsequently developed as an abstract representation of proteins and protein interaction networks, where two proteins connect via sites of chemical compatibility.[4] Early work by Fernández, Kirchner, and colleagues at INRIA and King's College London formalised the structure and its accompanying rewriting calculus in the context of biochemical and autonomous systems modelling. This led, around 2009–2012, to the development of the PORGY visual modelling environment, in which port graphs are the primary representational primitive.[7]

Since then, port graphs have been studied from multiple theoretical perspectives — including their relationship to proof nets, the development of higher-order extensions, and their use as a substrate for strategic graph programming — and have found application in domains ranging from systems biology to social network analysis and financial modelling.[8]

[[#ref_Note: Interaction nets are a special case of port graphs in which each node has exactly one distinguished principal port, rewriting is binary and deterministic, and the strong confluence property holds. General port graphs relax all of these restrictions.|^]]

Port graph rewriting

Port graphs are most commonly studied in the context of port graph rewriting, a rule-based transformation system that generalises both term rewriting and interaction net rewriting to the setting of arbitrary labelled graphs.

Rewrite rules

A port graph rewrite rule consists of two port graphs — a left-hand side and a right-hand side — together with an arrow node whose ports specify how the free ports of correspond to those of .[9] To apply the rule to a port graph , one finds an injective graph morphism (a match) from into , removes the image of , and inserts a copy of , re-attaching the edges that formerly connected to 's interface according to the arrow node's port correspondence.

Rewriting is intrinsically non-deterministic: it may be possible to match in several locations in , or to apply different rules to overlapping subgraphs, possibly yielding different results. A port graph on which no rule is applicable is said to be in normal form. Each rule application is a rewriting step; a sequence of rewriting steps constitutes a derivation.

Strategies

Because port graph rewriting is non-deterministic, a strategy is required to control which rules are applied and where. A strategy language for port graph rewriting must cope with the absence of a canonical root position, a feature that distinguishes graphs from terms.[9] The strategy languages developed for PORGY include primitives such as:

  • AllSuc — advance the position to all immediate successors of current position nodes;
  • OneSuc — advance to a randomly chosen immediate successor;
  • NextSuc — advance along a designated port (e.g., the principal port of each node);
  • SetPos(P′) — explicitly set the position to a named subgraph ;
  • Property(ρ, G′) — restrict the position to nodes satisfying a logical property .

The full strategy language includes non-deterministic and probabilistic constructs, enabling the modelling of stochastic systems. A formal small-step operational semantics is given using a labelled transition system on derivation trees.[9]

Port graph morphisms

A port graph morphism (where may contain variable nodes and ports but does not) maps nodes, ports, and edges from to while preserving node names and port names (up to variable instantiation), the attachment of edges to ports, and all attribute–value pairs on nodes, ports, and edges.[9] The morphism intuitively identifies a subgraph of that matches up to variable occurrences. An injective port graph morphism whose domain has no variables is a matching, and finding a matching is a subgraph isomorphism problem.

Relation to other formalisms

Interaction nets

Interaction nets, introduced by Lafont in 1990,[6] are a strict special case of port graphs. In an interaction net, every node (agent) of arity has exactly ports: one distinguished principal port and auxiliary ports. Computation takes place only when two agents are connected by their principal ports, forming an active pair (or redex). Each active pair type has a unique interaction rule, ensuring strong confluence: no matter in which order redexes are reduced, the same normal form is reached. This confluence property supports massive parallelism without synchronisation.

Port graphs generalise interaction nets by removing the restrictions on the number of principal ports and on the uniqueness of rules. They can therefore model non-deterministic and concurrent systems that interaction nets, being deterministic, cannot directly represent.[2]

Proof nets

Proof nets are graph-based representations of proofs in linear logic, introduced by Jean-Yves Girard in 1987. The cut elimination procedure on proof nets can be expressed as a sequence of local graph rewritings. Port graphs provide a natural and more general representational framework that encompasses proof nets: a proof net can be encoded as a port graph, and the normalisation of the proof corresponds to port graph rewriting steps.[10] Higher-order extensions of port graphs have been proposed to more directly express cut-elimination in intuitionistic logic without an exponential enumeration of cases.[10]

Applications

Port graphs have found applications in several domains:

Biochemical and systems biology modelling
The most prominent application domain is the modelling of biochemical reaction networks, particularly protein interaction networks. Each protein is represented as a node whose ports correspond to binding sites; an edge between two ports models a physical bond between two sites. The dynamics of the network — binding events, conformational changes, phosphorylation — are described as port graph rewrite rules, and a strategy controls which rules are applied and in which order. This approach has been applied to the RAF/MEK/ERK signalling cascade and to AKAP scaffold protein models, among others.[11]
Distributed and autonomous systems
Port graphs have been used to model distributed resources such as grid infrastructures, where each resource is a node with ports. The absence of global information and the autonomous local behaviour of components are captured by a multiset of port graphs and rewrite rules applied concurrently and non-deterministically.[4]
Social network analysis
Port graph rewriting has been applied to compare propagation models (e.g., information diffusion, epidemiological spreading) in social networks, where nodes represent actors and edges labelled with port states represent the current status of a relationship.[8]
Proof theory and logic
Port graphs provide graphical representations of proofs in linear and intuitionistic logic that generalise Girard's proof nets and Lafont's interaction nets. The port graph framework supports a uniform treatment of proof normalisation as graph rewriting.[10]
Programming language semantics
Port graph rewriting serves as a foundational semantic model for graph-based programming languages, providing both operational semantics (via derivation trees) and a basis for program equivalence and verification.[5]

Tools and implementations

The primary software tool for port graph rewriting is PORGY (Port Graph Rewriting), a visual and interactive environment developed jointly by teams at INRIA Bordeaux, the University of Bordeaux, and King's College London, with initial development taking place roughly between 2009 and 2012.[7] PORGY provides:

  • A graphical editor for constructing port graphs and port graph rewrite rules;
  • A strategy language interpreter for controlling rule application;
  • A derivation tree viewer that records the complete rewriting history, allowing users to navigate forward, backward, and across branching derivations;
  • Matching and unification algorithms for finding instances of left-hand sides in the current graph;
  • Facilities for tracking and plotting quantitative parameters (e.g., node counts, edge counts) over the derivation history.

PORGY supports a stochastic extension of the strategy language in which rule applications carry probabilities, enabling in silico experiments with different priorities or probabilities of biochemical reaction rules.[11]

Extensions

Several extensions of the basic port graph formalism have been studied:

Higher-order port graphs
Fernández and colleagues defined a higher-order extension in which rewrite rules themselves are first-class port graph objects that can be rewritten. This enables reflective systems in which rules create new rules, providing a model of adaptive computation. It also allows a more direct encoding of cut-elimination in intuitionistic logic.[10]
Attributed hierarchical port graphs (AHP)
An attributed hierarchical variant supports nodes that are themselves port graphs, enabling modular and compositional modelling of complex systems.[8]
Probabilistic and stochastic port graphs
Extensions with probability distributions over rule applications have been developed to support quantitative modelling of biochemical kinetics and stochastic social processes.
Multiport interaction nets
Mazza (2005) defined multiport interaction nets, extending Lafont's original formalism by allowing multiple principal ports per agent, and showed that the resulting system can encode the full π-calculus, providing a faithful graphical representation of mobile concurrent processes.[12]

References

  1. ^ a b Fernández, M.; Kirchner, H.; Pinaud, B. (2018). "Labelled Port Graph – A Formal Structure for Models and Computations". Electronic Notes in Theoretical Computer Science, 338, pp. 3–21. Elsevier.
  2. ^ a b Fernández, M.; Kirchner, H.; Namet, O. (2014). "Strategic port graph rewriting: an interactive modelling and analysis framework". Electronic Proceedings in Theoretical Computer Science, 159, pp. 15–29.
  3. ^ Andrei, Oana; Fernández, Maribel; Kirchner, Hélène; Melançon, Guy; Namet, Olivier; Pinaud, Bruno (2011). "PORGY: Strategy-Driven Interactive Transformation of Graphs". Electronic Proceedings in Theoretical Computer Science. 48: 54–68. arXiv:1102.2654. doi:10.4204/EPTCS.48.7.
  4. ^ a b c Fernández, M.; Kirchner, H. (2009). "A Port Graph Calculus for Autonomic Computing and Invariant Verification". Electronic Notes in Theoretical Computer Science.
  5. ^ a b c Fernández, M.; Kirchner, H.; Pinaud, B. (2018). "Labelled Port Graph – A Formal Structure for Models and Computations". LSFA 2017. ScienceDirect.
  6. ^ a b Lafont, Y. (1990). "Interaction nets". Proceedings of the 17th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL '90), pp. 95–108. ACM Press.
  7. ^ a b Pinaud, B.; Melançon, G.; Dubois, J. (2012). "PORGY: a visual graph rewriting environment for complex systems". Computer Graphics Forum, 31, pp. 1265–1274.
  8. ^ a b c Vallet, J.; Kirchner, H.; Pinaud, B.; Melançon, G. (2015). "A visual analytics approach to compare propagation models in social networks". Electronic Proceedings in Theoretical Computer Science, 181, pp. 65–79.
  9. ^ a b c d Fernández, Maribel; Kirchner, Hélène; Pinaud, Bruno (2019). "Strategic port graph rewriting: An interactive modelling framework". Mathematical Structures in Computer Science. 29 (5): 615–662. doi:10.1017/S0960129518000270.
  10. ^ a b c d Fernández, Maribel; Maulat, Sébastien (2012). "Higher-order port-graph rewriting". Electronic Proceedings in Theoretical Computer Science. 101: 25–37. arXiv:1211.4098. doi:10.4204/EPTCS.101.3.
  11. ^ a b Andrei, O.; Fernández, M.; Kirchner, H.; Pinaud, B. (2019). "Strategy-Driven Exploration for Rule-Based Models of Biochemical Systems with Porgy". In Hlavacek, W. (ed.) Modeling Biomolecular Site Dynamics. Methods in Molecular Biology, vol. 1945. Humana Press.
  12. ^ Mazza, D. (2005). "Multiport Interaction Nets and Concurrency". In Abadi, M.; de Alfaro, L. (eds.) CONCUR 2005. Lecture Notes in Computer Science, vol. 3653, pp. 75–89. Springer.

Further reading

  • Fernández, M.; Kirchner, H.; Pinaud, B. (2018). "Labelled Port Graph – A Formal Structure for Models and Computations". Electronic Notes in Theoretical Computer Science. 338. Elsevier: 3–21. doi:10.1016/j.entcs.2018.10.002.
  • Pinaud, B.; Melançon, G.; Dubois, J. (2012). "PORGY: a visual graph rewriting environment for complex systems". Computer Graphics Forum. 31 (3pt4): 1265–1274. doi:10.1111/j.1467-8659.2012.03119.x.
  • Andrei, O.; Fernández, M.; Kirchner, H.; Pinaud, B. (2019). "Strategy-Driven Exploration for Rule-Based Models of Biochemical Systems with Porgy". Modeling Biomolecular Site Dynamics. Methods in Molecular Biology. Vol. 1945. Humana Press.
  • Fernández, M.; Pinaud, B. (2012). "Higher-order port-graph rewriting". Electronic Proceedings in Theoretical Computer Science. 101: 25–37. arXiv:1211.4098. doi:10.4204/EPTCS.101.3.

See also

Category:Graph theory Category:Rewriting systems Category:Models of computation Category:Formal methods Category:Proof theory Category:Systems biology Category:Theoretical computer science

Content Disclaimer

Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.

  1. The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
  2. There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
  3. It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
  4. Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
  5. Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.