Vithanco

VGL Guide — IBIS

Estimated reading time: 1 minutes.

IBIS

Decision-making and argumentation.

Node types

  • Question — a question or issue to be resolved (default: blue)
  • Answer — a proposed answer or solution (default: pink)
  • Pro — an argument supporting an answer (default: green)
  • Con — an argument opposing an answer (default: red)

Edge types

  • answered_by — Question → Answer
  • supports — Answer → Pro
  • objects_to — Answer → Con
  • pro_questions_question — Pro → Question
  • con_questions_question — Con → Question

The example below also serves as the tour of groups, attributes and cross-group edges; for the smallest possible IBIS document see Type inference and minimal syntax.

vgraph comprehensive: IBIS "Comprehensive Example" {
    rankdir: LR;
    fontcolor: darkblue;
    labeljust: l;

    node root: Question "Main Question" [fontsize: 20; color: navy];
    node ans1: Answer "Primary Solution" [fontsize: 16];

    group analysis "Detailed Analysis" {
        style: filled;
        color: lightgray;

        node q_perf: Question "What about performance?";
        node a_fast: Answer "Optimize critical paths" [color: green];
        node pro_perf: Pro "40% faster response time";

        group tradeoffs "Trade-offs" {
            style: dashed;
            color: yellow;

            node con_complex: Con "Increased code complexity";
            node q_maint: Question "Can we maintain this?";
        };

        edge q_perf -> a_fast: answered_by;
        edge a_fast -> pro_perf: supports;
        edge a_fast -> con_complex: objects_to;
        edge con_complex -> q_maint: con_questions_question "Raises concern";
    };

    // Cross-group connections
    edge root -> ans1: answered_by "Main path";
    edge ans1 -> q_perf: answered_by [style: dashed; weight: 5];
}