dasc-fm

advertisement
MAKING FORMAL METHODS PRACTICAL
Marc Zimmerman, Mario Rodriguez, Benjamin Ingram,
Masafumi Katahira, Maxime de Villepin, Nancy Leveson, MIT, Cambridge, MA
Abstract
Despite its potential, formal methods have
had difficulty gaining acceptance in the industrial
sector. Some complaints are based on supposed
impracticality: Many consider formal methods to
be an approach to system specification and analysis
that requires a large learning time. Contributing to
this skepticism is the fact that some types of formal
methods have not yet been proven to handle
systems of realistic complexity. To learn more
about how to design formal specification languages
that can be used for complex systems and require
minimal training, we developed a formal
specification of an English language specification
of the vertical flight control system similar to that
found in the MD-11.1 This paper describes the
lessons learned from this experience. A companion
paper at this conference describes how the model
can be used in human--computer interaction
analysis and pilot task analysis [3].
1 Introduction
Formal specifications and mathematical
analysis theoretically present a way out of the
dilemma posed by our inability to test even a small
part of the enormous state space involved in most
digital systems. They have the potential for both
increasing safety and decreasing the cost of
certifying flight-critical systems. The past 30 years
have advanced the state of knowledge about formal
methods to the point where many important
problems can be solved. While formal methods are
being applied to hardware in industry, the results of
formal methods research for software has only
rarely reached beyond the research lab and been
1
The specification, although realistic, is not identical with the
real MD-11 software and should not be used to infer anything
about that aircraft's software.
used in industrial practice for day-to-day software
development.
Several reasons may be hypothesized for
the lack of wide-spread adoption. First, engineers
are not trained in discrete mathematics and the
notations are not as parsimonious as continuous
math. So while a control law can be represented as
a differential equation, the discrete mode logic for a
flight management system might require hundreds
of pages of formal logic to specify. The review of
such specifications by domain experts is a daunting
task. In addition, the tools provided for formal
analysis of such specifications are often difficult for
engineers to use: They may require in-depth
knowledge of discrete mathematics, and may
require domain experts to translate the problem as
they understand it in their domain of expertise into
another domain; for example, they may be required
to specify a set of axioms that describe the domain
and to restate the problem in terms of theorems and
lemmas that they must then prove, perhaps with
some assistance from an automated tool.
In addition, the scope and scalability of
formal methods remain additional concerns both in
industrial and academic communiities. There has as
yet been only limited success with applying formal
methods to complex systems.
We have been experimenting with the
design of formal specification languages and
analysis tools with usability as a major design
criterion. This paper describes our experiences and
experimental results in building and using a formal
model of the blackbox requirements for a vertical
flight control system. The remainder of the paper is
organized as follows: Section 2 describes the
modeling language we selected for this case study,
SpecTRM-RL, and the resulting model. Finally,
Section 3 describes the lessons learned from the
case study and how they might be used to point to
further research directions, and compare the
language used with others that have been proposed.
1
complex models but also for human processing of
the analysis results.
2 The SpecTMR-RL Specification
Language
To learn more about how to design formal
specification
languages,
we
have
been
experimenting with various language features and
using the prototype languages to learn more about
what features should be included in such languages.
Our latest experimental prototype is called
SpecTRM-RL
(Specification
Tools
and
Requirements Methodology—Requirements Language).
SpecTRM-RL is part of a larger
specification
methodology,
called
Intent
Specifications, that includes both formal and
informal specifications [1].
The blackbox
behavioral requirements specifications (level 3 of
an intent specification) are described using
SpecTRM-RL, which has an underlying statemachine model. The language itself abstracts away
from this formal model and emphasizes readability
and reviewability, which distinguishes it from most
other formal specification languages.
Reviewability is arguably one of the most
important properties of any specification. The
specification must not only be reviewable by one
group trained in the language, but must be readable
by a large variety of people with diverse
backgrounds and expertise including system
designers and developers, customers, users,
certifiers, etc. Readability by a general audience
allows all involved parties to discuss and analyze a
specification using a single common model.
Furthermore, our experience in analyzing formal
specifications for complex systems suggests that the
most significant errors and omissions will be found
by human experts rather than automated tools. This
fact does not mean that automated tools are not
useful and important in finding some types of
errors, especially those that require rather tedious
checks, but humans are required to determine
whether a specification conforms with engineering
expectations and requirements. In addition, even
those design or specifications flaws found by tools
will need to be evaluated by human experts.
Therefore, readability of system specifications is a
requirement not only for human understanding of
Readability is also desirable as it has
associated with it a short familiarization time.
Certainly any specification language is going to
require some training in order to understand and
use. However, particularly with respect to review,
this time cannot be too long or it becomes
impractical to have the large amount of reviewing
that leads to high-quality specifications and
software.
Leveson's research group started to look at
reviewability and design of formal specification
languages while creating such a specification for
TCAS II for the FAA. Since that time, we have
been creating specifications of real systems and
experimenting with specification language features
with respect to usability. SpecTRM-RL is the latest
manifestation of the lessons we have learned to
date.
We
believe
that
readability
and
reviewability are enhanced by minimizing semantic
distance between the reviewer's mental model of the
system being designed and the specification model.
Semantic distance can loosely be defined as the
amount of effort required to translate from one
model to another. We believe that the application
expert's ability to find errors in a requirements
specification can be enhanced by reducing the
semantic distance between their understanding of
the required process control behavior and the
specification of that behavior. This, in turn, implies
that specifications use familiar engineering
notations and that they be written in terms of the
externally observable behavior of the component
being specified. Any information related only to
the implementation of that behavior should not be
included. That is, the specification should be
blackbox.
Thus SpecTRM-RL specifications
include only the input/output function being
computed by the component (the transfer function)
and do not include any information about the
internal design of the component or how that
externally visible behavior is actually realized. In
fact, the blackbox behavior might be achieved
through the use of hardware or software. In
addition, we hypothesize that state-machine models,
i.e., a description of a system's behavior in terms of
states and transitions between states, is a natural
2
Environment
Sensor
Measured Variables
Component
SUPERVISORY
MODE
Control Input
Supervisor
INFERRED SYSTEM OPERATING MODES
Control
Command
CONTROL
MODES
INFERRED SYSTEM STATE
Controlled
Device
Display Output
Measured Variables
(Feedback)
Figure 1. The Form of a SpecTRM-RL Specification
way for engineers to think about control systems.
SpecTRM-RL therefore is based on an underlying
state machine model.
Readability is also enhanced, we believe,
by limiting the semantic domain of the language.
SpecTRM-RL was designed primarily for processcontrol systems.
The high-levels of the
specification look very similar to process-control
diagrams. Figure 1 shows the basic format of the
specification. There are four main parts: (1) a
specification of the supervisory modes of the
controller being modeled, (2) a specification of its
control modes (3) a model of the controlled process
(or plant in control theory terminology) that
includes the inferred operating modes and system
state (these are inferred from the measured inputs),
and (4) a specification of the inputs and outputs to
the controller. The graphical notation mimics the
typical engineering drawing of a control loop.
Every automated controller has at least two
interfaces: one with the supervisor(s) that issues
instructions to the automated controller (the
supervisory interface) and one with each controlled
system component (controlled system interface).
The supervisory interface is shown to the left of the
main controller model while the interface with the
controlled component is to shown the right. There
may be additional interfaces (shown at the top) with
various environmental sensors.
The supervisory interface consists of a
model of the operator controls and a model of the
displays or other means of communication by
which the component relays information to the
supervisor. Note that the interface models are
simply the logical view that the controller has of the
interfaces---the real state of the interface may be
inconsistent with the assumed state due to various
types of design flaws or failures. By separating the
assumed interface from the real interface, we are
able to model and analyze the effects of various
types of errors and failures (e.g., communication
errors or display hardware failures). In addition,
separating the physical design of the interface from
the logical design (required content) will facilitate
changes and allow parallel development of the
software and the interface design.
During
development, mockups of the physical GUI or
interface design can be generated and tested using
the output of the SpecTRM-RL simulator.
Supervisory modes are used in specifying
information about the current supervisor of the
controller and are useful when a component may
have multiple supervisors at any time.
For
example, a flight control computer in an aircraft
3
may get inputs from the flight management
computer and also directly from the pilot. Required
behavior may differ depending on which
supervisory mode is currently in effect. Modeawareness errors related to confusion in
coordination between multiple supervisors can be
defined (and the potential for such errors
theoretically identified from the models) in terms of
these supervisory modes. In systems with complex
displays (such as Air Traffic Control systems), it
may also be useful to define various display modes.
component's required process-control behavior.
The right half of the controller model
represents inferred information about the operating
modes and states of the controlled system (the
plant in control theory terminology). A simple
plant model may include only a few relevant state
variables. If the controlled process or component is
complex, the model of the controlled process may
be represented in terms of its operational modes and
the states of its subcomponents. Operational modes
are useful in specifying sets of related behaviors of
the controlled-system (plant) model. For example,
it may be helpful to define the operational state of
an aircraft in terms of it being in takeoff, climb,
cruise, descent, or landing mode.
The bottom left quadrant of Figure 1
provides information about the control modes for
the controller itself. These are not internal states of
the controller (which are not included in our
specifications) but simply represent externally
visible behavior about the controller's modes of
operation. Control Modes are used in describing
the required behavior of the controller. Modern
avionics systems may have dozens of modes.
Control modes may be used in the interpretation of
the component's interfaces or to describe the
In a hierarchical control system, the
controlled process may itself be a controller of
another process.
For example, the flight
management system may be controlled by a pilot
and may issue commands to a flight control
computer, which issues commands to an engine
controller.
If, during the design process,
Environment
Sensor
Vertical Flight Control
Specification
SUPERVISORY
MODE
CONTROL
MODES
Display
Output
Flight Phase
Unknown
Control
Input
Supervisor
Measured Variables
INFERRED SYSTEM OPERATING MODES
Operation Mode
Vert. Guid. Control Mode
FMS Control Mode
FCC (Operating) Mode
FCC Engaged Mode
Speed Scenario
Vertical Guidance Type
FCC FMS Speed Mode
Climb FMS Speed Mode
Cruise FMS Speed Mode
Decent FMS Speed Mode
Climb FS Mode
Cruise Flight Speed Mode
Operating Procedure
Preflight
Takeoff
Climb
Cruise
Descent
Approach
Control
Command
Done
INFERRED SYSTEM STATE
Active Lateral Leg
Active State
Active Thrust Limit
Aircraft Above 2 Engine Max
Aircraft Attained V3
Aircraft Maneuver
Aircraft Speed Status
Below Path Approach Level
Capture Hold Status
Climb FMS Speed
Cruise Flight (Status)
Cruise Flight Level
Cruise FMS Speed
Decel Situation Available
Decel Situation Engaged
Descent/Approach Path Valid
Descent FMS Speed
Descent Speed Violation
Descent State
Engine Out
Engine Out Level Deceleration
FMS cm Req
Go Around Initiated
Last Takeoff Thrust Limit
Next Cruise Flight Level
Next Lateral Leg
Operational Commands
Penetration Maneuver
Profile Descent
Thrust Limit
Thrust Limit Recycle
VG Altitude Target
VG Path Target
VG Vertical Speed Target
Controlled
Device
Measured
Variables
(Feedback)
Figure 2. SpecTRM-RL Model for the Vertical Flight Control System.
4
components that already exist are used, then those
plug-in component models can be inserted into the
SpecTRM-RL process model. Additionally, parts
of a SpecTRM-RL model can be reused or changed
to represent different members of a product family.
The vertical flight control system for a
high-tech aircraft like the MD-11 operates as part of
the flight management system (FMS) and provides
targets and controls necessary to maintain a
predetermined vertical profile and provide
guidance, control, and annunciation functions.
Using the aircraft position relative to its vertical
profile and any operational commands from the
pilot, the guidance function determines appropriate
altitude, speed, thrust, and pitch targets as well as
the integrated pitch/thrust control mode necessary
to maintain the desired trajectory. The control
function calculates (in real-time) the pitch
commands necessary for the aircraft to track the
targets computed by the guidance functions.
Finally, annunciation provides information to the
FCC (flight control computer) to be displayed in the
cockpit, based on the guidance and control
functions. This information includes the flight
mode, speed target, and altitude targets of the
aircraft.
Figure 2 shows the SpecTRM-RL model of
this system. Because the system is too large to
show on one page (or one screen), the specification
is hierarchically decomposed. Figure 2 also shows
the possible values that the Flight Phase state
variable can assume. In reality, every state variable
(including operating modes) listed on the system
model is associated with a similar set of values.
However, we were only able to list the names of the
other state variables due to space limitations.
Each piece of this model needs to be
specified in detail. As an example, Figure 3 shows
the specification for the Target Altitude output.
This variable determines the target altitude for the
current leg of the aircraft’s path. The conditions
under which outputs are assigned values are
described using a tabular representation called
AND/OR tables. Each AND/OR table is divided
into two parts, Control Modes and State Values.
The Control Modes section describes the value of
the control modes necessary for the transition, while
the State Values section describes the values of and
conditions on inputs and state variables. This
distinction allows the reader to better understand
each mode of the system’s behavior, and we found
it helpful in detecting specification error and
particularly omissions.
AND/OR tables are concise representations
of propositional logic (in disjunctive normal form)
that we have found to be easily read and interpreted.
The far left column of the table lists logical
(boolean) phrases. Each of the other columns is a
conjunction of those phrases and contains the
logical values of the expressions (a ‘*’ denotes
“don’t care”). A column evaluates to true if all of
its elements are true. If one of the columns is true,
then the table evaluates to true. For example, the
Target Altitude output in figure 3 would transition
to Vertical Guidance Climb Target Altitude if the
Operating Procedure is Airmass Ascent and the
current flight phase is Takeoff or Climb, OR if the
Operating Procedure is Climb InterLev and the
current flight phase is either Takeoff or Climb.
SpecTRM-RL allows the use of macros.
Macros are simply named pieces of AND/OR tables
that can be referenced from within another table.
For example, figure 4 shows a simple macro that
was created for this model. It looks and behaves
the same as any logic table in the model, but needs
only be referenced by its name. The Valid Aircraft
Speed macro will evaluate to true if the
corresponding AND/OR table evaluates to true.
While the use of macros is not necessary, we have
found it simplifies the specification and thus makes
it easier to understand while also enhancing
changeability and specification reuse. Macros, for
the most part, correspond to typical abstractions
used by application experts in describing the
requirements and therefore add to the
understandability of the specification. In addition,
we have found this feature convenient for
expressing hierarchical abstraction and enhancing
hierarchical review and understanding of the
specification.
3 Lessons Learned
Except for Leveson (who acted only as
reviewer), the other authors (who actually created
the model) had no previous experience with
building formal specifications and limited
5
Output Variable
Target Altitude
Type: INTEGER
Destination: TBD
Initiation Delay: 0 milliseconds
Completion Deadline: TBD
Exception Handling: None specified
References: N/A
Feedback Information:
Variables: UNDEFINED
Values: UNDEFINED
Min time between outputs: 10 MHz
Max time between outputs: UNDEFINED
Exception Handling: None Specified
:= Vertical Guidance Climb Target Altitude IF
TRIGGERING CONDITION
Control Modes
State Values
Vertical Guidance Operating Procedure IN_STATE Airmass Ascent
T
T
*
*
Vertical Guidance Operating Procedure IN_STATE Climb InterLev
*
*
T
T
Flight Phase IN_STATE Takeoff
T
*
T
*
Flight Phase IN_STATE Climb
*
T
*
T
Vertical Guidance Operating Procedure IN_STATE Airmass Ascent
*
T
*
Vertical Guidance Operating Procedure IN_STATE Climb InterLev
*
*
T
Flight Phase IN_STATE Cruise
*
T
T
Active Cruise FL Valid ()
T
*
*
:= Active Cruise Flight Level IF
TRIGGERING CONDITION
Control Modes
State Values
:= Vertical Guidance Descent Altitude IF
TRIGGERING CONDITION
Control Modes
Vertical Guidance Operating Procedure IN_STATE Cruise
*
T
State Values
Step Climb IN_STATE False
*
T
Clearance Altitude < Active Cruise FL – 250
*
T
Vertical Guidance Descet Target Alt != -1000
T
T
Active Operational Procedure Valid()
T
*
Notes:
The Vertical Guidance Descent Target Altitude is assigned a default of –1000 ft when no other
Descent Alt Constraints are entered in the flight plan.
Figure 3. SpecTRM-RL Specification for the Target Altitude Output.
6
design of SpecTRM-RL. However, despite the
improvements
of
SpecTRM-RL,
cognitive
manageability remained a concern throughout the
specification task.
Macro
Aircraft Speed Valid
P a ra m eters: N O N E
C o n d it io n :
F li g h t P h a s e IN _ S T A T E T a k e o f f
T
*
*
*
*
F li g h t P h a s e IN _ S T A T E C li m b
*
T
*
*
*
F li g h t P h a s e IN _ S T A T E C r u i s e
*
*
T
*
*
F li g h t P h a s e IN _ S T A T E D e s c e n t
*
*
*
T
*
A D C C A S < V m ax + 1 0
T
T
T
T
*
A D C C A S > V m in – 2 0
T
T
T
T
*
F li g h t P h a s e IN _ S T A T E A p p r o a c h
*
*
*
*
T
A D C C A S < V m ax + 1 0
*
*
*
*
T
A D C C A S > V m in – 1 0
*
*
*
*
T
Figure 4. Sample Macro Definition.
knowledge of formal specification languages.
Most, in fact, had never written a requirements
specification before. Training involved simply
reading a paper about SpecTRM-RL and examining
a simple example specification. In fact, the
specifiers (who were all aerospace engineering
undergraduate and graduate students) worked under
a handicap as no user documentation or manuals
were available so they had to rely on the example
specification (which was trivial compared to the
specification they were tasked to build).
We estimate the model took approximately
8 person months to create.
This result is
encouraging considering the lack of experience or
knowledge about either SpecTRM-RL or the MD11 flight management system and the lack of
sophisticated tools to assist in the development. We
believe this time could be significantly reduced
given appropriate tools.
We found that using SpecTRM-RL to build
the model was an easier task than our previous
specification of TCAS-II using RSML. This result
is not surprising as lessons learned while building
the TCAS specification were incorporated into the
To assist with this manageability, each of
the specifiers independently discovered the
usefulness of starting the specification process by
creating macros. We have concluded that for very
complex models (such as a flight management
system), macros are almost a requirement if humans
are to be able to handle the complexity involved in
constructing the specification. Basically, there
needs to be some way of organizing the information
into chunks in order to build a formal specification
of such a complex system. Most example formal
specifications we have seen abstract much of this
complexity away, but a complete specification
requires that this information be present. We found
that other types of standard information organizing
tools are also necessary, such as a data dictionary.
Cognitive manageability was also a concern
when modifying the specification. It was often very
difficult to consider and evaluate the ramifications
of a potential change. Verifying the correctness of
our model was also a painstaking experience. The
model was easy to read and (when looked at in
reasonable chunks) understand, but maintaining an
accurate mental model of the entire system proved
to be a challenging, if not impossible, task. Of
course this problem is not confined to formal
specifications---it is an even worse problem with
large English language specifications. In fact, we
believe the SpecTRM-RL specification is much
easier to review and use than the English
specification we used to get the information to
create it. But tools are needed to assist humans in
dealing with the complexity of any complete
specification. This specification effort has provided
us with ideas for such tools, which we plan to
develop and use in further experimentation.
We did have some simple tools, and we
found them very useful. For example, our highlevel, graphical view of the specification helped
keep the overall structure in mind, and the fact that
SpecTRM-RL is executable was useful in errorchecking the evolving specification. A consistency
and completeness tool identified input conditions
that were either not accounted for in our
specification or led to an ambiguous system
7
response
(i.e.,
nondeterministic
behavior).
Statecharts-like languages, such as UML and
RSML, use internal-broadcast events to synchronize
and order behavior. We found in our TCAS-II
project that nearly all errors found in our final
specification were related to internal events and that
reviewing event-synchronized specifications was
extremely difficult and error-prone. SpecTRM-RL
does not use events to denote ordering---instead the
ordering of transitions is specified directly---and we
found that this greatly simplified the task of
creating the FMS specification compared to our
TCAS-II specification.
We also found that the hierarchical and
modular structure of SpecTRM-RL was conducive
to dividing the specification into smaller
components and specifying these separately. Any
usable formal specification language will need this
feature.
Based on this experience, a major area of
our future work will be on the visualization of
formal specifications.
The graphical model
conveys a minimal amount of information, but more
sophisticated visualizations would have been
helpful. We plan to experiment with different
visualization tools that will present meaningful
information in manageable pieces to help the
human user develop a mental model in as much
detail as desired. Based on our experiences with
specifying the Vertical Flight Control system, we
believe that the use of visualization to assist with
cognitive manageability is the key to making formal
methods practical for large-scale specifications, and
thus more attractive to industry. This direction of
research is not tied to formal methods alone, but has
applications to informal specification development
as well. The task of simply understanding a large
system is daunting and can be aided by
visualization tools, regardless of whether formal
analysis of a specification is desired.
4 Conclusions
SpecTRM-RL is our latest experimental
specification language to assist us in learning more
about making formal specification practical. In the
work described here, we created a formal
specification of a very complex but real system to
learn more about how to create such languages.
Some of the features that we had previously
introduced proved useful. For example, while some
formal specification languages only include
symbolic or tabular notations, the ability in
SpecTRM-RL to create and hierarchically
decompose a graphical model of the system proved
to be critical. We cannot imagine how cognitive
manageability
could
be
achieved
using
specification languages that do not provide this
feature.
In addition, the substitution of tabular and
other formats for propositional logic and other
mathematical notations was critical not only in
reading the specification but in creating it. We have
found that some specification language features are
also very helpful in detecting important omissions
and other specification errors: These are described
in more detail elsewhere [2]. Not using internally
broadcast events also seemed to simplify the effort
involved in creating and understanding a complex
specification.
We are taking what we learned from this
effort and developing more experimental tools to
evaluate new ideas. A major area of future effort
will be on visualization and tools to assist in
organizing the information used in developing a
specification. We are also working on various
types of analysis tools.
References
[1] Leveson, N.G. Intent specifications: An
approach
to
building
human-centered
specifications.
IEEE Trans. on Software
Engineering, January 2000.
[2] Leveson, N.G. Completeness in Formal
Specification Language Design for Process-Control
Systems. Proceedings ACM Formal Methods in
Software Practice, Portland, Oregon August 2000.
[3] Rodriguez, M., ....Digital Aviation Systems
Conference, Phildelphia, Oct. 2000.
8
Before you do anything else, please print a copy of
this file! It contains the instructions for producing
your paper for the 19th DASC. This file is also a
template for creating your paper; you can delete or
type over these instructions to help you get started.
Finally, the printed version of these instructions will
serve as a visual reference of how your finished
paper should look.
The very next thing you will want to do is save
this file on your hard drive, but with a different
name. Use the “File – Save As” command and give
it a different name. Now you’re ready to read the
rest of the instructions, and start your paper.
If you have questions about anything in these
instructions, please contact:
Catherine Howland
703-883-5889
chowland@mitre.org
Using Styles (Heading 1)
The elements that you will need for your paper
have been formatted for you through the use of the
“styles” capability of the software. Styles are
selected from the box on the far left of the tool bar.
Note: if you position your cursor anywhere in this
paragraph, the “styles” box will say “Body Text;”
we’ve also noted different styles in parentheses
following some of the elements on this page of
these instructions (Title, Author, Heading 1,
Heading 2, etc).
To use styles, you can either select the style
you wish to apply and start typing, or select the text
you wish to apply a style to; then, using the mouse,
point to the style box on the toolbar. Click once on
the downward pointing arrow to the right, and
select the appropriate style.
19th DASC Styles (Heading 2)
Please use the following styles in your paper:



