WO2015077832A1 - Behavior engineering editor (bee) - Google Patents
Behavior engineering editor (bee) Download PDFInfo
- Publication number
- WO2015077832A1 WO2015077832A1 PCT/AU2014/050349 AU2014050349W WO2015077832A1 WO 2015077832 A1 WO2015077832 A1 WO 2015077832A1 AU 2014050349 W AU2014050349 W AU 2014050349W WO 2015077832 A1 WO2015077832 A1 WO 2015077832A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- node
- tree
- user
- branch
- bee
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/067—Enterprise or organisation modelling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/10—Requirements analysis; Specification techniques
Definitions
- the present invention generally relates to a branch of software and systems engineering known as Behavior Engineering (BE).
- BE Behavior Engineering
- the present invention has particular, although not exclusive application to BE in reviewing and assessing project
- BE Behavior Engineering
- BE is able to offer numerous advantages: early defect detection, reduced schedule time, building of the right system, change and risk management, and a shared understanding of the system by ail stakeholders.
- BE has undergone a series of industry trials since 2002 that has helped to develop the methodology to its current state. The results of these trials found 130 major defects per 1000 requirements even after normal reviews.
- BE behavior modeling language
- BML behavior modeling language
- BMP behavior modeling process
- the BML is the representation used by BE and is composed of two
- the BMP is the process used to create BE models from constituent behavior trees 400 and a composition tree 500 and is made of the four distinct stages of formalization, a fitness- for-purpose test, specification and design.
- BE can be performed in reviewing and assessing project specifications (e.g. software and systems engineering projects, legal drafting and contracts, building bridges or other infrastructure projects) using diagramming toolkits such as Visio or Smartdraw.
- project specifications e.g. software and systems engineering projects, legal drafting and contracts, building bridges or other infrastructure projects
- diagramming toolkits such as Visio or Smartdraw.
- these types of editors are not particularly well suited to creating and modifying complex BE models, such as the behavior tree (BT) 600 as shown for example in Figure 6.
- the preferred embodiment of the present invention provides an improved Behavior Engineering Editor (BEE) for reviewing and assessing project specifications.
- BEE Behavior Engineering Editor
- a behavior engineering (BE) model including a first tree with a first node and a second tree with a second node, the first node being associated with the second node, the method including the step of:
- the step of automatically modifying involves the second tree being visible whereas the first tree is not visible.
- the first node and second node may be associated with a common component.
- the step of automatically modifying may involve automatically modifying the common component of the first node responsive to the component of the second node being modified by a user.
- the method may include the step of alerting the user to delete the first node from the first tree when the user seeks to delete the component of the second node.
- the user may be prohibited from performing deletion of the component of the second node until after the deletion of the first node is first performed.
- the method may further involve automatically deleting any nodes that are children of the deleted first node.
- the BE model may include entities including the nodes, each entity may include bi-directional links with other entities of the BE model, and the method may further involve deleting the first node only after ail back links with the other entities have been deleted.
- the method may involve the step of creating the first node only after a!l the other entities associated by a forward link have been created first.
- the step of automatically modifying may involve automatically aliasing the first node with another node responsive to the user aliasing the second node with that other node of the second tree- [00017]
- the first tree may be a behavior tree (BT) and the first nc
- the second tree may be a composition tree (CT) and the second node may be a
- the step of automatically modifying may involve bundling all of the
- the method may further include the step of creating the nodes with the common component, prior to the step of automatically modifying.
- the method may further involve the step of automatically performing a re- layout of a tree and updating ordering of branches when a node of the tree is dragged to a side of one of its sibling nodes.
- a system for editing a behavior engineering (BE) model including a first tree with a first node and a second tree with a second node, the first node being associated with the second node, the system including:
- a server for automatically modifying the first node of the first tree responsive to the second node of the second tree being modified by a user.
- the system may further include a database storing the BE model including the first tree modified by the server.
- the stored BE mode! may include entities including the nodes, each entity may include bi-directional links with other entities of the BE model resulting in prioritized creation and deletion of entities.
- the system may further include a user computer for bundling all of the operations resulting from modification of the second node by the user into a single message transaction that is sent to the server which, in turn, automatically modifies the first node.
- the user compute may include a local mirror model of the global BE model stored in the database, and modifications to the second node may be bundled.
- the server may update the global BE modei with the modifications and update each local mirror model of each user computer.
- BEE Behaviour Engineering Editor for editing a behavior engineering (BE) model, the model including a first tree with a first node and a second tree with a second node, the first node being associated with the second node, the BEE being configured to:
- a method for editing a behavior engineering (BE) model including a tree with a first branch and a second branch on one side of the first branch, the first branch including a first node and the second branch including a second node, the method including the steps of:
- Figure 1 shows elements of a Behavior Tree node
- Figure 2 shows elements of Behavior Tree Notation
- Figure 3 shows elements of Composition Tree Notation;
- Figure 4 is a simple behavior tree example representing
- Figure 5 is a simple composition tree example representing the same requirement of Figure 4.
- Figure 6 is an example behavior tree of a requirements specification from industry
- Figure 7 is a block diagram of a system 700 for enabling muitipie users to review and assess project specifications.
- Figures 8-10 demonstrate the process of adding a BT node to a Behavior Tree and the resulting impact on collaborating users and the CT.
- Figures 1 1 -13 demonstrate the process of modifying a BT node and the resulting impact on collaborating users and the CT,
- Figures 14-16 demonstrate the process of modifying a CT node and the resulting impact on collaborating users and the CT.
- Figures 17 and 18 demonstrate the process of attempting to delete a CT node when it is still associated with existing BT nodes.
- Ftgure 19 demonstrates the process of deleting a BT node from the BT of Figure 12 and the resulting impact on collaborating users.
- Figure 20 shows the types of entities stored in a model database.
- Figure 21 and 22 show the transaction process utilized for collaboration.
- Figure 23 is a screenshot of Behavior Engineering Editor (BEE) user interface in accordance with an embodiment of the present invention.
- BEE Behavior Engineering Editor
- a system 700 as shown in Figure 7 and for enabling multiple users 702a, 702b to review and assess project specifications,
- the system 700 includes user computers 704a, 704b with which users 702a, 702b can use an improved Behavior Engineering Editor (BEE).
- BEE Behavior Engineering Editor
- the web-based architecture of the system 700 enables multiple users 702a, 702b, concurrently and in collaboration, to develop single BE models.
- the system 700 further includes a web server 706 which can be accessed by remote computers 704a, 704b over the network 708.
- the server 706 hosts a website which enables computers 704a, 704b to access the BEE,
- the server 706 includes a model database 710 for storing BE models created and amended by the users 702a, 702b.
- the BEE enables users 702 to perform a model-based review of a product specification by building a BE model.
- the BEE is accessed through a web browser, whilst connected to a VPN, to enable users 702 to securely collaborate on a BE model.
- BE models are built by translating each requirement, written in natural language, one at a time into a Behavior Tree (BT) and a Composition Tree (CT), BTs and CTs are graphical languages, which describe the emergent behavior of a system based upon the individual behaviors of an integrated network of entities known as components.
- BT Behavior Tree
- CT Composition Tree
- Both BTs and CTs are composed of multiple nodes (see Fig.s 1 to 3), which have a tag 116 attached to the left of the main part of the node. This tag 116 contains a traeeability link 112 to trace the node to the natural language requirements from which it was originally translated.
- BT nodes are arranged to form a BT 400 that shows the
- Each BT node describes a component 102 exhibiting a behavior 104 qualified by a behavior type 110.
- a BT node may have an optional operator 106 and a label 108, which are used as part of the BT syntax.
- CT nodes are arranged to form a CT 500 that shows how the components are composed to form a system, or a system of systems.
- CT nodes are formed using single instances of components that may be used multiple times in several related BTs. This enables CTs to provide the complete system vocabulary in an easy to access format.
- CT nodes can define the multiplicity of a component 308, 310, 312 as well as any aliases 1702 (other terms used for the same component) that are present.
- Figure 23 shows a screenshot of a user interface 2300 of the BEE.
- the user interface 2300 of BEE is composed of five sections:
- the use 704 can open/create a composition tree or a behavior tree using the navigation panel 2302. Furthermore, the user can use the navigation panel 2302 to view the components, requirements and issues associated with a BE model.
- the user 704 can open a model using the Menu Panel 2304. Furthermore, the user 704 can view statistics about the model and share the model with other users using the Menu Panel 2304.
- (C) Properties Panel 2306 The user 704 can use the properties panel 2306 to edit or delete a 1
- the user 704 can create, edit and delete issue and requirements using the Issues & Requirements Panel 2308.
- (E) Behavior Tree / Composition Tree View 2310 The user 704 can select and create a node using the Behavior Tree / Composition Tree View Panel 2310 and switch or toggle between viewing a behavior tree or composition tree of a model.
- Figures 8-10 demonstrate the process of adding a BT node to a Behavior Tree and the resulting impact on collaborating users 702 and the CT.
- a new BT node 802 is created in a BT 808 when a user 702a double clicks in the view 808. While a BT node 802 is selected, the Properties Panel 804 is visible. The details of the BT node, such as the component and its behavior, are added into the Properties Panel 804.
- the update button 808 is pressed to update the BT node 802.
- transactional messaging is used to update the model database 710 and the server 706 ensures that the BT node is updated on all remote computers 704a and 704b that are collaborating on that Behavior E
- the system 700 automatically adds the new component 1002 to the Composition Tree 1004.
- FIGs 1 1 - 13 demonstrate the process of modifying a BT node and the resulting impact on collaborating users 702.
- a BT node 1 102 can be modified in a BT 1108 by the user 702a selecting the BT node 1102 and modifying its details in the Properties Panel 1104.
- the update button 1106 is pressed to update the BT node 1202.
- transactional messaging is used to update the model database 710 and the server 706 ensures that the BT node 1102 is updated on ail remote computers 704a and 704b that are collaborating on the BE model.
- the user 702a, and any collaborating users 702b will see the updated BT node 1202 if they are viewing the BT 1204.
- the system 700 automatically adds any new components 1306 to the Composition Tree 1302.
- Figures 14-16 demonstrate the process of modifying a CT node and the resulting impact on collaborating users 702. Many of the actions that are performed on the BT can also be performed on the CT.
- the user 702a may want to make an existing component 1304 an alias of another component 1306 in the CT.
- the user 702a selects the existing component 1404 and selects an alias option from a properties menu 1402. This opens a dialog window 1500 shown in Figure 15 from which the user 702a can choose the appropriate component 1502.
- the same dialog window 1500 is accessible from a BT 808 by clicking on the banner 810 that appears when a new component is entered.
- transactional messaging is used to update the model database 710 and the server 706 ensures that the BT node is updated on ail remote computers 704a and 704b that are collaborating on the BE model
- the user 702a, and any collaborating users 702b will see the updated CT node 1602 shown i Figure 16 if they are viewing the CT 1604. If they are viewing a BT, any references to the alias 1304 in any BT nodes will be changed to the component 1306. [00060]
- the BEE also ensures that the user 702 does n
- a BT node 1202 can be deleted in a BT 1204 by the user 702a selecting the BT node 1202 and pressing the delete button 1206.
- transactional messaging is used to update the mode! database 710 and the server 706 ensures that the BT node is deleted on all remote computers 704a and 704b that are collaborating on the BE model.
- the user 702a, and any collaborating users will no longer see the deleted BT node in the BT 1902 as shown in Figure 19.
- the system 700 automatically deletes any BT nodes that are children of the deleted BT node.
- Collaboration enables multiple users 702a, 702b to bui!d and analyse a model at any one time. By using the composition free to maintain consistency, multiple modellers 702 can build a single integrated and coherent model of the requirements concurrently and thereb reduce the overall modeling time. Collaboration is
- the Model Database 710 consists of an Entity Model 2000 shown in Figure 20 that is composed of several entities: Model 2002, BT 2004, BT Node 2006, Operator 2008, Relation 2010, Issue 2012, Requirement 2014, Component 2016, Identifier 2018, Attribute 2020, Container 2022 and Behavior 2024. Each of these entities is associated with one or more entities using bi-directional links, with one direction defined as a forward link and the alternate direction defined as a backward link. [00065] Often, a number of operations are performed on entities
- model database 710 that all relate to a single task performed by a user 704 in BEE. For example, updating a BT Node 2006 could cause changes to the BT 2004, Issue 201 , Requirement 2014, Component 2016 and Behavior 2024 entities in the model database 710. Even with asynchronous communication, the transmission and computation overhead of individually managing the numerous operations resultant from a task performed by the user can be prohibitively expensive.
- the BEE overcomes these issues by bundling ail of the operations resulting from a task performed by a user 702 into a single transaction that is sent from the user computer 704 to the server 706, Transactional messaging both simplifies and reduces the transmission time of operations that are performed on a remote computer 704 either locally by the user 702 or remotely by the server 706 as part of collaboration,
- create, update and delete A create actio is used to instantiate a new entity.
- An update action is used to change one or more links of an entity.
- a delete action is used to remove an entity.
- the bi-directional links between entities are used to determine the order in which actions are processed to avoid deadlocks. An entity cannot be created until all the entities associated by a forward link have been created first. An entity cannot be deleted until all of its back links in the associated entities have been deleted first.
- the entity can trigger a furthe series of other create, update and delete operations on its associated entities. For example, when a BT Node 2006 is deleted, it causes updates to other entities such as a Component 2016 and a Behavior 2024.
- the series of operations that are triggered are also often recursive. For example, when a BT node 2006 is deleted, the children of that BT Node 2006 are deleted. When the child BT Nodes 2006 are deleted, they once again trigger the deletion of their child BT Nodes 2006 and so on.
- each remote computer 704 has a Local Data modul 2100, shown in Figure 21 , that performs the role of a central dispatch centre.
- Local Data module 2100 stores a curre
- a transaction 2102 begins by notifying Local Data module 2100 that a task is about to be performed by the user computer 704. As entitie 2108 are created, updated and deleted during the transaction, the entities 2108 log the operations 2104 that have been performed with Local Data module 2100. Once the Local Data module 2100 is notified that the transaction is complete, all the operations that have been recorded during the transaction 2102 are transferred in a bundle from the computer 704 to th server 706.
- Each entity 2108 in the local model database 2110 is responsible for operations 2104 performed on its values by making the Local Data module 2100 of the computer 704 aware of these operations 2104. Operations that make reference to another entity 2108 are logged using Link Objects 2112 to allow the referenced entities 2108 to be located on the server 706 (or the local data of collaborating users).
- Link Objects 2112 An example is if a requirement 2014 is associated with a component 20 6, the requirement 2014 and component 2016 would both inform Local Data module 2100 of the operations that have been performed on them and reference each other using Link Objects 2112.
- Operations consist of Link Objects 211 that are used in transactions to match a reference to an Entity 2108 in the Local Data module 2100, to the
- Link Objects 21 12 are also used when a new Entity 2108 is created, as unique identifiers can only be created on the server 706. To overcome this, the link object of a new entity is assigned a temporary identifier until the identifier created by the Server 706 is returned.
- the server 706 receives the transaction 2102, it iterates over the Link Objects 21 12 that have operations ready to be executed and either finds or creates the referenced entity 2108. Operations are only ready when all the entities references in the forwards links of the entity related to the Link Object have been created. This determines the order in which entities are created, updated or deleted. All operations are performed until the complete set of operations in the transaction have been processed in th database 710 by the server 706. The
- Users 702 shouldn't be spending their time aligning and positioning nodes. Instead, the BEE performs automated iayout of the Behavior Trees and the Composition Tree with partial intervention. Users 702 can add a new node simply with a mouse double-click on a parent node or empty space.
- the user can decide the ordering of a branch by dragging, using a mouse, a nod 2402 to either the left or right of one or more of its sibling nodes 2404. After this operation, the automated layout then performs a re-layout of the tree with the updated ordering of the branches as shown in Figure 25.
- unaesthetic trees as nodes could be of significantly different heights due to the presence of relational behavior in BTs and aliases in CTs.
- the BEE automates the layout of the Behavior Tree and Composition Trees and also caters for nodes of different heights as shown in Figure 24. This is done through the implementation of a non-layered tree Iayout algorithm that is a modification of the Reingold-Tilford algorithm that operates in linear time. The tops of each child node are related only to their parent node, and sibling nodes need not be vertically aligned to each other.
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Strategic Management (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Entrepreneurship & Innovation (AREA)
- General Engineering & Computer Science (AREA)
- Economics (AREA)
- Marketing (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- Operations Research (AREA)
- General Business, Economics & Management (AREA)
- Educational Administration (AREA)
- Development Economics (AREA)
- Game Theory and Decision Science (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
Claims
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
AU2014354575A AU2014354575A1 (en) | 2013-11-28 | 2014-11-13 | Behavior Engineering Editor (BEE) |
AU2016100771A AU2016100771A4 (en) | 2013-11-28 | 2016-05-27 | Behavior engineering editor (bee) |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
AU2013904597 | 2013-11-28 | ||
AU2013904597A AU2013904597A0 (en) | 2013-11-28 | Behavior Engineering Editor (BEE) |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2015077832A1 true WO2015077832A1 (en) | 2015-06-04 |
Family
ID=53198104
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/AU2014/050349 WO2015077832A1 (en) | 2013-11-28 | 2014-11-13 | Behavior engineering editor (bee) |
Country Status (2)
Country | Link |
---|---|
AU (1) | AU2014354575A1 (en) |
WO (1) | WO2015077832A1 (en) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5701137A (en) * | 1995-05-24 | 1997-12-23 | Microsoft Corporation | Method for separating a hierarchical tree control into one or more hierarchical child tree controls in a graphical user interface |
US20070033204A1 (en) * | 2005-08-02 | 2007-02-08 | Callahan Sean M | Methods and apparatus for information modeling |
US20080028003A1 (en) * | 2006-07-28 | 2008-01-31 | Thomas Brueggemann | Structured object model merge tool with static integrity constraint observance |
-
2014
- 2014-11-13 WO PCT/AU2014/050349 patent/WO2015077832A1/en active Application Filing
- 2014-11-13 AU AU2014354575A patent/AU2014354575A1/en not_active Abandoned
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5701137A (en) * | 1995-05-24 | 1997-12-23 | Microsoft Corporation | Method for separating a hierarchical tree control into one or more hierarchical child tree controls in a graphical user interface |
US20070033204A1 (en) * | 2005-08-02 | 2007-02-08 | Callahan Sean M | Methods and apparatus for information modeling |
US20080028003A1 (en) * | 2006-07-28 | 2008-01-31 | Thomas Brueggemann | Structured object model merge tool with static integrity constraint observance |
Non-Patent Citations (4)
Title |
---|
"Freemind web site - documentation - history - revision 07:32", 28 June 2007 (2007-06-28), Retrieved from the Internet <URL:http://freemind.sourceforge.net/wiki/index.php?title-Documentation&oldid-6692> [retrieved on 20150122] * |
KUMAR S.: "Freemind User Guide", 22 January 2015 (2015-01-22), Retrieved from the Internet <URL:http://freemind.sourceforge.net/FreeMind%20User%20Guide%20by%20Shailaja%20Kumar%20(manual).pdf> * |
REINGOLD, E. M. ET AL.: "Tidier Drawings of Trees", IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, vol. SE -7, no. 2, March 1981 (1981-03-01) * |
WEN L. ET AL.: "Integrare'', a Collaborative Environment for Behavior-Oriented Design', Cooperative Design, Visualization, and Engineering", LECTURE NOTES IN COMPUTER SCIENCE, vol. 4674, 2007, BERLIN HEIDELBERG, pages 122 - 131 * |
Also Published As
Publication number | Publication date |
---|---|
AU2014354575A1 (en) | 2016-06-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10783477B2 (en) | Template containers for business process management | |
US8302096B2 (en) | Methods and systems to perform individual tasks as a composite task | |
US10867273B2 (en) | Interface for expanding logical combinations based on relative placement | |
US20130152021A1 (en) | Stage and stage view within a workflow | |
US20100281462A1 (en) | Systems and methods for generating source code for workflow platform | |
EP1804177A1 (en) | Merge tool for structured object models | |
US20080115104A1 (en) | Software development system and method for intelligent document output based on user-defined rules | |
Maróti et al. | Online collaborative environment for designing complex computational systems | |
US8589877B2 (en) | Modeling and linking documents for packaged software application configuration | |
US10877846B2 (en) | Performing a closure merge operation | |
CN105528418B (en) | A kind of design documentation generation method and device | |
US8423390B2 (en) | Computer method and apparatus for engineered product management using a project view and a visual grammar | |
US9323729B2 (en) | Coordinating the management of the layout and design of portal pages with the management of its associated web content | |
US20090083343A1 (en) | Computer method and apparatus for accessing assets in an engineering product management system repository | |
CN104063446A (en) | Multi-user-generated content version control method and implementation method | |
Almughram et al. | Coordination support for integrating user centered design in distributed agile projects | |
US20090083101A1 (en) | Computer method and apparatus for indicating performance of assets and revisions held in a repository | |
JP6216076B2 (en) | System and method for identifying information relevant to a company | |
CN108369514A (en) | The system and method created for executable content and executable content stream | |
Mahey | Robotic Process Automation with Automation Anywhere: Techniques to fuel business productivity and intelligent automation using RPA | |
Kenneweg et al. | Building Low-Code Applications with Mendix: Discover best practices and expert techniques to simplify enterprise web development | |
AU2016100771A4 (en) | Behavior engineering editor (bee) | |
US20140136257A1 (en) | In-memory analysis scenario builder | |
WO2015077832A1 (en) | Behavior engineering editor (bee) | |
JP5820324B2 (en) | Design support system, design support method and program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 14865593 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
ENP | Entry into the national phase |
Ref document number: 2014354575 Country of ref document: AU Date of ref document: 20141113 Kind code of ref document: A |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 14865593 Country of ref document: EP Kind code of ref document: A1 |