1. Field of the Disclosure
This disclosure relates to a tree-to-graph folding procedure for systems engineering requirements. In particular, this disclosure relates to a system and method for generating a data representation graph for systems engineering requirements having no duplicate nodes.
2. Description of the Related Art
Management in systems engineering includes identifying and managing systems engineering requirements at an early phase of the design process of a system, validating the systems requirements against the purposes and functions of the system, and verifying the systems engineering requirements against appropriate specifications. A systems engineering requirement is a criterion that a system must meet. Systems engineering requirements can include things the system must do, characteristics it must have, and levels of performance it must attain. Systems engineers develop systems engineering requirements before a system is created. As it is developed, the system is evaluated according to how well it meets its system engineering requirements.
Prior art software systems engineering requirements management tools provide support for managing system development, even for systems having tens-of-thousands of systems engineering requirements, such as for providing support for top-down development, which may include providing a database representation of the systems engineering requirements and connections between the systems engineering requirements, also known as a requirements document. Examples of prior art software management tools for system engineering which are currently commercially available include SLATE™, DOORS™ and CORE™.
In prior art software requirements management tools, systems engineering requirements may be organized and visualized as a tree, which is defined as an acyclic connected directed hierarchical graph having a plurality of nodes including one or more parent nodes and one or more child nodes. A parent node represents a defining systems engineering requirement, and a child node represents a complying systems engineering requirement. The actual systems engineering requirements may have a number of complicating relationships, such as multiple inheritance relationships, where a systems engineering requirement document or other data representation needs to support such relationships. Furthermore, systems engineering requirements data representations need to support hierarchical representations for representing different organizational levels. The organizational levels may enhance team development, where a particular level may be associated with a particular team.
The term “tree” refers to an acyclic connected directed hierarchical graph. Visualization of requirements in a tree format may use duplication of nodes for representing complicated relationships, preserving of organizational levels and/or eased of implementation in a computer environment. In engineering projects having large numbers of systems engineering requirements, the presence of duplicate nodes complicates the task of interpreting and understanding the relationships between the systems engineering requirements. As the number of systems engineering requirements increases, the ability to comprehensively manually identify duplicate nodes and all complying and defining relationships associated with each node becomes undependable and unfeasible. Reliance on a tree having duplicate nodes may lead to decision making based on an incomplete picture of a systems engineering requirement's role in the system design.
Furthermore, prior art requirements management tools represent individual systems engineering requirements by using textual descriptions without underlying semantics. Accordingly, search mechanisms are limited to the use of keywords. As a result, computational support for the validation and verification of requirements and searching capabilities are limited.