Title (Title of Paper)
Author (Author name and Information)
Heading 1 (First-level Section Headings)






Heading 2 (Subsection Headings)
Heading 3 (Sub-Subsection Headings)
Body Text (Normal Paragraph Text)
List Bullet (Bulleted List Items)
Caption (For Figure and Table Captions)
Footnote Reference (Superscript, use
numbers)1
Footnote Text (Place footnotes at bottom
of page where referenced)1
Normal (Same as Body Text)
References (for list of references at the
end of the paper)
Note 1. Do not use Heading 4 or Heading
5 styles in your paper.
Note 2. Capitalize the first letter of each
word in all Headings





Why Bother? (Heading 2)
Styles are easy to use, they do all of the
formatting work for you, and they help the
Publications staff maintain a consistent look across
all of the papers in the Proceedings. Consistent use
of styles also allows accurate, automated processing
of your paper for the CD-ROM version of the
Proceedings.
Other Things You Need To Know
About Formatting Your Paper
This section outlines other formatting actions
required for 19th DASC publications.
Length
Papers may not exceed eight (8) pages.
Font
The font selected for this publication is Times
New Roman. Body text is 11 point.
Tables
Always use a table editor or tabs to create
tables. Please do NOT use spaces to align columns
of your tables, and do NOT use the “columns”
feature to create tables. Use the “Caption” style to
Footnote 1
Footnote 2
9

