Control operations |
- Very low (Straight-line code
with a few non-nested
structured programming
operators: DOs, CASEs,
IFTHENELSEs. Simple module
composition via procedure
calls or simple scripts.)
- Low (Straightforward nesting
of structured programming
operators. Mostly simple
predicates.)
- Nominal (Mostly simple
nesting. Some intermodule
control. Decision tables.
Simple callbacks or message
passing, including
middleware-supported
distributed processing.)
- High (Highly nested
structured programming
operators with many compound
predicates. Queue and stack
control. Homogeneous,
distributed processing.
Single processor soft
real-time control.)
- Very High (Reentrant and
recursive coding.
Fixed-priority interrupt
handling. Task
synchronization, complex
callbacks, heterogeneous
distributed processing.
Single-processor hard
real-time control.)
- Extra High (Multiple
resource scheduling with
dynamically changing
priorities. Microcode-level
control. Distributed hard
real-time control.)
|
Computational Operations |
- Very low (Evaluation of
simple expressions: e.g.,
A=B+C*(D-E))
- Low (Evaluation of
moderate-level expressions:
e.g., D=SQRT(B**2-4.*A*C))
- Nominal (Use of standard
math and statistical
routines. Basic
matrix/vector operations.)
- High (Basic numerical
analysis: multivariate
interpolation, ordinary
differential equations.
Basic truncation, roundoff
concerns.)
- Very High (Difficult but
structured numerical
analysis: near-singular
matrix equations, partial
differential equations.
Simple parallelization.)
- Extra High (Difficult and
unstructured numerical
analysis: highly accurate
analysis of noisy,
stochastic data. Complex
parallelization.)
|
Device Dependent Operations
|
- Very low (Simple read, write
statements with simple
formats.)
- Low (No cognizance needed of
particular processor or I/O
device characteristics. I/O
done at GET/PUT level.)
- Nominal (I/O processing
includes device selection,
status checking and error
processing.)
- High (Operations at physical
I/O level (physical storage
address translations; seeks,
reads, etc.). Optimized I/O
overlap.)
- Very High (Routines for
interrupt diagnosis,
servicing, masking.
Communication line handling.
Performance-intensive
embedded systems.)
- Extra High (Device
timing-dependent coding,
micro-programmed operations.
Performance-critical
embedded systems.)
|
Data Management Operations
|
- Very low (Simple arrays in
main memory. Simple COTS-DB
queries, updates.)
- Low (Single file subsetting
with no data structure
changes, no edits, no
intermediate files.
Moderately complex COTS-DB
queries, updates.)
- Nominal (Multi-file input
and single file output.
Simple structural changes,
simple edits. Complex
COTS-DB queries, updates.)
- High (Simple triggers
activated by data stream
contents. Complex data
restructuring.)
- Very High (Distributed
database coordination.
Complex triggers. Search
optimization.)
- Extra High (Highly coupled,
dynamic relational and
object structures. Natural
language data management.)
|
UI Management Operations |
- Very low (Simple input
forms, report generators.)
- Low (Use of simple graphic
user interface (GUI)
builders.)
- Nominal (Simple use of
widget set.)
- High (Widget set development
and extension. Simple voice
I/O, multimedia.)
- Very High (Moderately
complex 2D/3D, dynamic
graphics, multimedia.)
- Extra High (Complex
multimedia, virtual
reality.)
|