Control Flow as Graph (1 - Sequence)

Programming Paradigm


Programming Language



Handmade representation

Conceptual Advantage

See a method as a sequence of statements to execute, and make clear that that sequence starts when the method is called and ends when the method returns.


statement rectangular node
control-flow between statements arrow from node to node
method entry round 'e' node at top
method exit round 'x' node at bottom

Draws Attention To

The idea of a 'sequence' in structured programming, where a sequence consists of statements to execute.

Use When

When introducing how to implement a method's body


Introduction of a potentially new abstract representation (graph with edges and nodes). Entry and exit nodes, which do not correspond to statements in the source code (note: exit comes AFTER a possible return statement).

Origin / Source

Compilers (control-flow graphs) and flow charts


Collected by Matthias Hauswirth


This is the first in a sequence of "Control Flow as Graph" notional machines:

  1. Sequence
  2. Selection
  3. Multi-Way Selection
  4. Short-Circuit
  5. Repetition

The following video Matthias Hauswirth uses the "Control Flow as Graph" notional machine in his "Programming Fundamentals 2" Bachelor course to explain sequences of statements as well as the entry and exit node in Java. It also discusses if-statements (covered in the Selection variant of this notional machine).