Control Flow as Graph (1 - Sequence)

Programming Paradigm

imperative

Programming Language

Java

Form

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.

Mapping

PLNM
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

Cost

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

Attribution

Collected by Matthias Hauswirth

Details

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).