
A behavior tree is a structured visual
modeling
A model is an informative representation of an object, person, or system. The term originally denoted the Plan_(drawing), plans of a building in late 16th-century English, and derived via French language, French and Italian language, Italian ult ...
technique used in
systems engineering
Systems engineering is an interdisciplinary field of engineering and engineering management that focuses on how to design, integrate, and manage complex systems over their Enterprise life cycle, life cycles. At its core, systems engineering uti ...
and
software engineering
Software engineering is a branch of both computer science and engineering focused on designing, developing, testing, and maintaining Application software, software applications. It involves applying engineering design process, engineering principl ...
to represent system behavior. It utilizes a hierarchical tree diagram composed of
nodes
In general, a node is a localized swelling (a "knot") or a point of intersection (a vertex).
Node may refer to:
In mathematics
*Vertex (graph theory), a vertex in a mathematical graph
*Vertex (geometry), a point where two or more curves, lines, ...
and connectors to illustrate control flow and system actions. By replacing ambiguous
natural language
A natural language or ordinary language is a language that occurs naturally in a human community by a process of use, repetition, and change. It can take different forms, typically either a spoken language or a sign language. Natural languages ...
descriptions with standardized visual elements—such as boxes, arrows, and standard symbols—behavior trees improve clarity, reduce misinterpretation, and enhance understanding of complex systems.
Overview
The extensive amount of detail involved in describing the numerous requirements of a large-scale system using natural language can lead to
short-term memory
Short-term memory (or "primary" or "active memory") is the capacity for holding a small amount of information in an active, readily available state for a short interval. For example, short-term memory holds a phone number that has just been recit ...
overload,
[Dromey, R.G. 2007]
Principles for Engineering Large-Scale Software-Intensive Systems
/ref>[Boston, J. 2008]
Raytheon Australia supports pioneering systems research
hindering a comprehensive understanding of the system's needs.[ ]Natural language
A natural language or ordinary language is a language that occurs naturally in a human community by a process of use, repetition, and change. It can take different forms, typically either a spoken language or a sign language. Natural languages ...
often introduces ambiguities, aliases, inconsistencies, redundancies, and incomplete information to concepts.[ 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][Behavior Engineering]
Composition Trees
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[ that can be understood by all readers (often stakeholders). Since the behavior tree notation uses ]formal semantics
Formal semantics may refer to:
* Formal semantics (natural language), the empirical study of meaning in natural language using formal models
* Formal semantics or semantics of logic, the mathematical study of the interpretations of formal language ...
, it can serve as input for further processing, such as making an executable
In computer science, executable code, an executable file, or an executable program, sometimes simply referred to as an executable or binary, causes a computer "to perform indicated tasks according to encoded instruction (computer science), in ...
for a given set of requirements.
Behavior tree forms
Both single and integrated (composite) behavior tree forms are important in applying behavior trees in systems
A system is a group of interacting or interrelated elements that act according to a set of rules to form a unified whole. A system, surrounded and influenced by its environment, is described by its boundaries, structure and purpose and is exp ...
and software engineering
Software engineering is a branch of both computer science and engineering focused on designing, developing, testing, and maintaining Application software, software applications. It involves applying engineering design process, engineering principl ...
.
* Requirement behavior trees (RBT): Initially, individual requirement behavior trees are constructed to capture all behavioral fragments from each natural language requirement, using a rigorous translation process that preserves both intent and vocabulary. The translation process can uncover a range of defects in original natural language
A natural language or ordinary language is a language that occurs naturally in a human community by a process of use, repetition, and change. It can take different forms, typically either a spoken language or a sign language. Natural languages ...
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.[Winter, K. 2007]
Formalising Behaviour Trees with CSP
/ref> An analogy to help describe this process is the transition from a randomly arranged set of jigsaw puzzle
A jigsaw puzzle (with context, sometimes just jigsaw or just puzzle) is a tiling puzzle that requires the assembly of often irregularly shaped interlocking and mosaicked pieces. Typically each piece has a portion of a picture, which is comple ...
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.
Having all the requirements converted to behavior trees (RBT) is similar to having all the pieces for a jigsaw puzzle
A jigsaw puzzle (with context, sometimes just jigsaw or just puzzle) is a tiling puzzle that requires the assembly of often irregularly shaped interlocking and mosaicked pieces. Typically each piece has a portion of a picture, which is comple ...
randomly spread out on a table – until all the pieces are connected, the emergent picture remains unclear, and it is uncertain whether any pieces are missing or don’t fit. Constructing an integrated behavior tree (IBT) reveals emergent behavior and missing pieces.[
]
Behavior engineering process
Critical aspects of behavior engineering representation and process are listed below.
Representation:
* 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.
Process:
* 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
Behavior trees and the concepts for their application in systems
A system is a group of interacting or interrelated elements that act according to a set of rules to form a unified whole. A system, surrounded and influenced by its environment, is described by its boundaries, structure and purpose and is exp ...
and software engineering
Software engineering is a branch of both computer science and engineering focused on designing, developing, testing, and maintaining Application software, software applications. It involves applying engineering design process, engineering principl ...
were originally developed by Geoff Dromey.[R.G.Dromey]
"Formalizing the Transition from Requirements to Design"
, in "Mathematical Frameworks for Component Software – Models for Analysis and Synthesis", Jifeng He, and Zhiming Liu (Eds.), World Scientific Series on Component-Based Development, pp. 156–187, (Invited Chapter) (2006)[R.G.Dromey]
From Requirements to Design: Formalizing the Key Steps
, (Invited Keynote Address), SEFM-2003, IEEE International Conference on Software Engineering and Formal Methods, Brisbane, Sept. 2003, pp. 2–11. The first publication of some of the key ideas were in 2001. Early publications on this work used the terms "genetic software engineering" and "genetic design" to describe the application of behavior trees. The reason for originally using the word "genetic" was because sets of genes, sets of jigsaw puzzle pieces, and sets of requirements, when represented as behavior trees, all appear to share several key properties:
* They contained enough information as a set to allow them to be composed – with behavior trees, this allows a system to be built out of its requirements.
* The order in which the pieces were put together was not important – with requirements, this aids in coping with complexity.
* When all the members of the set were put together, the resulting integrated entity exhibited a set of important emergent properties
In philosophy, systems theory, science, and art, emergence occurs when a complex entity has properties or behaviors that its parts do not have on their own, and emerge only when they interact in a wider whole.
Emergence plays a central role ...
.
For behavior trees, important emergent properties include:
* The integrated behavior of the system is implied by the requirements.
* The coherent behavior of each component is referred to in the requirements.
These genetic parallels, in another context, were originally spelled out by Adrian Woolfson.
Further weight for use of the term "genetic" came from eighteenth-century thinker Giambattista Vico
Giambattista Vico (born Giovan Battista Vico ; ; 23 June 1668 – 23 January 1744) was an Italian philosopher, rhetorician, historian, and jurist during the Italian Enlightenment. He criticized the expansion and development of modern rationali ...
, who said, "To understand something, and not merely be able to describe it, or analyze it into its component parts, is to understand how it came into being – its genesis, its growth … true understanding is always genetic".[Berlin, I. The Crooked Timber of Humanity: Chapters in the History of Ideas, Ed., H.Hardy, Princeton University Press, 1998 ] Despite these legitimate genetic parallels, it was felt that this emphasis led to confusion with the concept of genetic algorithms
In computer science and operations research, a genetic algorithm (GA) is a metaheuristic inspired by the process of natural selection that belongs to the larger class of evolutionary algorithms (EA). Genetic algorithms are commonly used to g ...
. As a result, the term behavior engineering was introduced to describe the processes that exploit behavior trees to construct systems. The term "behavior engineering" has previously been used in a specialized area of artificial intelligence
Artificial intelligence (AI) is the capability of computer, computational systems to perform tasks typically associated with human intelligence, such as learning, reasoning, problem-solving, perception, and decision-making. It is a field of re ...
– robotics research. The present use embraces a much broader, rigorous formalization and the integration of large sets of behavioral and compositional requirements that are required to model large-scale systems.
Since the behavior tree notation was originally conceived, several people from the Dependable Complex Computer-based Systems Group (DCCS – a joint University of Queensland
The University of Queensland is a Public university, public research university located primarily in Brisbane, the capital city of the Australian state of Queensland. Founded in 1909 by the Queensland parliament, UQ is one of the six sandstone ...
, Griffith University
Griffith University is a public university, public research university in South East Queensland on the Eastern states of Australia, east coast of Australia. The university was founded in 1971, but was not officially opened until 1975. Griffith ...
research group) have made important contributions to the evolution and refinement of the behavior tree notation and usage.
Probabilistic timed behavior trees have been developed by researchers such as Rob Colvin, Lars Grunske, and Kirsten Winter of the DCCS, so that reliability, performance, and other dependability properties could be expressed.[Colvin, R., Grunske, L., Winter, K. 200]
Probabilistic Timed Behavior Trees
Key concepts
Behavior tree notation
A behavior tree is used to formally represent the ''fragment of behavior'' in each requirement. In general, behavior for a large-scale system, where concurrency
Concurrent means happening at the same time. Concurrency, concurrent, or concurrence may refer to:
Law
* Concurrence, in jurisprudence, the need to prove both ''actus reus'' and ''mens rea''
* Concurring opinion (also called a "concurrence"), a ...
is admitted, appears abstractly as a set of communicating sequential processes
In computer science, communicating sequential processes (CSP) is a formal language for describing patterns of interaction in concurrent systems. It is a member of the family of mathematical theories of concurrency known as process algebras, or p ...
. The behavior tree notation captures these composed component-states and represents them as a tree-like form.
Behavior is expressed in terms of components realizing states and components creating and breaking relations. Using the logic and graphic forms of conventions found in programming languages
A programming language is a system of notation for writing computer programs.
Programming languages are described in terms of their syntax (form) and semantics (meaning), usually defined by a formal language. Languages usually provide features ...
, components can support actions, composition, events, control-flow, data-flow, and threads.[
Traceability tags (see Section 1.2 of behavior tree notation][) in behavior tree nodes link the formal representation to the corresponding ]natural language
A natural language or ordinary language is a language that occurs naturally in a human community by a process of use, repetition, and change. It can take different forms, typically either a spoken language or a sign language. Natural languages ...
requirement. Behavior trees accurately capture behavior expressed in the natural language representation of functional requirements. Requirement behavior trees strictly use the vocabulary of the natural language requirements but use graphical forms for behavior composition to remove the risk of ambiguity. By doing this, they provide a direct and clearly traceable relationship between what is expressed in the natural language representation and its formal specification
In computer science, formal specifications are mathematically based techniques whose purpose is to help with the implementation of systems and software. They are used to describe a system, to analyze its behavior, and to aid in its design by verify ...
.[Dromey, R.G]
"Genetic Design: Amplifying Our Ability to Deal With Requirements Complexity"
, in S.Leue, and T.J. Systra, Scenarios, Lecture Notes in Computer Science, LNCS 3466, pp. 95–108, 2005.
A basis of the notation is that behavior is always associated with some component. Component-states, which represent nodes of behavior, are composed sequentially or concurrently to construct a behavior tree that represents the behavior expressed in the natural language requirements. A behavior tree with leaf nodes may revert (symbolized by adding the caret
Caret () is the name used familiarly for the character provided on most QWERTY keyboards by typing . The symbol has a variety of uses in programming and mathematics. The name "caret" arose from its visual similarity to the original proofre ...
operator "^") to an ancestor node to repeat behavior or start a new thread (symbolized by two carets "^^").
A behavior tree specifies state changes in components, how data and control are passed between components, and how threads interact. There are constructs for creating and breaking relations. There are also constructs for setting and testing states
State most commonly refers to:
* State (polity), a centralized political organization that regulates law and society within a territory
**Sovereign state, a sovereign polity in international law, commonly referred to as a country
**Nation state, a ...
of components, as well as mechanisms for inter-process communication
In computer science, interprocess communication (IPC) is the sharing of data between running Process (computing), processes in a computer system. Mechanisms for IPC may be provided by an operating system. Applications which use IPC are often cat ...
that include message passing
In computer science, message passing is a technique for invoking behavior (i.e., running a program) on a computer. The invoking program sends a message to a process (which may be an actor or object) and relies on that process and its supporting ...
(events), shared variable blocking, and synchronization
Synchronization is the coordination of events to operate a system in unison. For example, the Conductor (music), conductor of an orchestra keeps the orchestra synchronized or ''in time''. Systems that operate with all parts in synchrony are sa ...
.
For a complete reference to behavior tree notation, see ''Behavior Tree Notation v1.0'' (2007).[Behavior Tree Group, ]ARC Centre for Complex Systems
The ARC Centre for Complex Systems (ACCS) was established in 2004 from a consortium of Australian universities, led by the University of Queensland. The objective of ACCS was to conduct basic and applied research in the field of complex systems. ...
, 2007
Behavior Tree Notation v1.0 (2007)
Semantics
The formal semantics
Formal semantics may refer to:
* Formal semantics (natural language), the empirical study of meaning in natural language using formal models
* Formal semantics or semantics of logic, the mathematical study of the interpretations of formal language ...
of behavior trees is given via a process algebra
In computer science, the process calculi (or process algebras) are a diverse family of related approaches for formally modelling concurrent systems. Process calculi provide a tool for the high-level description of interactions, communications, and ...
and its operational semantics
Operational semantics is a category of formal programming language semantics in which certain desired properties of a program, such as correctness, safety or security, are verified by constructing proofs from logical statements about its exec ...
.[Colvin, R., Hayes, I.J. 200]
A Semantics for Behavior Trees
/ref> The semantics have been used as the basis for developing simulation
A simulation is an imitative representation of a process or system that could exist in the real world. In this broad sense, simulation can often be used interchangeably with model. Sometimes a clear distinction between the two terms is made, in ...
, model checking
In computer science, model checking or property checking is a method for checking whether a finite-state model of a system meets a given specification (also known as correctness). This is typically associated with hardware or software syst ...
, and failure modes and effects analysis
Failure is the social concept of not meeting a desirable or intended objective, and is usually viewed as the opposite of success. The criteria for failure depends on context, and may be relative to a particular observer or belief system. One ...
.[L.Grunske, P.Lindsay, N.Yatapanage, K.Winter]
An Automated Failure Mode and Effect Analysis Based on High-Level Design Specification with Behavior Trees
Fifth International Conference on Integrated Formal Methods (IFM-2005), Eindoven, The Netherlands, 2005.[Zafar, S. and Dromey, R. G., (2005)]
Integrating Safety and Security Requirements into Design of an Embedded System.
Asia-Pacific Software Engineering Conference 2005, 15–17 December, Taipei, Taiwan. IEEE Computer Society Press. pp. 629–636.
Requirements translation
Requirements translation is the vehicle used to cross the informal-barrier. Consider the process of translation for requirement R1 below. The first tasks are to identify the components (bold), identify the behaviors (underlined), and identify indicators of the order (''italics'') in which behaviors take place. The corresponding behavior tree can then be constructed.
What is clear from the outcome of this process is that, apart from pronouns, definite articles, etc., essentially all the words in the sentences that contribute to the behavior they describe have been accounted for and used.
Requirement integration
Once the set of requirements is formalized as individual requirement behavior trees, two joint properties of systems and requirements need to be exploited to proceed with composing the integrated behavior tree:
* In general, a fragment of behavior described by a requirement always has an associated precondition that must be satisfied before the behavior can occur. This precondition may or may not be explicitly stated in the requirement.
* If the requirement is really part of the system, then some other requirement in the set must establish the precondition needed in (1).
For requirements represented as behavior trees, this amounts to finding where the root node of one tree occurs in some other behavior tree and integrating the two trees at that node.
The example below illustrates requirement integration for two requirements, R1 and R3. In other words, it shows how these two requirements interact.
Operations on integrated behavior trees
Once an integrated behavior tree has been composed, there are a number of important operations that can be performed upon it.
Inspection: defect detection and correction
In general, many defects become much more visible when there is an integrated view of the requirements[ and each requirement has been placed in the behavior context where it needs to execute. For example, it is much easier to tell whether a set of conditions or events emanating from a node is complete and consistent. The traceability tags][ also make it easy to refer back to the original natural-language requirements. There is also the potential to automate a number of defect and consistency checks on an integrated behavior tree.][Smith, C., Winter, K., Hayes, I., Dromey, R.G., Lindsay, P., Carrington, D.]
An Environment for Building a System Out of Its Requirements
19th IEEE International Conference on Automated Software Engineering, Linz, Austria, Sept. (2004).
When all defects have been corrected and the IBT is logically consistent and complete, it becomes a model behavior tree (MBT), which serves as a formal specification
In computer science, formal specifications are mathematically based techniques whose purpose is to help with the implementation of systems and software. They are used to describe a system, to analyze its behavior, and to aid in its design by verify ...
for the system's behavior that has been constructed out of the original requirements. This is the clearly defined stopping point for the analysis phase. With other modeling notations and methods (i.e. UML), it is less clear-cut when modeling can stop.[ In some cases, parts of a model behavior tree may need to be transformed to make the specification ]executable
In computer science, executable code, an executable file, or an executable program, sometimes simply referred to as an executable or binary, causes a computer "to perform indicated tasks according to encoded instruction (computer science), in ...
. Once an MBT has been made executable, it is possible to carry out a number of other dependability checks.
Simulation
A model behavior tree can be readily simulated to explore the dynamic properties of the system. Both a symbolic tool and a graphics tool have been constructed to support these activities.[L.Wen, R.Colvin, K.Lin, J.Seagrott, N.Yatapanage, R.G.Dromey, 2007]
"Integrare, a Collaborative Environment for Behavior-Oriented Design"
in Proceedings of the Fourth International Conference on Cooperative Design, Visualization and Engineering, LNCS 4674, pp. 122–131, 2007[C. Sun, S. Xia, D. Sun, D. Chen. H.F. Shen, W. Cai]
"Transparent adaptation of single-user applications for multi-user real-time collaboration"
ACM Transactions on Computer-Human Interaction, Vol. 13, No.4, December 2006, pp. 531–582.
Model checking
A translator has been written to convert a model behavior tree into the "actions systems" language. This input can then be fed into the SAL Model checker[Bensalem, S., Ganesh, V., Lakhnech, Y., Muñoz, C., Owre, et al.: "An Overview of SAL", Fifth NASA Langley Formal Methods Workshop (LFM 2000), 2000, pp. 187–196.] to allow checks to be made as to whether certain safety and security properties are satisfied.[Zafar, S. and Dromey, R. G., 2005]
Managing Complexity in Modelling Embedded Systems.
Systems Engineering/Test and Evaluation Conference 2005, 7–9 November, Brisbane, Australia
Failure mode and effects analysis (FMEA)
Model checking
In computer science, model checking or property checking is a method for checking whether a finite-state model of a system meets a given specification (also known as correctness). This is typically associated with hardware or software syst ...
has often been applied to system models to check that hazardous states can’t be reached during normal operation of the system.[Grunske, L., Colvin, R., Winter, K. Probabilistic Model-Checking Support for FMEA Quantitative Evaluation of Systems. QEST 2007. Fourth International Conference on the Quantitative Evaluation of Systems, 17-19 Sept. 2007 pp. 119–128] It is possible to combine model-checking with behavior trees to provide automated support for failure mode and effects analysis
Failure is the social concept of not meeting a desirable or intended Goal, objective, and is usually viewed as the opposite of success. The criteria for failure depends on context, and may be relative to a particular observer or belief system ...
(FMEA).[ The advantage of using behavior trees for this purpose is that they allow the ]formal method
Formal, formality, informal or informality imply the complying with, or not complying with, some set of requirements ( forms, in Ancient Greek). They may refer to:
Dress code and events
* Formal wear, attire for formal events
* Semi-formal att ...
aspects of the approach to be hidden from non-expert users.
Requirement changes
The ideal sought when responding to a change in the functional requirements
In software engineering and systems engineering, a functional requirement defines a function of a system or its component, where a function is described as a summary (or specification or statement) of behavior between inputs and outputs.
Functiona ...
for a system is that it can be quickly determined:
* where to make the change,
* how the change affects the architecture of the existing system,
* which components of the system are affected by the change, and,
* what behavioral changes will need to be made to the components (and their interfaces) that are affected by the change of requirements.[Wen, L., Dromey, R.G. 2007]
From Requirements Change to Design Change: A Formal Path
/ref>
Because a system is likely to undergo many changes over its service life, it is necessary to record, manage, and optimize its evolution driven by these changes.
A traceability model, which uses behavior trees as a formal notation to represent functional requirements, reveals change impacts on different types of design constructs (documents) caused by the changes of the requirements. The model introduces the concept of evolutionary design documents that record the change history of the designs. From these documents, any version of a design document, as well as the difference between any two versions, can be retrieved. An important advantage of this model is that automated tools can support a major part of the procedure to generate these evolutionary design documents.[
]
Code generation and execution
The behavior tree representation of the integrated behavior of the system offers several important advantages as an executable model. It clearly separates the tasks of ''component integration'' from the task of individual ''component implementation''. The integrated system behavior resulting from requirement integration can serve as a foundation for design decisions. The result is a design behavior tree (DBT):[ an executable multi-thread component integration specification that has been built out of the original requirements.
Behavior tree models are executed in a virtual machine called the behavior run-time environment (BRE). The BRE links together ]components
Component may refer to:
In engineering, science, and technology Generic systems
*System components, an entity with discrete structure, such as an assembly or software module, within a system considered at a particular level of analysis
* Lumped e ...
using middleware
Middleware is a type of computer software program that provides services to software applications beyond those available from the operating system. It can be described as "software glue".
Middleware makes it easier for software developers to imple ...
,[RTI Inc. 2007 "Meeting Real-Time Requirements in Integrated Defense Systems"]
RTI White Paper
. allowing components to be independent programs written in one of several languages that can be executed in a distributed environment. The BRE also contains an expression parser
Parsing, syntax analysis, or syntactic analysis is a process of analyzing a string of symbols, either in natural language, computer languages or data structures, conforming to the rules of a formal grammar by breaking it into parts. The term '' ...
that automatically performs simple operations to minimize the amount of code required to be manually implemented in the component.
The implementation
Implementation is the realization of an application, execution of a plan, idea, scientific modelling, model, design, specification, Standardization, standard, algorithm, policy, or the Management, administration or management of a process or Goal ...
of components is supported by views that are automatically able to be extracted from the DBT. These views provide the component behavior trees (CRTs) of individual components, along with their interfaces. This information, together with the information in the integrated composition tree (ICT) captured about each component, provides the information needed to implement each component.
Several BREs can be linked together to form complex systems using a system-of-systems construct and the Behavior Engineering Component Integration Environment (BECIE). BECIE is also used to monitor and control the behavior tree models being executed within a BRE, similar to supervisory control and data acquisition (SCADA) systems used in industrial process control.
Executable behavior trees have been developed for case studies[Dromey, R.G]
Using Behavior Trees to Model the Autonomous Shuttle System
, 3rd International Workshop on Scenarios and State Machines: Models, Algorithms, and Tools (SCESM04) ICSE Workshop W5S, Edinburgh, 25 May 2004 including automated train protection, [ mobile robots with a dynamic object following, an ambulatory infusion pump][, and traffic light management systems. A version of the BRE suited for embedded systems (eBRE) is also available, with reduced functionality tailored for small-footprint microcontrollers.
]
Applications
Behavior tree modeling can and has been applied to a diverse range of applications over a number of years. Some of the main application areas are described below.
Large-scale systems
Modeling large-scale systems with extensive sets of natural-language requirements has always been a major focus for testing behavior trees and the overall behavior engineering process. Conducting these evaluations and trials of the method has involved work with a number of industry partners and government departments in Australia. The systems studied have included a significant number of defense systems, enterprise systems, transportation systems, information systems, health systems, and sophisticated control systems with stringent safety requirements. The results of these studies have all been classified as commercial-in-confidence. However, the results of the extensive industry trials[ with ]Raytheon
Raytheon is a business unit of RTX Corporation and is a major U.S. defense contractor and industrial corporation with manufacturing concentrations in weapons and military and commercial electronics. Founded in 1922, it merged in 2020 with Unite ...
Australia are presented below in the Industry Section. This work has shown that translating requirements into integrated static and dynamic behavior-tree views revealed substantially more major defects than the company’s standard review processes detected.[
]
Embedded systems
Failure of a design to meet a system's requirements can result in schedule and cost overruns. If there are also critical dependability issues, not satisfying system requirements can have life-threatening consequences. However, in current approaches, ensuring that requirements are met is often delayed until late in the development process, during a cycle of testing and debugging.. This work describes how the system development approach, behavior engineering, can be used to develop software for embedded system
An embedded system is a specialized computer system—a combination of a computer processor, computer memory, and input/output peripheral devices—that has a dedicated function within a larger mechanical or electronic system. It is e ...
s.[ The result is a model-driven development approach that creates embedded system software meeting its requirements through the application of the development process.
]
Hardware – software systems
Many large-scale systems consist of a mixture of co-dependent software and hardware. The different nature of software and hardware means they’re often modeled separately using different approaches. This can subsequently lead to integration problems due to incompatible assumptions about hardware/software interactions.[Myers, T., Fritzson, P., Dromey, R.G. 2008]
Seamlessly Integrating Software & Hardware Modelling for Large-Scale Systems.
2nd International Workshop on Equation-Based Object-Oriented Languages and Tools (EOOLT 2008), Cyprus, July 2008. pp. 5–15. These problems can be overcome by integrating behavior trees with the Modelica
Modelica is an object-oriented, declarative, multi-domain modeling language for component-oriented modeling of complex systems, e.g., systems containing mechanical, electrical, electronic, hydraulic, thermal, control, electric power or process ...
mathematical modeling
A mathematical model is an abstract and concrete, abstract description of a concrete system using mathematics, mathematical concepts and language of mathematics, language. The process of developing a mathematical model is termed ''mathematical m ...
approach.[ The environment and hardware components are modeled using Modelica and integrated with an executable software model that uses behavior trees.
]
Role-based access control
To ensure correct implementation of complex access control
In physical security and information security, access control (AC) is the action of deciding whether a subject should be granted or denied access to an object (for example, a place or a resource). The act of ''accessing'' may mean consuming ...
requirements, it is important that the validated and verified requirements are effectively integrated with the rest of the system.[Zafar, S. Colvin, R., Winter, K., Yatapanage, N., Dromey, R.G]
Early Validation and Verification of a Distributed Role-Based Access Control Model.
14th Asia-Pacific Software Engineering Conference, Nagoya, Japan, December 2008. pp. 430–437. It is also important that the system can be validated and verified early in the development process. An integrated, role-based access control model has been developed.[ The model is based on the graphical behavior tree notation and can be validated by ]simulation
A simulation is an imitative representation of a process or system that could exist in the real world. In this broad sense, simulation can often be used interchangeably with model. Sometimes a clear distinction between the two terms is made, in ...
, as well as verified using a model checker
In computer science, model checking or property checking is a method for checking whether a finite-state model of a system meets a given specification (also known as correctness). This is typically associated with hardware or software system ...
. Using this model, access control requirements can be integrated with the rest of the system from the outset, because: a single notation is used to express both access control and functional requirements
In software engineering and systems engineering, a functional requirement defines a function of a system or its component, where a function is described as a summary (or specification or statement) of behavior between inputs and outputs.
Functiona ...
; a systematic and incremental approach to constructing a formal behavior tree specification can be adopted; and the specification can be simulated and model checked. The effectiveness of the model has been evaluated using a case study with distributed access control requirements.[
]
Biological systems
Because behavior trees describe complex behavior, they can be used for describing a range of systems not limited to those that are computer-based.[ In a biological context, behavior trees can be used to piece together a procedural interpretation of biological functions described in research papers, treating the papers as the requirements documents as described above. This can help to construct a more concrete description of the process than is possible from reading only and can also be used as the basis for comparing competing theories in alternative papers. In ongoing research, the behavior tree notation is being used to develop models of the brain function in rats under ]fear conditioning
Pavlovian fear conditioning is a behavioral paradigm in which organisms learn to predict aversive events. It is a form of learning in which an aversive stimulus (e.g. an electrical shock) is associated with a particular neutral context (e.g., a r ...
.
Game AI modeling
While behavior trees have become popular for modeling the artificial intelligence
Artificial intelligence (AI) is the capability of computer, computational systems to perform tasks typically associated with human intelligence, such as learning, reasoning, problem-solving, perception, and decision-making. It is a field of re ...
in computer games such as Halo
HALO, halo, halos or haloes may refer to:
Most common meanings
* Halo (optical phenomenon)
* Halo (religious iconography), a ring of light around the image of a head
* ''Halo'' (franchise), a sci-fi video game series (2001–2021)
Arts and en ...
[Damian Isl]
Handling Complexity in the Halo 2 AI.
/ref> and Spore
In biology, a spore is a unit of sexual reproduction, sexual (in fungi) or asexual reproduction that may be adapted for biological dispersal, dispersal and for survival, often for extended periods of time, in unfavourable conditions. Spores fo ...
,[Chris Hecke]
My Liner Notes for Spore
/ref> these types of trees are very different from the ones described on this page and are closer to a combination of hierarchical finite-state machine
A finite-state machine (FSM) or finite-state automaton (FSA, plural: ''automata''), finite automaton, or simply a state machine, is a mathematical model of computation. It is an abstract machine that can be in exactly one of a finite number o ...
s or decision trees
A decision tree is a decision support system, decision support recursive partitioning structure that uses a Tree (graph theory), tree-like Causal model, model of decisions and their possible consequences, including probability, chance event ou ...
. Soccer-player modeling has also been a successful application of behavior trees.[Xiao-Wen Terry Liu and Jacky Balte]
An Intuitive and Flexible Architecture for Intelligent Mobile Robots
2nd International Conference on Autonomous Robots and Agents, December 13–15, 2004 Palmerston North, New Zealand[Yukiko Hoshino, Tsuyoshi Takagi, Ugo Di Profio, and Masahiro Fujit]
Behavior description and control using behavior module for personal robot
/ref>
Model-Based Testing
Model-based testing
Model-based testing is an application of model-based design for designing and optionally also executing artifacts to perform software testing or system testing. Models can be used to represent the desired behavior of a system under test (SUT), or ...
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 statecharts, finite-state machines (FSMs), extended finite-state machines (EFSMs), and flowcharts have been used. 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.
Scalability and industry applications
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.[Powell, D. 2007]
Requirements Evaluation Using Behavior Trees – Findings from Industry
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[ 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.][ With less mature requirements sets, much higher defect rates have been observed.
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
Raytheon is a business unit of RTX Corporation and is a major U.S. defense contractor and industrial corporation with manufacturing concentrations in weapons and military and commercial electronics. Founded in 1922, it merged in 2020 with Unite ...
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".[ An outcome of these industry trials has been the joint development][Raytheon Australia, 2008]
Understanding grows on Behavior Trees
with Raytheon Australia of an industry-strength tool to support the analysis, editing, and display of large integrated sets of requirements.[Phillips, V., (Raytheon Australia)]
"Implementing a Behavior Tree Analysis Tool Using Eclipse Development Frameworks"
Australian Software Engineering Conference (ASWEC’08), Perth, March 2008 More extensive details of industry findings can be found on the Behavior Engineering website.[Behavior Engineering]
Behavior Engineering website
Dr. Terry Stevenson (chief technical officer, Raytheon Australia), Mr. Jim Boston (senior project manager, Raytheon Australia), Mr. Adrian Pitman from the 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[ and live project work. This work has been supported by the ]Australian Research Council
The Australian Research Council (ARC) is the primary non-medical research funding agency of the Australian Government, distributing more than in grants each year. The Council was established by the ''Australian Research Council Act 2001'', ...
– ARC Centre for Complex Systems
The ARC Centre for Complex Systems (ACCS) was established in 2004 from a consortium of Australian universities, led by the University of Queensland. The objective of ACCS was to conduct basic and applied research in the field of complex systems. ...
and funds received from industry.[For further details see:]
Raytheon Australia – Behavior Trees Joint Development
"Implementing a Behavior Tree Analysis Tool Using Eclipse Development Frameworks"
Vincent Phillips, Raytheon Australia.
Behavior Trees – How they improve Engineering Behaviour?
Jim Boston, Raytheon Australia.
Raytheon Australia supports pioneering systems research
Advantages
As a behavior modeling representation, behavior trees have a number of significant benefits and advantages:
* They employ a well-defined and effective strategy for dealing with requirement complexity, particularly where the initial needs of a system are expressed using hundreds or thousands of requirements written in natural language. This significantly reduces the risk on large-scale projects.[
* By rigorously translating then integrating requirements at the earliest possible time, they provide a more effective means for uncovering requirement defects than competing methods.][Boston, J., (Raytheon Australia)]
Behavior Trees – How they improve Engineering Behaviour?
6th Annual Software and Systems Engineering Process Group Conference (SEPG 2008), Melbourne, Aug. 2008.
* They employ a single, simple notation[ for ]analysis
Analysis (: analyses) is the process of breaking a complex topic or substance into smaller parts in order to gain a better understanding of it. The technique has been applied in the study of mathematics and logic since before Aristotle (38 ...
, specification
A specification often refers to a set of documented requirements to be satisfied by a material, design, product, or service. A specification is often a type of technical standard.
There are different types of technical or engineering specificati ...
, and to represent the behavior design of a system.
* They represent the system behavior as an executable integrated whole.
* They build the behavior of a system out of its functional requirements
In software engineering and systems engineering, a functional requirement defines a function of a system or its component, where a function is described as a summary (or specification or statement) of behavior between inputs and outputs.
Functiona ...
in a directly traceable way, which aids verification and validation
Verification and validation (also abbreviated as V&V) are independent procedures that are used together for checking that a product, service, or system meets requirements and specification (technical standard), specifications and that it fulf ...
.[Zafar, S., K.Winter, R.Colvin, R.G.Dromey]
"Verification of an Integrated Role-Based Access Control Model"
, 1st International Workshop – Asian Working Conference on Verified Software (AWCVS'06), pp 230-240, Macao, Oct. 2006.
* They can be understood by stakeholders without the need for formal methods
In computer science, formal methods are mathematics, mathematically rigorous techniques for the formal specification, specification, development, Program analysis, analysis, and formal verification, verification of software and computer hardware, ...
training. By strictly retaining the vocabulary of the original requirements, this eases the burden of understanding.
* They have a formal semantics
Formal semantics may refer to:
* Formal semantics (natural language), the empirical study of meaning in natural language using formal models
* Formal semantics or semantics of logic, the mathematical study of the interpretations of formal language ...
,[ they support ]concurrency
Concurrent means happening at the same time. Concurrency, concurrent, or concurrence may refer to:
Law
* Concurrence, in jurisprudence, the need to prove both ''actus reus'' and ''mens rea''
* Concurring opinion (also called a "concurrence"), a ...
, they are executable
In computer science, executable code, an executable file, or an executable program, sometimes simply referred to as an executable or binary, causes a computer "to perform indicated tasks according to encoded instruction (computer science), in ...
, and they can be simulated
A simulation is an imitative representation of a process or system that could exist in the real world. In this broad sense, simulation can often be used interchangeably with model. Sometimes a clear distinction between the two terms is made, in ...
, model checked, and used to undertake failure mode and effects analysis
Failure is the social concept of not meeting a desirable or intended Goal, objective, and is usually viewed as the opposite of success. The criteria for failure depends on context, and may be relative to a particular observer or belief system ...
.[
* They can be used equally well to model human processes, to analyze contracts,][Milosevic, Z., Dromey, R.G]
On Expressing and Monitoring Behavior in Contracts
EDOC 2002, Proceedings, 6th International Enterprise Distributed Object Computing Conference, Lausanne, Switzerland, Sept. 2002, pp. 3-14. to represent forensic information, to represent biological systems, and many other applications. In each case, they deliver the same benefits in terms of managing complexity and seeing things as a whole. They can also be used for safety critical systems,[ ]embedded system
An embedded system is a specialized computer system—a combination of a computer processor, computer memory, and input/output peripheral devices—that has a dedicated function within a larger mechanical or electronic system. It is e ...
s[, and ]real-time systems
Real-time computing (RTC) is the computer science term for hardware and software systems subject to a "real-time constraint", for example from event to system response. Real-time programs must guarantee response within specified time constrai ...
.[Lin, K., Chen, D., Sun, C., Dromey, R.G.]
A Constraint Maintenance Strategy and Applications in real-time Collaborative Environments
2nd International Conference on Cooperative Design, Visualization and Engineering (CDVE2005), 2005.[Lin, K., Chen, D., Dromey, R.G., Sun, CZ.]
Multi-way Dataflow Constraint Propagation in Real-time Collaborative Systems
, IEEE, The 2nd International Conference on Collaborative Computing: Networking, Applications and Worksharing (CollaborateCom 2006), Atlanta, Georgia, USA, Nov, 2006.[Grunske, L., Winter, K., Colvin, R.]
"Timed Behavior Trees and their application to verifying real-time systems"
, Proceedings of 18th Australian Conference on Software Engineering (AEWEC 2007), April 2007, accepted for publication.
Disadvantages
* For small textbook-level examples, their tree-like nature means that the graphic models produced are sometimes not as compact as the state diagram
A state diagram is used in computer science and related fields to describe the behavior of systems. State diagrams require that the system is composed of a finite number of states. Sometimes, this is indeed the case, while at other times this i ...
or state machine
A finite-state machine (FSM) or finite-state automaton (FSA, plural: ''automata''), finite automaton, or simply a state machine, is a mathematical model of computation. It is an abstract machine that can be in exactly one of a finite number o ...
behavior specifications.
* Tool support is needed to navigate the huge integrated behavior trees for systems that have hundreds or thousands of requirements.
* Presentation to a large group can be difficult, given the inherent size of a complicated system's tree.
* There is a need to provide additional sophisticated tool support to fully exploit integrated behavior tree models.
See also
* Behavioral engineering
Applied behavior analysis (ABA), also referred to as behavioral engineering, is a behavior modification system based on the principles of respondent and operant conditioning. ABA is the applied form of behavior analysis; the other two are: ra ...
* Modeling language
A modeling language is any artificial language that can be used to express data, information or knowledge or systems in a structure that is defined by a consistent set of rules. The rules are used for interpretation of the meaning of components in ...
References
External links
Behavior Engineering
Raytheon Australia supports pioneering systems research
* ttp://arc.realviewtechnologies.com/default.aspx?iid=8075&startpage=page0000030&xml=outcomes.xml Australian Research Council – Outcomes: Taming Complexity{Dead link, date=November 2018 , bot=InternetArchiveBot , fix-attempted=yes
Systems engineering
Enterprise modelling
Modeling languages