Integrating Concurrent Tool Set
Jane McKennon
Abstract
With the availability of commercial tools to automate the many different
phases of the system life cycle, users are faced with the problem of
integrating the information produced by one tool with the information
required by another. The current state of the practice is for users
to create paper or electronic document-based bridges between tools.
The challenge is to create an integrated concurrent engineering tool
set using engineering models, rather than documents, to transfer design
information. An examination of the issues raised by integrating engineering
tools leads to the conclusion that complete integration cannot be achieved
by external mechanisms such as backplanes or by unilateral modifications
to a single tool. Integrating multiple engineering tools requires changes
to all tools.
Overview
The need for interfaces between tools supporting the concurrent engineering
process has intensified as the complexity of specification, design,
and construction of systems has increased. Figure 1 shows the two main
aspects of the inter-tool interface: the type of linkage and the sophistication
of the interface mechanism.
Figure 1. Aspects of the Inter-tool Interface
The type of linkage determines the fidelity of information transfer
between phases of the design process. At the lowest level, Document
Linkage, engineers communicate via English text documents; these documents
may contain the results of engineering models, but the models are not
passed to downstream engineers. The next level is Inter-Tool Model Linkage.
Each group of engineers develops a model using a tool appropriate to
its specialty, and an inter-tool bridge translates this model to a form
that can be input to the tool used by the next group of engineers. Project
Model Tool Linkage provides the highest fidelity information transfer.
Because all engineering tools share a rich underlying modeling language,
no model-to-model translation is required. Each group of engineers uses
its tool to examine the shared model, does its engineering work, and
passes the results back to the shared model.
Interface mechanisms determine the degree of automation and control
of information transfer among tools. Flow Down is the lowest level interface;
engineers can extract information from a tool and export it to a downstream
tool, but there is no return flow of information back up the tool chain.
Inter-Tool updates employ a backplane technology to enable tools to
exchange information using automation to enable change control and to
ensure integrity of shared information. With Project Model Tool Integration,
tools share a rich and sophisticated modeling language; this allows
the entire chain of tools to behave like a single integrated tool that
varies the structure and availability of information depending on the
phase of the design process.
With increasing sophistication of interface mechanisms, the work required
to move information, control access, and provide data integrity becomes
less and less visible to the user. Seamless, controlled information
flow allows engineers, managers and customers to focus their time and
effort on creating an efficient and robust model.
The Concurrent Engineering Process
The specification, design and construction of a large system is a very
complex process. Evolution of a system design is sequential and iterative;
it proceeds from mission analysis, through system requirements and design,
to component design and implementation. Early in the project systems
engineers postulate requirements and designs while component designers
and specialty engineers evaluate and recommend changes. Later, component
designers propose designs and receive evaluations from component developers
and specialty engineers. When a problem is discovered that forces a
change to a prior engineering phase, the design process becomes iterative.
For example, a problem raised by component or specialty engineers may
force a change at the system level, and cascade changes to all lower
levels.
Application of engineering expertise is concurrent; all engineering
disciplines participate in all phases of the design process. To promote
accurate and complete technology transfer, some engineers work on several
phases of the project or stay with it through its life cycle, but movement
of personnel on and off the project leads to varying groups of engineers
for each phase. Because of the complexity of the design process and
the ever-changing population of the design team, completeness of data
transfer and change management are necessary throughout all phases of
the system design process.
Historically, the beginning and conclusion of each phase of a design
is marked by the delivery and baselining of prescribed documents. Each
group of engineers reads the documents passed to them by the preceding
phase's engineers. They interpret the requirements and the model description
in these documents in the context of the engineering specialty of the
present phase of the design. The reinterpreted requirements, model structure,
and a general knowledge of the system under construction are the basis
for building the current phase of the system design. The conclusion
of the phase is again marked by the delivery and baselining of the prescribed
documents. Over the course of several translations, differences in interpretation
can accumulate, causing dramatic differences between the customer's
expectations and the behavior of the delivered system.
Modeling Tools
Different engineering disciplines have independently recognized the
inadequacy of English text to communicate the interactions of complex
systems. As each group developed its own compact graphical or tabular
modeling language, tool companies sprang up to automate model construction
and editing. Because the driving complexity of software was the management
of huge amounts of data, software engineers developed data flow diagrams
(DFDs) (see Figure 2) to trace the input, output, and storage of data.
CASE tools quickly automated construction and editing of DFDs.
Figure 2. A Sample DFD
Software engineers soon recognized the need for a compact representation
of control flow, and began to supplement DFDs with state machines and
decision tables, which developed into control flow diagrams (CFDs).
Similarly, other engineering disciplines developed their own notations
such as VHSIC Hardware Description Language (VHDL) for chip design,
and System Description Language (SDL) for telecommunications. Automated
tools soon followed, such as Computer-Aided Design (CAD) for mechanical
parts, and Computer-Aided Engineering (CAE) for electronic parts.
Systems engineers have traditionally used Functional Flow Block Diagrams
(FFBDs) to provide a graphical view of system behavior as sequences,
selections, and concurrencies of functions, that can be recursively
decomposed into other FFBDs (see Figure 3).
Figure 3. A Functional Flow Block Diagram whose functions correspond
to the bubbles on the DFD in Figure 2.
A number of systems engineering tools provide automated support for
creating and editing FFBDs. While FFBDs show the possible sequences
of system behavior, they ignore data flows, including those that trigger
a transition from one behavior state to another. Like the DFDs and CFDs
of a CASE tool, RDD-100® Behavior Diagrams (BDs) [Alford
92] extend the FFBDs to represent both data flows and control transitions.
The BD shown in Figure 4 indicates the same data flows as the DFD in
Figure 2 and the same functions and control flows as the FFBD in Figure
3.
Figure 4. An Example Behavior Diagram. Discrete Items W, X, Y, and
Z correspond to the data flows in the DFD in Figure 2. The control flow
lines showing concurrency and conditions, plus the Discrete Functions
A, B, C, D, and E, correspond to the control flows and functions on
the FFBD in Figure 3.
Linkage Types
The number of tools used by the various engineering disciplines and
the inefficiencies of manual information transfer beg for automated
links between tools. The fidelity of the data transfer depends on the
maturity of the linkage. Figure 5 summarizes the types of linkages and
their strengths and weaknesses.
| Maturity Level |
Strengths |
Weaknesses |
Technology Availability |
| Document Linkage |
Easy to achieve
Uses existing document tool capabilities |
Requires manual effort to translate model
Errors magnified by reinterpretation of information |
Many publication tools allow easy transfer to other
publication tools |
| Inter-Tool Model Linkage |
Requires only pair-wise tool cooperation
Reduces translation effort and errors |
Models only partially comparable
Multiple translations allow errors to multiply |
Usually requires some modification to at least one
tool |
| Project Model Linkage |
Eliminates translation effort and errors |
Requires substantial investment to develop a purpose
model and set of tools |
Would require extensive changes to present tools,
or entirely new tools |
Figure 5. Comparison of Levels of Linkage Maturity
In a Flow Down, document-linked process (see Figure 6) each group of
engineers delivers its documents on paper or in computer-readable form.
The receiving engineers may use a scanner or translator to move the
document into their text processing tool, or all engineering groups
may adopt the same tool. In either case, the receiving engineers read
the document and extract the pertinent subset of requirements to use
as the basis for their design phase. They use these shared requirements
as their originating requirements in the documents they pass on to the
next level of design. Document Linkage superficially automates the hand-off
from one group of engineers to another. Automating the transfer can
save time and reduce re-keying errors, but it does not solve the communication
problems that arise from repeatedly re-analyzing and re-interpreting
engineering information. In addition, Document Linkage does not address
transferring any model information that may be present in the documentation.
While graphs and tables from a modeling tool may be included in later
documents, the receiving engineers must manually translate those graphs
and tables into their tool's modeling language to make revisions or
extensions.
Model linkages transfer information as engineering models rather than
as English text. Model linkages span a wide range of complexity, from
partial translations between the models used by different tools, to
the very high fidelity linkage achieved when all tools use the same
model. In a model-linked process, documents are derived from models.
They represent end products that explain the design at various stages,
serve as conduits for model revision, and provide benchmarks for outside
evaluators to measure design progress.
Figure 6. The Document Driven Engineering Process
In an Inter-Tool Model Linkage (see Figure 7), an automated bridge
translates the information from the model used by one tool to that used
by another. Well-crafted translations minimize information loss by finding
acceptable semantic equivalents in one tool for the constructs of another.
However, because the underlying models are different, the translations
are not complete. The parts of the translation that cannot be automated
are subject to human interpretation and human error. Also, since the
translations only link pairs of tools, moving information from one end
of the tool chain to another requires several translations. Even if
each pair of translations is 80% complete, after three translations
only 50% of the original information remains. The examples in the next
section illustrate the difficulties of establishing a translation between
models.
Model translations entail substantial programming work. It is easiest
to understand, manipulate, and translate model semantics using the facilities
within the tool that created the model. Some tools provide application
programmer interfaces (APIs) to enable this access, but most do not.
Unless both tools provide APIs, creating an inter-tool model link will
require cooperation from the tool vendors.
Figure 7. Inter-Tool Model Linkage
Linkage via a project model eliminates translations. In a Project Model
linked process (see Figure 8) all tools share a common model. Tools
present semantically relevant views of the project model, showing or
hiding information as appropriate to the engineering task they support.
While such a linkage would eliminate translation problems, there is
currently no model representation rich enough to support all engineering
activities. Some existing model approaches such as DFD/CFDs and Behavior
Diagrams could be extended to cover larger portions of the design process.
Consolidation of the many models into a few general purpose ones would
decrease the number of required inter-model translations. However, model
consolidation requires a large investment to build sets of tools which
are sufficiently fluent to work within a single consolidated model.
Figure 8. Project Model Linkage
A Model Translation Example: System to CASE
Accurate translations from one engineering domain to another are difficult
to achieve. Moving models from systems to software engineering tools
illustrates this challenge. Because most FFBDs do not show data flows,
they cannot be translated into DFDs. The FFBD functions may indicate
states that need to be represented in state machines, but they do not
show what inputs trigger state transitions or what outputs are associated
with states or transitions. A FFBD bridge to CASE could save considerable
re-keying by passing function names in a data dictionary and even passing
condition names as potential control inputs, but much of the control
information in the FFBDs would be lost because it is not complete enough
to allow automated translation. FFBDs do not support a model-linked
integration with CASE tools.
The mapping from RDD-100 Behavior Diagrams (BDs) to CADRE Teamwork®
DFD/CFDs is much more promising, since each model provides data and
control flow information. DFDs provide an infinitely decomposable hierarchy
of Processes, with data flows into and out of the Processes. Unless
otherwise specified, Processes act on data when they receive it. When
it is necessary to explicitly turn Processes on and off, engineers add
Control Specifications (C-Specs) to the DFDs. C-Specs represent controls
as decision tables, state transition tables or state diagrams. States
need not correspond to Processes. The events that trigger state transitions
are special control flows, and the outputs can be special flows or the
activation/deactivation of Processes.
Behavior Diagrams represent system behavior as functions, items, and
the control structures the functions reside on. If an enabled function
requires input, the arrival of a Discrete Item that can represent data
or a physical object triggers the function. When triggered, a Discrete
Function takes a specified time duration to transform its input Discrete
Item into its output Discrete Items. When the function has been executed,
the next Discrete Function on the control structure is enabled and,
if necessary, waits for input before triggering. The sequence of Discrete
Functions on a parallel BD branch, such as either of the branches (labeled
P1 and P2) in the BD in Figure 4, forms an RDDProcess that can be represented
as a Mealy state machine [Arbib 69] in which the Discrete Functions
are the states, the input Discrete Items are the events that trigger
state transitions, and the output Discrete Items are the actions that
occur upon a state transition. There is no hierarchy of RDDProcesses;
when RDD-100 encounters a process, it suspends the RDDProcess that is
active and starts the new process as a separate RDDProcess at the same
level.
The translation from BDs to DFDs is sufficiently robust to support
a reasonable inter-tool model link. Because the RDD-100 and Teamwork
models have very different views of their state machines, there is no
obvious mapping of BDs to CFDs. Resolution of some theoretical control
flow issues would permit this higher fidelity translation. Furthermore,
the results of a proof of concept effort for translations of a system
model to CAE (VHDL) suggest that a similar level of Inter-Tool Model
Linkage to CAE is also currently feasible.
Interface Mechanisms
While linkage determines what is moved among tools, interface mechanisms
determine how it is moved. Mechanisms include transfer methods, frequencies,
and controls. They range in sophistication from simply taking a file
produced by one tool and reading it into another, to establishing an
integrated repository that provides access control and configuration
management for all tools and supplies information on demand (subject
to appropriate controls). The degree of data integrity depends on the
quality of the mechanisms. Figure 9 summarizes the levels of mechanism
sophistication and their strengths and weaknesses.
Flow Down represents the lowest level of mechanism sophistication and
is relatively easy to implement. Most of today's tools accept file input,
usually in a tool-specific format, such as CADRE CDIF, RDD-100 .rdt,
or Interleaf® ASCII Markup. Transfers can be made user-friendly
by employing UNIX shell scripts or other command files, since most tools
can be started by system command files or can execute their own command
files. However, since most tools fail to provide effective access control,
data integrity depends on scrupulous adherence to manual procedures.
Unless the downstream tool provides access control and the transferred
data is locked, engineers can change the transferred data so that it
no longer matches the data in the upstream tool. Such unilateral changes
can become embedded in a model, and can destroy traceability within
the design cycle. Because Flow Down does not address the iterative nature
of the engineering process, there is no automated way for downstream
engineers to send proposed changes back upstream. Also, there is no
mechanism for the upstream engineers to send only changes to the model
or requirements downstream. If modifications are made to the design
due to requested changes, these modifications must be installed manually
in the downstream tool.
| Interface Mechanism |
Strengths |
Weaknesses |
Technology Availability |
| Flow Down |
Easy to achieve
Uses existing document tool capabilities |
No way to ensure data integration |
System command languages
Tool-specific input formats |
| Inter-Tool Updates |
Supports interative engineering process
Some protection for data integrity |
Requires decisions on which tool owns what data
Requires access control and incremental updates |
Most tools do not provide access control or incremental
updates |
| Integration |
"Seamless" information transfer |
Requires either a backplane or substantial tool cooperation
|
Backplanes available to early adopters
Tool supported integration requires major tool changes |
Figure 9. Comparison of Levels of Interface Mechanisms
Inter-Tool Updates allow tools to update each other when information
changes. Update integration supports an iterative engineering process.
It also places significant requirements on the tools. As shown in the
example in the next section, decisions must be made on how shared data
is managed. While Flow Down integration requires only that tools accept
file input, Inter-Tool Updates require that every tool keep track of
which information can be changed in that tool, be able to export and
import requests for design changes from upstream and downstream tools,
and accept incremental updates from upstream tools. Due to the stand-alone
origins of many tools, there has been little development of methods
for specifying which data may be changed within a tool. Most contemporary
tools do not have any basis for distributing or accepting incremental
updates from other tools. In fact, the underlying inconsistencies between
tool architectures can make incremental updates difficult or impossible.
One example is the problem of defining unique identifiers. RDD-100
identifies functions by unique, user-defined names, while Teamwork names
its Processes automatically, based on their position in the DFD hierarchy.
A change that adds or removes a level from a function hierarchy in RDD-100
has no effect on the identification of a function, while the same type
of change in Teamwork will affect the name of every Process in the hierarchy
below the change. This means that defining the changes to export from
RDD-100 to Teamwork requires detailed tracking of changes to the entire
model built in RDD-100 and may result in the re-export of many unchanged
Processes, simply to guarantee that all levels of the hierarchy in Teamwork
are correctly renamed. When some parts of the model are the responsibility
of the systems tool, and other levels exist only in the CASE tool, incremental
transfers can require considerable human intervention, since the CASE-only
objects may require considerable renaming if there have been radical
changes to the model hierarchy. While RDD-100 allows renames to flow
down from a superior database, it does not provide a mechanism to propagate
name changes among peers.
An important reason for moving beyond Flow Down integration is Change
Management (CM). Properly designed CM protects the baselined design
by facilitating control of changes in the design and of the dissemination
of those changes. Recognizing when an issue must be returned to an upstream
engineering level requires change control in the downstream level's
tool. If the downstream engineering level requires a change in controlled
information that originated in an upstream level of the design, the
change must not be installed unilaterally in the downstream tool. Information
passed from an upstream tool represents approved, baselined engineering
that must not be changed without agreement from the ultimate decision
makers - the customer, the change control board, the upstream engineers,
etc. The downstream tool must allow only the creation and export of
a request for the proposed change in the design that can be passed to
the tool where the design originated.
Integration requires a unified mechanism to provide change control,
configuration management, and information transfer. While highly cooperative
tools could implement a unified distributed integration mechanism, less
tool modification is required to use a central mechanism. Work in progress
using a backplane to integrate system and software engineering tools
suggests that Integration requires fewer tool modifications than Inter-Tool
Updates. To work with the backplane, tools must cooperate with command
files and accept incremental updates. However, programming in the backplane
can provide change control and assure data integrity. In addition, engineers
can use the backplane's transfer capabilities to package inter-tool
file transfers in a user-friendly environment.
An Update Example: System and Document Tools
Documentation tools as well as modeling tools must accept updates.
As models change, engineers revise documents, and information must pass
in both directions between modeling and documentation tools. Aspects
of document content, such as the page on which a model element appears,
are often frozen at the first baseline and must be maintained in later
revisions. To manage changes to document content, each model element
must be associated with its position in each document. The documentation
tool controls pagination. Either it must maintain the association between
pages and model elements and place an updated element on the correct
page, or it must pass page locations back to the modeling tool and be
prepared to receive a page number with every model element. Current
technology, as illustrated by the bridge from RDD-100 to Interleaf,
does not support this level of integration. In the bridge, RDD-100 uses
the document structure to extract model elements, assemble them into
a document, apply some styling, and provide the styled document to Interleaf
in ASCII Markup files. Users perform additional formatting in Interleaf®
. Because RDD-100 passes an entire document to Interleaf, neither tool
is able to associate page numbers with model elements. With this existing
level of technology, complete document change management requires manual
supervision of the change.
Conclusion
Current technology enables a high level of data integration without
providing effective life cycle model linkage. While most projects are
currently using one-way Flow Down tool interfaces, the emerging backplane
technology promises tool integration without major changes to tools.
Most current projects are primarily document linked, using Inter-Tool
Model links when they are available. The benefits of model linkage are
becoming well understood and are driving the demand for Inter-Tool Model
links. It is likely that work is in progress on most straight-forward
tool-to-tool translations that are not currently available.
There is no emerging "semantic backplane" to ease the next step in
model linkage. Once the easy translations are available, it is likely
that the engineering community will take a considerable amount of time
to understand the deeper problems in model translation, and to pose
effective solutions that make the models underlying diverse engineering
tools more consistent. The integrated tool set of the near future will
provide seamless transfer of text and translatable model information,
but significant parts of the system model will be exposed to the interpretations
and errors of human translation.
References
- [Alford 92] Alford, Mack, "Strengthening the Systems/Software Engineering
Interface", Proceedings of the 2nd NCOSE Conference, July 1992.
- [Arbib 69] Arbib, Michael, "Theories of Abstract Autonoma", Prentice
Hall,1969.
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.