Behavior tree: Difference between revisions

Content deleted Content added
Reworded a sentence.
Tags: Visual edit Mobile edit Mobile web edit
m copyedit
Line 5:
[[File:Static Integrated View.jpg|thumb|320px|Building a system out of its requirements – static view]]
 
A '''behavior tree''' is a structured visual [[modeling]] technique used in [[systems engineering]] and [[software engineering]] to represent the behavior of a system. It employs a tree-shaped diagram composed of [[node (computer science)|nodes]] and connectors to depict the flow of control and actions within the system. By replacing ambiguous [[natural language]] descriptions with standardized visual elements—suchelements, aslike boxes, arrows, and symbols—behaviorsymbols, behavior trees aim to improve clarity, reduce misinterpretation, and enhance system understanding.
 
== Overview ==
The extensive amount of detail involved in describing the numerous requirements for a large-scale system using natural language can lead to [[short-term memory]] overload,<ref name="dromey07EngLgeScale">Dromey, R.G. 2007. [http://www.beworld.org/BE/resource/presentation/Eng-LargeScale-Systems.pdf Principles for Engineering Large-Scale Software-Intensive Systems]</ref><ref name="raytheonSysResearch">Boston, J. 2008. [http://www.raytheon.com.au/Default.aspx?x=501 Raytheon Australia supports pioneering systems research] {{webarchive|url=https://web.archive.org/web/20090915050723/http://www.raytheon.com.au/Default.aspx?x=501|date=15 September 2009}}</ref> hindering a comprehensive understanding of the system's needs.<ref name="raytheonAustJoint" /> In the use of [[naturalNatural language]], thereoften are oftenintroduces ambiguities, aliases, inconsistencies, redundancies, and incomplete information to concepts.<ref name = "dromey03K1-Dromey"/> This creates uncertainty and makes the system appearover morecomplicates complexsystems.
 
The behavior tree representation attempts to eliminate uncertainty by strictly using thelimiting vocabulary ofto the original requirements. For large requirement sets this may require the help of the composition tree<ref name = "compositionTree">Behavior Engineering. [http://www.behaviorengineering.org/index.php?option=com_content&task=view&id=24&Itemid=34 Composition Trees] {{Webarchive|url=https://web.archive.org/web/20090302063932/http://www.behaviorengineering.org/index.php?option=com_content&task=view&id=24&Itemid=34 |date=2 March 2009 }}</ref> representation that resolves alias and other vocabulary problems in a prior step. The aim is to produce a deep, accurate, and holistic representation of system needs<ref name = "dromey07EngLgeScale"/> that can be understood by all readers (often [[Project stakeholder|stakeholders]]). Since the behavior tree notation uses [[Semantics of programming languages|formal semantics]], it can be an input for further processing, such as making an [[executable]] for a given set of requirements.
 
=== Behavior tree forms ===
Line 17:
Both single and integrated (composite) behavior tree forms are important in applying behavior trees in [[systems engineering|systems]] and [[software engineering]].
 
* '''Requirement behavior trees (RBT):''' Initially, individual requirement behavior trees are constructed to capture all behavioral fragments from each natural language requirement, throughusing a rigorous translation process that preserves both intent and vocabulary. The translation process can uncover a range of defects in original [[natural language]] requirements.
* '''Integrated behavior trees (IBT):''' Because a set of requirements imply the integrated behavior of a system, all the individual requirement behavior trees can be composed to construct an integrated behavior tree that provides a single holistic view of the emergent integrated behavior of the system. This enables the construction of the system's integrated behavior from its requirements.<ref name = "winters">Winter, K. 2007. [http://espace.library.uq.edu.au/eserv/UQ:100586/Formalising_behaviour_trees_with_csp.pdf Formalising Behaviour Trees with CSP]</ref> An analogy to help describe this process is the transition from a randomly arranged set of [[jigsaw puzzle]] pieces to putting each of the pieces in its appropriate place. When this happens, each piece of information is placed in its intended context and their collective emergent properties become clear.