identify each table with a bold numeric reference,
centered at the top of your table as shown below:




Table 1. Sample Table and Table Caption
Sample Description
X
Y
Z
Edition, document, or volume number, if
applicable
Place of publication
Publisher
Pages or chapters
Internet links, if applicable
.
Sample Test 1
1
2
3
Sample Test 2
6
2
2
Total
7
4
5
Graphics (Heading 2)
Please embed graphics in your documents as
objects. Provide separate copies of the graphic files
(preferably .bmp, .tif, .wmf, .eps, or .pict files).
Use the “Caption” style to include a centered
caption for the graphic, and place it at the bottom of
the graphic (i.e., Figure 1) as indicated below.
[INSERT FIGURE 1 HERE]
Figure 1. Example of a Figure Caption
Be sure to include/embed Figures and Captions
in the body of your paper.
Graphic Tips:
Avoid dark backgrounds, as they will not
reproduce well.
 Avoid color graphics, as they will not
reproduce well.

References
Number references consecutively throughout
your document. If you cite a reference more than
once, use the same reference number each time.
Enclose the number in brackets, inside the closing
punctuation. For example: The results of the testing
promoted closure of the investigation [1].
List all references at the end of your document
with the information in the following order, using
the References style (see below):



Author or editor, last name first (Do not
put last name first for subsequent authors
in a multi-author publication.)
Publication Date
Title
[1] Jones, Mary, John Smith, 1999, Good Writing,
Washington, DC, Printing Company, pp. 22-44.
Submitting Your Draft Paper for
Review and Approval
As soon as you have completed your first draft,
submit it as an email attachment to your Session
and Track Chairs for review (unless paper copy is
specified). This must be done no later than 15 June
to ensure adequate time for review.
Submitting Your Approved Paper for
Publication
The process for submitting your approved
paper for publication is a little more complex, and it
is important that you follow the directions as
closely as possible.
Email a Copy to your Track & Session Chairs
As soon as you have completed your final draft
and reviewed it with your Session and Track
Chairs, submit it as an attachment to email to them
for final review. This must be done no later than
1 July to ensure adequate time for final approval.
Send Hard and Soft Copy to Publications
At the same time (by 1 July), please print out a
clean copy on a laser printer with at least 600-dpi
resolution. Then save the final file to a blank
diskette. Name the file using the first six (6) letters
of your last name plus your first and middle initial
(i.e., Michael L. Johnson would save his file as
johnsoml.doc, where .doc is the default three letter
extension applied by Microsoft Word). Include all
file copies of any graphics that you used in your
paper on your diskette
On a new diskette label, please indicate your
use of MAC or PC, the version of Microsoft Word
10
used (95 or 97), your full name, address and phone
number, “19th DASC,” and the file name of your
paper.
Package your floppy with the following items:


