Behavior tree: Difference between revisions

Content deleted Content added
mNo edit summary
Tags: Visual edit Mobile edit Mobile web edit
m Some minor changes, added some citations and responded to comments here and there
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 system behavior. It utilizes a hierarchical tree diagram composed of [[node (computer science)|nodes]] and connectors to illustrate control flow and system actions. By replacing ambiguous [[natural language]] descriptions with standardized visual elements—such as boxes, arrows, and standard symbols—behavior trees improve clarity, reduce misinterpretation, and enhance understanding of complex systems.<ref>{{Cite journal |last=Lindsay |first=Peter A. |date=2010-09-01 |title=Behavior Trees: From Systems Engineering to Software Engineering |url=https://doi.org/10.1109/sefm.2010.11 |journal=2010 8th IEEE International Conference on Software Engineering and Formal Methods |publisher=IEEE |pages=21–30 |doi=10.1109/sefm.2010.11}}</ref>
 
== Overview ==
Line 24:
=== Behavior engineering process ===
Critical aspects of behavior engineering representation and process are listed below.
 
;<nowiki>'''Representation:</nowiki>'''
* The composition tree's role in the overall process is to provide a means to overcome the imperfect knowledge associated with the large set of requirements for a system.
;<nowiki>'''Process:</nowiki>'''
 
* Behavior engineering uses behavior trees to control complexity while growing a shared understanding of a complex system.
 
* A shared holistic understanding of a complex system integrates requirements to show its implied [[emergent behavior]].
 
== History ==
Line 147 ⟶ 150:
 
=== Model-Based Testing ===
[[Model-based testing]] is an approach to software testing that requires testers to create test models from requirements of Software Under Test (SUT). Traditionally, modeling languages such as UML state chartsstatecharts, [[Finite-state machine|finite-state machines]] (FSMs), EFSM ([[Extendedextended finite-state machine|Extendedmachines Finite-State Machines]](EFSMs){{expand acronym|ab|date=April 2025}}, and flowflowcharts chartshave arebeen used as the modeling language. Recently, an interesting approach in which Event-Driven Swim Lane Petri Net (EDSLPN) is used as the modeling language also appeared. Behavior tree notation should be considered as a good modeling notation to MBT also, and it has a few advantages among other notations:
# It has the same expressiveness level as UML state charts and EDSLPN.
# It is intuitive to use as a modeling notation due to its graphical nature.
# Each behavior tree node has a requirement tag; these greatly facilitate the creation of a traceability matrix from requirement to test artifact.<ref>{{CitationCite web needed|datetitle=MayA Model Based Testing tool - MBTester · 测试之家 |url=https://testerhome.com/topics/18850 |access-date=2025-06-12 |website=testerhome.com}}</ref>
 
== Scalability and industry applications ==
[[File:Behavior Engineering Support Environment.png|thumb|225px|Screen-shotScreenshot of behavior engineering support environment tool]]
[[File:Integrated Behavior Tree Larger System.png|thumb|225px|Integrated behavior tree – larger system (more than 1000 requirements)]]
The first industry trials to test the feasibility of the method and refine its capability were conducted in 2002. Over the last three years, a number of systematic industry trials on large-scale defense, transportation, and enterprise systems have been conducted.<ref name = "raytheonSysResearch" /><ref name="industryTrialsPaper">Powell, D. 2007. [http://www.behaviorengineering.org/docs/ASWEC07_Industry_Powell.pdf Requirements Evaluation Using Behavior Trees – Findings from Industry] {{Webarchive|url=https://web.archive.org/web/20110725061927/http://www.behaviorengineering.org/docs/ASWEC07_Industry_Powell.pdf |date=25 July 2011 }}</ref> This work has established that the method scales to systems with large numbers of requirements but also that it is important to use tool support<ref name = "Integrare07" /><ref name = "RaytheonAswec08" /> in order to efficiently navigate and edit the resultant large integrated views of graphical data. On average, over a number of projects, 130 confirmed major defects per 1000 requirements have consistently been found after normal reviews and corrections have been made.<ref name = "industryTrialsPaper" /> With less mature requirements sets, much higher defect rates have been observed.
Line 161 ⟶ 164:
An important part of this work with industry has involved applying the analysis part of the method to six large-scale defense projects for [[Raytheon]] Australia. They see the method as "a key risk mitigation strategy, of use in both solution development and as a means of advising the customer on problems with acquisition documentation".<ref name = "boston08" /><ref>McNicholas, D., (Raytheon Australia), 2007. [http://www.behaviorengineering.org/images/publications/dromey2/be-industry-benefits.doc Behavior Engineering Industry Benefits]{{Dead link|date=November 2018 |bot=InternetArchiveBot |fix-attempted=yes }}</ref> An outcome of these industry trials has been the joint development<ref name="raytheonAustJoint">Raytheon Australia, 2008. [http://www.raytheon.com.au/Files/Behavior%20Trees.pdf Understanding grows on Behavior Trees] {{Webarchive|url=https://web.archive.org/web/20090915050633/http://www.raytheon.com.au/Files/Behavior%20Trees.pdf |date=15 September 2009 }}</ref> with Raytheon Australia of an industry-strength tool to support the analysis, editing, and display of large integrated sets of requirements.<ref name="RaytheonAswec08">Phillips, V., (Raytheon Australia), [http://www.behaviorengineering.org/images/publications/dromey2/bese_master_v2.ppt "Implementing a Behavior Tree Analysis Tool Using Eclipse Development Frameworks"]{{Dead link|date=November 2018 |bot=InternetArchiveBot |fix-attempted=yes }}, Australian Software Engineering Conference (ASWEC’08), Perth, March 2008</ref> More extensive details of industry findings can be found on the Behavior Engineering website.<ref name = "BEWebsite">Behavior Engineering. [http://www.behaviorengineering.org/ Behavior Engineering website] {{Webarchive|url=https://web.archive.org/web/20090301170621/http://www.behaviorengineering.org/ |date=1 March 2009 }}</ref>
 
Dr. Terry Stevenson (chief technical officer, Raytheon Australia), Mr. Jim Boston (senior project manager, Raytheon Australia), Mr. Adrian Pitman from the [[Defence Materiel Organisation|Australian Defense Materiel Organization]], Dr. Kelvin Ross (CEO, K.J. Ross & Associates), and Christine Cornish (Bushell & Cornish) have provided the special opportunities needed to support this research and to conduct the industry trials<ref name = "raytheonSysResearch" /><ref name = "industryTrialsPaper" /> and live project work. This work has been supported by the [[Australian Research Council]] – [[ARC Centre for Complex Systems]] and funds received from industry.{{citation<ref>For needed|date=Aprilfurther 2015}}details see:
 
<ref>For further details see:
*[http://www.raytheon.com.au/Files/Behavior%20Trees.pdf Raytheon Australia – Behavior Trees Joint Development] {{Webarchive|url=https://web.archive.org/web/20090915050633/http://www.raytheon.com.au/Files/Behavior%20Trees.pdf |date=15 September 2009 }}
*[http://www.behaviorengineering.org/images/publications/dromey2/bese_master_v2.ppt "Implementing a Behavior Tree Analysis Tool Using Eclipse Development Frameworks"]{{Dead link|date=November 2018 |bot=InternetArchiveBot |fix-attempted=yes }} Vincent Phillips, Raytheon Australia.