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]