A process driven approach
An integrated concurrent engineering environment requires an integrated engineering process as well as bridges among various tools. The integrated process defines the engineering tasks that will be performed. From an understanding of these tasks, the tool requirements for supporting each task can be derived. Understanding task support requirements enables both selection of an appropriate set of tools and the selection of the subset of tool capabilities within those tools to support a task.
Specifying the precise semantics of tool capabilities in the context of the engineering process enables the mapping of tool capabilities to task support requirements. This is important because modern flexible tools permit a wide range of interpretations for the same system model structure. A precise definition of semantics (McKennon 1993), based on task requirements, creates consistency among the users of a tool. This consistency is necessary to control the expression and interpretation of the model produced.
Precise semantics allows identification of semantically consonant capabilities in different tools. Identifying semantic consonance enables the construction of high fidelity inter-tool bridges in support of a specific engineering process. Identifying areas where semantic consonance would require major changes to the tools allows the process to be tuned to ensure a cost-effective bridge.
The role of the engineering process
It is important to understand the key role of the engineering process in enabling an environment base on high fidelity integration of commercial off the shelf (COTS) tools.
from different vendors. Because each vendor provides as many features as possible, the chosen suite of tools will provide both unnecessary capabilities and capabilities that overlap among the chosen tools.
Task requirements allow a determination of which capabilities should not be used at all. The allocation of process tasks to functional units of an engineering organization may guide the choice of which tool should be employed to perform an overlapping capability. The choice can be made to minimize the number of tools required to support each functional role. Detailed semantic decisions can be made to enhance the integration of tools that support adjacent tasks or iterative threads of tasks. Finally, as the details of tool interactions emerge, the process can be refined to allow optimal use of tools.
DESIGN AND CONSTRUCTION OF BRIDGES
Process-based bridge design
Process-based design of engineering environments has profound implications for the design and construction of inter-tool bridges. A single-semantic or hard-wired bridge will not accommodate the wide range of engineering processes in which a pair of tools will be embedded. However, process-driven bridges can be constructed. This may be done in two ways.
Highly individualized processes demand that bridges be built using the public open interfaces provided by tools. For example, many tools, from spreadsheets to RDD-100reg. to CASE tools, can convey information through ASCII files containing data with appropriate delimiters and labels indicating the target semantic entity in the receiving tool, and can accept information from such files. While a bridge built using public interfaces permits a precise implementation of a process-driven semantic mapping, after the process and mappings between two tools are defined, full integration of transferred information requires disciplined change management to maintain a coherent model in both tools.
Tailorable processes and bridges
In cases where most of the engineering community adhere to similar processes and have similar tool needs, the bridging effort can be greatly reduced by the use of general-purpose tailorable process templates and associated tailorable bridge templates that fit the general process defined by the community. RDD-100 Design Guides(TM) are examples of tailorable process templates (Tronstad 1993). They are designed to be tailored to support families of processes and to be allocated onto various organization structures. Tailorable bridges, including the SEDB(TM) – RDD-100 bridge written by Martin Marietta (Stafford 1994) and the RTM reg. – Cadre Teamwork reg. bridge available from Marconi Systems Technology, support a reasonably wide range of engineering processes.
When tailorable processes or bridges are used, an engineering group using the bridge or process must agree on a mapping table to specify, in the context of their program’s process, which entities in each tool are equivalent to or related to entities in another tool in the environment.
The following examples represent two very different processes and assignments of tool capabilities to tasks. They are simplified to permit an illustration of diversity without considering the dozens of objectives and hundreds of requirements that would drive an actual process/tool set selection. In both examples, there are only two tools in the environment: RDD-100, a systems engineering tool supporting requirements management, modeling, model execution, and creation of Mil-Standard reports; and a Requirements Traceability Tool supporting requirements management, allocation of requirements to a component architecture, creation of Mil-Standard reports, and a commercial repository for requirements and related entities.
EXAMPLE 1: A LOW RISK, WELL DEFINED SYSTEM
System 1 is a low risk system, built from well-understood and well-managed subsystems. The project team has integrated many of these subsystems into other projects. At the start of this project, the expected architecture is well understood and the originating requirements are fairly clear, consistent, and complete. One or two subsystems will use new technologies, and will require extensive design effort. In addition, these new subsystems may place unforeseen requirements on the overall design of the project, requiring some redesign of other subsystems to support the new technology. These factors represent areas of risk that will be mitigated by modeling and execution (Booth 1993).
A text based process
The engineering process for this project is text-based. In the Requirements Traceability Tool, the requirements are extracted, analyzed, and categorized into the specification sections in which they will appear. The architecture is defined, and the requirements are allocated onto the architecture. Subsystems whose behavior is not well-defined, based on the allocated requirements and legacy knowledge are identified as risky. For each risky subsystem, a package consisting of allocated requirements and a statement specifying analysis to be performed is prepared and sent to RDD-100.
In RDD-100, each subsystem is modeled and the models are executed to verify their dynamic consistency. The original requirements allocated to each subsystem are revised as necessary and augmented with behavioral requirements. The new and updated requirements are returned to the Requirements Traceability Tool.
In the Requirements Traceability Tool, the new requirements are allocated to the appropriate subsystems. The risk assessment is repeated and the need for further analysis is evaluated. If further RDD-100 work is necessary, any requirements that have been updated in the Requirements Traceability Tool will be sent to RDD-100 with a new analysis statement. The tasks and associated assignment of tools is shown in Table 1.
Table 1. Allocation of Tasks to Tools for a Well Defined System Simple bridge requirements
The initial bridge requirements are few and simple. For example, there is a natural mapping from an RDD-100 Requirement element to a Requirement entity in the Requirements Traceability Tool. There must also be a way to send the statement specifying the analysis to be performed to RDD-100, and to return data to the Requirements Traceability Tool as the design progresses.
Feedback to process requirements
The iterative nature of the modeling process suggests the need to control data transfer between the tools. Since requirements involved in the modeling can be edited in both tools, if there are no controls, the same requirements may be changed in different ways in each tool. Without some form of change management, either automated in each tool or implemented by a human procedure, the potential for confusion and loss of data exists. Because the risky areas in the design are small, the number of overlapping changes will be small enough to manage procedurally. Requirements received back by the Requirements Tool and those going back to RDD-100 for additional work will be reviewed to ensure that conflicting changes were not made.
EXAMPLE 2: A HIGH RISK, LARGELY UNPRECEDENTED SYSTEM
System 2 is a high risk project. Although it must conform to many thousands of government regulations, its behavior is only sketched by a few dozen high-level objectives, and much of its architecture is unprecedented.
A model based process using problem domain analysis
The project team must explore the parameters of the project, using scenarios to model the interaction of the system with its environment. These scenarios can be merged to model the behavior needed to support the interactions with the environment. They then must be executed in a simulation and the resulting behavior extensively analyzed to validate dynamic behavior such as timing, absence of lockouts, and resource usage.
The validated model constitutes the behavioral requirements; precise textual versions of these requirements can be produced by mechanically “walking” through the threads of the model (Karas 1993). Natural groupings of processes in the model will provide an important input to the architectural design.
Meanwhile, the huge number of regulatory requirements must be parsed, analyzed, and managed. Eventually these requirements will need to be reconciled with each other – there is no guarantee that different government agencies will impose consistent regulations – and with the behavioral requirements. This requires updates to the behavioral requirements, models, and architecture as well as to the textual requirements.
The Requirement Traceability Tool with it’s repository provides excellent facilities for holding, analyzing, reconciling, and configuration managing the enormous number of requirements. To allow a consistent and robust change management process, the Requirements Traceability Tool will handle all configuration management (CM). The allocation of tasks to tools for this project is shown in Table 2.
Bridge requires process precision
In this example, the allocation of tasks between the tools demands a precise process for the tool interactions. The tasks in Table 2 are not sequential. For example, the tool interaction process could provide for the Traceability Tool’s task Parse and Manage Regulatory Requirements to proceed concurrently with the RDD-100 tasks Model and Execute, and Define Behavioral Requirements. Once requirements reconciliation has begun, requirements will be moved between the tools frequently, and requirements work will be done in both tools.
Table 2. Allocation of Tasks to Tools for an Unprecedented System High fidelity semantic map
The semantic map for requirements must have a very high fidelity. To insure this, it will probably be necessary to restrict use of the requirements functionality to match that of the more restrictive tool. At a minimum, this requires process revisions to clearly specify what parts of requirements capabilities are off limits in each tool. Ideally there should also be tool support to lock out or hide the unused capabilities or at least consistency checks to warn that users have strayed outside of the prescribed process.
There must be support for change management; tool support is needed at least to identify conflicting changes. Unlike in System 1 where the conflict volumes will almost certainly be low, the high volume of conflicts in System 2 would overwhelm a human check. Tool support for conflict resolution would also be helpful.
To deal with the large data volumes, incremental changes, not entire sets of requirements, must pass over the bridge in both directions. This requires that both tools be able to create and read incremental change files.
The decision to allocate CM to the Requirements Traceability Tool requires sending the entire body of data from RDD-100 to the Requirements Traceability Tool whenever the design is baselined. To baseline the design, the Requirements Traceability Tool must know about all RDD-100 elements. If the Requirements Traceability Tool allows schema extensions, one approach is simply to define all RDD-100 element types as entities in the Requirement Traceability Tool’s repository. Another approach is to confine the detailed semantic mapping to requirements and to address the change management issue by depositing successive RDD-100 model configurations as Binary Large OBjects (BLOBs) in the repository. The second approach limits bridge costs, but will require additional procedures to handle and track BLOBs.
A successful multi-tool environment A successful project team working in a multi-tool engineering environment requires:
Engineering Processes and Procedures
Processes and procedures define engineering activities and specify which tool capabilities are used in each activity.
Semantic mappings define how the entities and constructs of one tool are mapped into those of another.
Connectivity mechanisms are the conduits that move information among the tools.
Concurrent development of process and bridge
Because the decisions made in process definition determine the inter-tool interfaces, process definition provides the requirements for the semantic mappings. When process definition and the design and implementation of semantic mappings proceed concurrently, the costly work of constructing unnecessary bridge capabilities is eliminated.
Booth, Stuart, “Risk Assessment and Mitigation Planning Early in the Development Life Cycle”, Proceedings of the Third Annual Symposium of the National Council on Systems Engineering (Washington, D. C., July 26-28, 1993).
Karas, Len and Donna Rhodes, “Enabling Concurrent Engineering through Behavioral Analysis”, Proceedings of the Third Annual Symposium of the National Council on Systems Engineering (Washington, D. C., July 26-28, 1993).
Malcolm, Nadine and Jane McKennon, “Integrating the Concurrent Engineering Tool Set: Issues and Approaches”, Proceedings of the Twelfth Structured Development Forum (Philadelphia, PA, August, 1993).
Stafford, Randy and Herb Axe, “On the Dimensions of Interfaces between Database Applications”, Proceedings of the Fourth Annual Symposium of the National Council on Systems Engineering (San Jose, CA, August 10-12, 1994).
Tronstad, Y. D., J. Peterson and S. Shreve, “Development of a System Engineering Process Model Template, Proceedings of the Third Annual Symposium of the National Council on Systems Engineering (Washington, D. C., July 26-28, 1993).
Jane McKennon is a Systems Engineer for RDD-100 at Holagent Corporation. Presently she writes specifications for new capabilities for RDD-100. Her background includes software development and testing.
RDD-100 is a registered trademark of Holagent Corporation. Other product names mentioned in this document are trademarks or registered trademarks of their respective owners and are used for identification purposes only.