Graphenorientierte Programmierung, kurz GOP, wird dazu verwendet um komplexe Vorgänge von verteilten Systemen darzustellen. Durch den begrenzten Umfang von GOP wird diese Technik verwendet um die Struktur des Systems einfach und verständlich als logischen Graph darzustellen. GOP ist unabhängig von jeglicher Programmiersprache und Plattform.[1][2]
Der Graph besteht aus Nodes und Transaktionen, welche meistens richtungsabhängig von einem Node zu einem Anderen, oder zu sich selbst zeigen. Nodes sind lokale Programme, welche auf verschiedenen Maschinen verteilt sein können. Eine Transaktionen repräsentiert eine Beziehung zwischen zwei Nodes. Ein Prozess setzt sich aus Nodes und Transaktionen zusammen und stellt damit einen gerichteten Graphen dar.[3]
Der Programmierer muss selbstständig den logischen Graphen in einen Sourcecode mittels low-level Primitiven übersetzen. Dazu wird zuerst der Graph erstellt, der die Struktur und die Beziehung zwischen den lokalen Programmen im verteilten System wiedergibt. Anschließend wird der Graph in Code umgewandelt.[4]