Node graph architecture
Node graph architecture (also called node editor) is a type of software design which builds around modular node components which can be connected to form a graph. Often the software's underlying node graph architecture is also exposed to the end user as a two-dimensional visualization of the node graph. The node graph architecture is popular in the film and video game industry.
There are often many different node types participating in the node graph. For example, Nuke, a popular visual effects compositing program, includes hundreds of nodes.[1] each performing specific tasks. For example, Nuke's Merge node produces an output image in which a number of input images have been layered. By connecting many different node types together complex image effects can be produced.
The node graph architecture often allows grouping of nodes inside other group nodes. This hides complexity inside of the group nodes, and limits their coupling with other nodes outside the group. This leads to a hierarchy where smaller graphs are embedded in group nodes.
In the paper Hierarchical Small Worlds in Software Architecture[2] author Sergi Valverde argues that most large software systems are built in a modular and hierarchical fashion, and that node graphs can be used to analyze large software systems. Many other software analysis papers often use node graphs to analyze large software systems suggesting that node graphs are good models of the internal structure and operation of the software.
References
- "Nuke Reference Guide". learn.foundry.com. Retrieved 2020-12-21.
- Valverde, Sergi; Sole, Ricard V. (11 July 2003). "Hierarchical Small Worlds in Software Architecture". arXiv:cond-mat/0307278.
- Metrics of Software Architecture Changes Based on Structural Distance
- "Graph Grammars and Constraint Solving for Software Architecture Styles". 1998: 69–72. CiteSeerX 10.1.1.108.9362. Cite journal requires
|journal=
(help)