Level 1

5.1 Building Block View, Level 1

DokChess breaks down in four subsystems as presented below. The dashed arrows represent logical dependencies between the subsystems (“x -> y” for “x depends on y”). The squared boxes on the membrane of the system are interaction points (“ports”) with the outside world (→ 3.2 Deployment Context).

DokChess, building block view, level 1 Fig.: DokChess, building block view, level 1

Subsystem Short description
Text UI Realizes communication with a client using the XBoard protocol.
Rules Provides the rules of chess and for instance can determine all valid moves for a position.
Engine Contains the determination of a next move starting from a game situation.
Opening Provides standard moves of the chess opening literature for a game situation.

Table: Subsystems overview of DokChess

Section → 6.1 “Move Determination Walkthrough” contains an example of the interaction between the subsystems at runtime.