ners, and mark an edge square only
when there is no other choice.
illustration by leandro Castelao
Such required behaviors can be cod-
ed in executable software modules using
behavioral programming idioms and
infrastructure, as we will detail. Full be-
havioral implementations of the game
exist in Java25 and Erlang.
43 In Harel et
20 we show how model-checking tech-
nologies allow discovery of unhandled
scenarios, enabling the user to incre-
mentally develop behaviors for new tac-
tics (and forgotten rules) until a software
system is achieved that plays legally and
assures the computer never loses.