Vithanco

VGL Guide — Notations

Estimated reading time: 4 minutes.

Notations

Fifteen notations are built in. Each has its own section in the notation reference, giving its node types, its edge types and a complete worked example.

Notation For
IBIS decision-making and argumentation
BBS benefit breakdown and analysis
ImpactMapping strategic planning and goal alignment
ConceptMap domain vocabulary as falsifiable propositions
CRT root cause analysis (Theory of Constraints)
FRT solution validation (ToC)
TRT step-by-step implementation planning (ToC)
PRT planning with necessary-condition thinking (ToC)
EC conflict resolution (ToC necessary-condition logic)
GoalTree strategic planning through Goal, CSFs and Necessary Conditions
ADTree security modelling of attack and defense interactions
CLD systems analysis: what reinforces or balances what over time
DecisionTree decision logic as questions, choices and outcomes
Timeline events across multiple tracks on a shared time axis
C4 software architecture across four levels of zoom

You can also render a notation's own structure as a diagram with a metagraph declaration — see Metagraph.

The rest of this section covers what applies across notations: how multiple arrows into one node are read, what the quality checks report, and how extensions add cross-cutting types.

Diagram logic and junctors

Each notation has a diagram logic that decides how multiple arrows into one node are read, and therefore which junctor has to be an explicit node.

Diagram logic Multiple unjoined arrows mean… Explicit junctor Implicit
sufficientCause OR — any one arrow suffices AND OR
necessaryCondition AND — all arrows required OR AND
noLogic notation-defined

Add only the exception junctor for your logic. In sufficient-cause notations (CRT, FRT, TRT, ADTree) declare an AndJunctor only for "all of these together"; in necessary-condition ones (EC, PRT, GoalTree) declare an

OrJunctor only for "any one of these alternatives". Adding the implicit junctor raises a redundantJunctor warning, since direct edges already say the same thing with less noise. The same applies to notations you declare with

vnotation.

Quality checks

Separately from notation breaks, four notations run quality checks: advisory analyses of the shape of a graph rather than its syntax. Each result carries a severity — info, warning or error — but none of them stops a document opening, and an error here means "this cannot be read as the notation intends", not "this failed to parse". Most are advice you can knowingly ignore; the thresholds are fixed, so they are worth knowing before you argue with one.

IBIS

  • warning — a Question with no Answer.
  • warning — any node with two or more incoming edges. This is a tree-shape check across every node type, so a Question raised by two separate Pro nodes trips it even though the map is legitimate.

ConceptMap — the largest set, ten diagnostics in all.

  • info — the concept and relation counts and their ratio, reported on every map. This one is a statistic, not a complaint.
  • warning — fewer than 5 concepts ("consider adding more"), or more than 25 ("consider splitting into sub-maps").
  • warning — a concept label of 4 words or more; 1–3 is the preferred range.
  • warning — a vague relation verb. This matches a fixed list of eleven exact phrases — "relates to", "is related to", "is connected to", "involves", "is involved in", "is associated with", "is linked to", "pertains to", "concerns", "has something to do with", "is about" — case-insensitively, and nothing else. It is a blocklist, not a judgement of your wording.
  • warning — a concept connected to no relation.
  • warning — more than one disconnected cluster (single stray nodes are left to the check above).
  • warning — two concepts linked in both directions; keep the more meaningful one.
  • warning — a relation with several concepts on both sides, which asserts every combination: n inbound × m outbound propositions, all of which must hold.
  • error — the same, but where a concept appears on both sides, making a proposition circular.
  • error — a relation missing a concept on either side, so it forms no proposition at all.

GoalTree

  • error — no Goal, or more than one. Exactly one is required.
  • info — a CSF count outside the recommended 3–5. A partial draft with none yet reports this too.

C4

  • warning — an external element inside the Enterprise boundary.
  • warning — a Container or Database not inside any System boundary. External containers are exempt: they legitimately live outside one.
  • warning — an element with no relationships at all. This one applies to every node type, not just elements that look like they should collaborate.

Two more quality warnings come from elsewhere: a redundant junctor, and an unknown node or edge type.

Extensions

Extensions add cross-cutting node types to any notation, listed after it and comma-separated:

vgraph myGraph: ConceptMap, Annotation "My Diagram" { ... }

Annotation is the available extension: it adds an Annotation node type that can be connected from any node in the notation, for notes and clarifications. Edge types to Annotation are inferred, so annotation edges need no explicit type.

vgraph productMap: ConceptMap, Annotation "Product Strategy" {
    node c1: Concept "Customer Need"
    node r1: Relation "drives"
    node c2: Concept "Feature"
    node a1: Annotation "Validated in user research"
    edge c1 -> r1
    edge r1 -> c2
    edge c1 -> a1
}