行为树

科技工作者之家 2020-11-17

行为树是一种形式化的图形建模语言,主要用于系统和软件工程。 行为树采用明确定义的符号来明确表示数百甚至数千种自然语言需求,这些需求通常用于表达大规模软件集成系统的利益相关者需求。

介绍大规模系统的大量自然语言要求中的细节量导致短期记忆过载并且可能形成障碍,阻止任何人对系统进行深入,准确和全面的理解需要。此外,由于使用自然语言,可能存在许多与需求信息相关的模糊,别名,不一致,冗余和不完整问题。这进一步增加了不确定性和复杂性。一般来说,最多只有少数人能够很好地理解系统或情况的某些部分,但除了对整体的表面理解之外,没有人能够理解 - 即系统的详细集成行为。

行为树表示(借助于组合树表示,解决了具有大量需求的别名和其他词汇问题),允许人们避免短期内存过载并产生深入,准确,整体的系统表示需要所有利益相关者都能理解,因为它严格使用原始要求的词汇。因为行为树表示法使用形式语义,所以对于任何给定的示例,它已经是,或者可以是可执行的。

行为树形式单一和复合或集成的行为树形式在系统和软件工程中的行为树应用中都很重要。

需求行为树:最初,个体需求行为树(RBT)用于通过严格的,保留意图和保留词汇的翻译过程捕获每个单独的自然语言需求中的所有行为片段。翻译过程可以发现原始自然语言要求中的一系列缺陷。

集成行为树:由于一组需求意味着系统的集成行为,因此可以组合所有单独的需求行为树来构建集成行为树(IBT),该行为树提供系统紧急集成行为的单一整体视图。这使得系统的综合行为能够超出其要求。有助于描述这一过程的类比是从一组随机排列的拼图拼图过渡到将每个拼图放在适当的位置。当我们这样做时,我们会在其预期的上下文中看到每条信息,我们会看到整个信息片段以及整体的新兴属性。

将所有要求转换为行为树(RBTs)类似于将拼图游戏的所有部分随机分布在桌子上-直到我们将所有部分放在一起我们无法看到紧急图片以及是否有任何部分丢失或做不合适。构建集成行为树(IBT)允许我们这样做。

行为工程过程1、使用的表示-(关键)

行为树提供了一种增加对复杂系统的共同理解的工具。组合树在整个过程中的作用是提供一种克服与系统的大量要求相关的不完全知识的工具。

2、使用的过程 - (关键)

BEHAVIOR ENGINEERING使用行为树来控制复杂性,同时增加对复杂系统的共同理解。对复杂系统的共享,整体理解,因为它集成了需求,显示了需求所隐含的系统的紧急行为。

历史行为树及其在系统和软件工程中的应用概念最初由Dromey 开发,并于2001年首次发表了一些关键思想。关于这项工作的早期出版物使用术语“遗传软件工程”和“遗传设计”来描述行为树的应用。最初使用遗传这个词的原因是因为基因集,拼图拼图集和表示为行为树的要求集似乎共享几个关键属性:

1、它们包含足够的信息作为一个集合,允许它们组成 - 使用行为树,这允许系统根据其要求构建

2、将这些部件放在一起的顺序并不重要 - 有了这些要求,这有助于应对复杂性。

3、当集合中的所有成员组合在一起时,最终的集成实体展示了一组重要的紧急属性。

对于行为树,重要的紧急属性包括

1、需求所暗示的系统的集成行为。

2、需求中提到的每个组件的连贯行为。

在另一种情况下,这些遗传相似性最初由Woolfson拼写,(A. Woolfson,Living Without Genes,Flamingo, 2000)

使用遗传一词的进一步权重来自十八世纪的思想家Giambattista Vico,他说:“理解某些东西,而不仅仅是能够描述它,或将其分析成它的组成部分,就是要理解它是如何产生的 - 它的起源,它的成长......真正的理解永远是遗传的。尽管存在这些合理的遗传相似性,但人们认为这种强调导致了遗传算法概念的混淆。因此,引入术语行为工程来描述利用行为树来构建系统的过程。术语“行为工程”以前曾用于人工智能 - 机器人研究的专业领域。它的用途包括更广泛的严格形式化和整合大型系统建模所需的大量行为和组合要求1。

应用多年来,行为树建模可以并且已经应用于各种应用。一些主要应用领域如下所述。

大型系统对具有大量自然语言要求的大规模系统进行建模一直是试验行为树和整体行为工程过程的主要关注点。对该方法进行这些评估和试验涉及与澳大利亚的许多行业合作伙伴和政府部门合作。所研究的系统包括大量的防御系统,企业系统,运输系统,信息系统,卫生系统和具有严格安全要求的复杂控制系统。这些研究的结果都是商业上的信心。然而,Raytheon Australia的广泛行业发展的结果将在下面的工业部分中介绍。所有这些工作一直表明的是,通过翻译需求并创建动态和静态的需求综合视图,早期发现了大量主要缺陷,超出了当前行业最佳实践所发现的缺陷。

嵌入式系统设计未能满足系统要求可能导致进度和成本超支。如果还存在严重的可靠性问题,那么不满足系统要求就会产生危及生命的后果。但是,在方法中,确保满足要求通常会在测试和调试周期中延迟到开发过程的后期。这项工作描述了系统开发方法,行为工程如何用于开发嵌入式系统的软件。结果是模型驱动的开发方法,可以创建满足其需求的嵌入式系统软件,这是应用开发过程的结果。

硬件 - 软件系统许多大型系统由相互依赖的软件和硬件组成。软件和硬件的不同性质意味着它们通常使用不同的方法单独建模。由于与硬件/软件交互的不兼容假设,这可能随后导致集成问题。通过将行为树与Modelica,数学建模方法相结合,可以克服这些问题。环境和硬件组件使用Modelica建模,并与使用行为树的可执行软件模型集成。

基于角色的访问控制为确保正确实施复杂的访问控制要求,经验证和验证的要求必须与系统的其余部分有效集成。在开发过程的早期验证和验证系统也很重要。已经开发出一种基于角色的综合访问控制模型。该模型基于图形行为树表示法,可以通过模拟验证,也可以使用模型检查器进行验证。使用此模型,可以从一开始就将访问控制要求与系统的其余部分集成在一起,因为:使用单个表示法来表示访问控制和功能要求;可以采用系统的,渐进的方法来构建正式的行为树规范;并且可以模拟和模型检查规范。使用具有分布式访问控制要求的案例研究评估了该模型的有效性。

生物系统由于行为树描述了复杂的行为,因此它们可用于描述一系列不限于基于计算机的系统。在生物学背景下,BT可用于将研究论文中描述的生物学功能的程序性解释拼凑在一起,将论文视为如上所述的需求文件。这有助于构建一个比只读的更具体的过程描述,也可以作为比较替代论文中竞争理论的基础。在正在进行的研究中,行为树符号被用于开发恐惧条件下大鼠的脑功能模型。

游戏AI建模主要文章:行为树(人工智能,机器人和控制)虽然BT在电脑游戏中对人工智能建模很受欢迎,例如Halo 和Spore,这些类型的树与本页描述的树非常不同,并且更接近于层次有限状态的组合机器或决策树。足球运动员建模也是BT的成功应用。

本词条内容贡献者为:

王沛 - 副教授、副研究员 - 中国科学院工程热物理研究所

科技工作者之家

科技工作者之家APP是专注科技人才,知识分享与人才交流的服务平台。