How to Choose a UML Tool
for Predictable Response Design
Your goal is to analyze, synthesize, and demonstrate
the characteristics of your existing or proposed systems more easily and
quickly—a model is worthless, or a needless expense, if it hinders
communication or takes longer to construct than an actual system.
Of the many traits available to evaluate UML tools,
you want to focus on those that are of particular relevance, of notable
importance, of necessity when you are designing predictable response systems.
Here we list the relevant traits a suitable UML tool should have.
1. Demand Good Usability
Usability traits are of direct benefit to the modeling engineer and address your
goal of being able to model systems quickly. Demand that your UML tool support
UML Standard Conformance, an Intuitive User Interface, Context-specific Properties
and Help, Configurable Drill-down (Double-click) Behavior, a Common Data Dictionary,
Referential and Consistency Checks, Element-specific Color Customization, Configurable
Route and Place, Iconic Stereotypes, Customizable Toolbars, Application-specific
Palette, Batch Stereotyping, Element-specific Configurable Detail Presentation,
Diagram Scaling, and Automatic Diagram Generation (including: OCDs from OSDs, OSDs from
Activity Diagrams and vice versa, OSDs from Code Traces, Class Diagrams from Legacy
Code, Activity Diagrams from Code Import).
2. Require Lifecycle Integration
A suitable UML tool should integrate throughout the lifecycle of engineering a system with
your Requirements Management, Economic Bill of Materials, Change Management, Methodology
Build Management, Test Management, Code Management, and Failure Reporting, Analysis, and
Correction Action System (FRACAS) tools. Integration should be such that you no longer need
to create separate analysis-specific models of your system; ideally, you design your model in
one tool and employ that model as needed for each analysis.
3. Require Systems Engineering
Support
Predictable response systems are generally complex and their satisfactory
implementation requires systems engineering. The goals of Systems Engineering
are to understand and communicate what exists and what needs to exist, to
facilitate rapid decision making when confronted with potential alternative
solutions, and to demonstrate that any implemented system is everything-and
nothing but-the system described by its requirement specification. Your UML
tool should support Context Modeling, Subsystem Modeling, Component Modeling,
Deployment Modeling, Modes Modeling, Constraints Modeling, Econometric Analysis,
Messaging Abstractions, Pattern Support, and Actor Generalization.
|
4. Look for Collaborative Features
Because predictable response systems are complex, their successful, timely
analysis and synthesis typically calls for a diverse, distributed team
of collaborating engineers. Many studies have shown that communication
overhead is geometrically proportional to the number of stakeholders.
A suitable modeling tool should recognize the need for frequent, simultaneous
collaboration and facilitate—not hinder—such communication.
Look for a UML tool that supports Change Management Integration, Simultaneous,
Multi-user Access, Access Control, Work-flow Integration, and Task Management.
5. Demand Predictability Analysis
Support
Predictability Analysis is the set of various studies that Systems Engineers
perform to assure that their systems are safe, reliable, maintainable,
and satisfy their time constraints. Predictable systems do not harm their
human actors, are available for service when called upon, deliver required
performance, and degrade gracefully when compromised. Ideally, your UML
tool supports Concurrency Modeling, Synchronicity Iconic Stereotypes,
the Schedulability Profile, RMA Tool Integration, a Reliability Profile,
a Failure Mode Effects Analysis (FMEA) Profile, FMEA Tool Integration,
and RTOS Integration.
6. Require Solid Presentation
Capabilities
While modeling tools usually offer adequate user interfaces that enable
the modeling engineers to understand their models, these engineers must
present their models to vendors, partners, auditors, clients, documentation
writers, and various other stakeholders who lack access to the modeling
tool or who do are not familiar with the modeling language. A suitable
modeling tool for complex systems must provide a means of presenting models
in general, more traditional formats. Require that your UML tool support
Certification Document Templates (such as ISO 9001, CMMI, DO-178B, IEEE
12207, and the C4ISR Framework), Microsoft Word and HTML/XML document
generation, Web access, Visio integration, and the printing of large diagrams.
7. Look for Strong Implementation
Support
Modern software engineering tools can break the tradition of dust collecting
specifications if the modeling utilities contain sufficient information
and design engineers can use the modeling tool as a code generator for
their software (or the model can be sufficiently precise to be the code…)
Therefore look for UML tools that support Code Generation (C++, Java,
Ada95), Code Import (C++, Java, Ada95), Code Synchronization, Activity
Diagrams, UML 1.5 Action Language, Middleware Integration, RTOS Integration,
Model Simulation, Execution, and Trace, and Test Execution Integration.
8. Choose a Vendor who knows
Real-time
Consider the experience of the vendor of your candidate UML tool. Make sure
that they understand that the aerospace, industrial automation,
medical, and telecommunications industries have demands unique from those of
the information technology and business industries. Look for a vendor that is
focused on addressing the needs of Systems and Reliability Engineers.
|
|

637 Witter Gulch Road
Evergreen, CO 80439
(800) 630-7938
info@predictableresponse.com |
| Summary |
|
The goal of Systems Engineering
is to accelerate the analysis, synthesis, and presentation
of models of systems such that stakeholders can quickly
make accurate decisions. A UML tool suitable for the
design of predictable response systems must offer good
usability, integrate with analysis efforts over the
lifecycle of the system, support the engineering of
systems, facilitate collaboration, efficaciously present
model information, and support implementation of a system
from its model.
|
|
|
|
|
|