Behavior tree: Difference between revisions

Content deleted Content added
Improved readability added punctuation. "Americanized" certain spellings.
mNo edit summary
Tags: Visual edit Mobile edit Mobile web edit
Line 8:
 
== Overview ==
The extensive amount of detail involved in describing the numerous requirements forof 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" /> [[Natural language]] often introduces ambiguities, aliases, inconsistencies, redundancies, and incomplete information to concepts.<ref name = "dromey03K1-Dromey"/> This creates uncertainty and over-complicates systems.
 
The behavior tree representation attempts to eliminate uncertainty by limiting vocabulary to the original requirements. Large requirement sets may require the help of a 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 aliases 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 serve as input for further processing, such as making an [[executable]] for a given set of requirements.