Final printed paper (Clean hard copy
laser print – at least 600 dpi)
Clean laser print hard copy of any
graphics not included on the floppy
Place the both hard copy and the diskette in
appropriate protective envelopes and send to the
following address:



Intermediate
Use this file as a template.
Catherine Howland

The MITRE Corporation, MS W053

1820 Dolley Madison Blvd.
McLean, VA 22102
Please note: Use of an overnight delivery
service is recommended; their tracking services can
significantly expedite dealing with “lost” papers.
Delete the third line that contains
information about multiple authors from
the same company.
Replace the first “Section” Title with
yours.
Continue replacing parts until you’re
comfortable with how things work, then
start adding your own elements by using
the “Styles” box on the left side of the
Formatting Toolbar.

Save this file under a new name (e.g.,
DASCPaper)
Delete all of the text (Edit/Select All,
Edit/Clear).
Save the (empty) file again, and start
writing. All of the necessary styles will
be available to you via the Styles box on
the Formatting Tool Bar.
Expert
Get Started!
You’ve made it through all the instructions,
and you’re ready to write your paper. So, what’s
next?
There are several ways to get started,
depending on your familiarity with Microsoft
Word.
If you know about Templates, and how to use
them, you can extract the template from this file,
and use it to build your paper. Hint: remove all of
the text from this file (Edit/Select All, Edit/Clear),
then save as a template (File/Save As, select
Document Type – “Document Template (*.dot),”
name your template, and SAVE.
Novice
Use these instructions as a baseline for your
paper, by “writing over” the current text.




First, save this file under a new name,
like DASCPaper (File, Save As, “new
name”).
Delete the first line of the existing title.
Use your mouse to highlight the second
line of the title, then type the title of your
paper in its place.
Do the same for the “author” lines (note,
hitting “return” at the end of an author
line will automatically open up another
author line).
11
Download