Re: structured programming of automata with behavior trees

gettimothy via Squeak-dev <[email protected]> Sat, 18 Jul 2026 09:32:28 -0400
Newsgroups gmane.comp.lang.smalltalk.squeak.general
Message-ID <[email protected]>
Thank you.



When I have time (not now, I am deep in the Tweak port and my full time job (not computer programming ) eats most of my time.



However as part of a project to get better at Smalltalk and create "notes to myself", I have started a skeleton for a reboot of Squeak By Example to include subjects it does not touch (Git Browser for example, etc.)



And in this I want to include chapters on Design Patterns...like the pattern you created  and data structures.etc...







cordially









From: Lauren Pullen <[email protected]>
To: <[email protected]>
Date: Sat, 18 Jul 2026 05:58:32 -0400
Subject: [squeak-dev] Re: structured programming of automata with behavior trees



On 7/17/26 18:33, gettimothy via Squeak-dev wrote: 
> At first glance "Behavior Tree" sounds like a "State" design pattern. 
Nice catch.  Every state transition inputs #tick and will output 
#success, #failure, or #running.  There are special machines that 
perform logical AND (Sequence) and logical OR (Fallback) on an ordered 
sequence of machines, and the whole of it is arranged as nodes of a tree 
and runs left to right, top to bottom.  Like the input and output names 
suggest, it's for discrete time sampling of progress status. 
 
You can leave off the #running output, but then an earlier transition 
might start failing before the in-progress transition determines whether 
it was successful.  If you're controlling a robot that's carrying 
something, this object is slippery and the robot loses its grip on it. 
Or perhaps kids in the back seat, asking "Are we there yet?" every five 
seconds.  You want to be able to tell the difference between "yes" 
(#success), "no" (#running), and "the car broke down" (or the driver 
needs to take a restroom break) (#failure) so you can celebrate, 
continue asking, or throw a conniption as appropriate. 
Squeak-dev mailing list -- mailto:[email protected]  
To unsubscribe send an email to mailto:[email protected]

Squeak-dev mailing list -- [email protected]
To unsubscribe send an email to [email protected]