Creating user manuals for use in collaborative design
**** Hidden Message ***** Creating user manuals<BR>for use in collaborative design<BR>Harold Thimbleby<BR>Middlesex University<BR>Bounds Green Road<BR>London, UK<BR>Tel: +44 181 362 6061; Email: <A href="mailto:harold@mdx.ac.uk">harold@mdx.ac.uk</A><BR>ABSTRACT computer support to guarantee the correctness (and<BR>continuing editability) of their documentation. Serious<BR>accidents have occurred with very simple manuals done by<BR>hand . Our own work has found further flaws in the<BR>A320 Flight Crew Operating Manual (FCOM).<BR>User manuals are usually written by technical authors after<BR>the design of the device has been committed for<BR>production. If the manual’s review leads to insight into the<BR>design, it is too late. Meanwhile, if the design is modified,<BR>the manual may be inaccurate. This paper describes an<BR>example language for creating accurate and complete<BR>manuals from formal specifications. We show how it can<BR>be used to improve part of the Flight Crew Operating<BR>Manual for the Airbus A320 fly-by-wire airplane. The<BR>technique is easy to implement, can be generalised to other<BR>domains, and contributes to concurrent engineering<BR>practice—increasing common ground between engineers,<BR>users and HCI practitioners.<BR>PREVIOUS WORK<BR>The work described here builds on earlier efforts:<BR>HyperDoc is an interactive device simulator that<BR>generates interactive assistance, hypertext manuals, and<BR>also supports sophisticated design analysis in Mathematica;<BR>Manual Writer is a simple program taking Prolog<BR>system specifications and managing the technical authors’<BR>and engineers’ concurrent revision and editing.<BR>Keywords These approaches are restricted to finite state machine<BR>(FSM) descriptions. This is not as problematical as it may<BR>sound, since FSMs need never be represented explicitly by<BR>the designers—they can be constructed in Mathematica or<BR>Prolog. However, FSMs lack structure and the design of a<BR>good manual is a hard problem. We have had some success<BR>generating statechart-based manuals automatically, but it<BR>seems better to use a higher level approach than FSMs.<BR>User manuals, formal specification,<BR>concurrent engineering.<BR>INTRODUCTION<BR>User manuals are the scapegoat of bad system design.<BR>Systems with bad user interfaces are difficult to explain<BR>clearly, how ever skillful the manual’s technical authors.<BR>Many guidelines have been proposed to improve user<BR>manuals, notably Carroll’s work . It seems, however,<BR>that most attempts to improve manuals take the design of<BR>the system for granted. Maybe Carroll’s minimal manual<BR>idea could be used to drive design: if a better manual is<BR>shorter, then a better design might lend itself to being<BR>explained in a briefer manual . As pointed out in , to<BR>do this assumes concurrent engineering practice. Writing<BR>the manual after the design has been finalised is too late<BR>(even if writing proceeds in parallel with system<BR>implementation). Insights technical authors and others have<BR>reading the manual are too late.<BR>An alternative approach is to use sophisticated natural<BR>language generation, such as IDAS . There is scope for<BR>both approaches in technical authoring, but in contrast to<BR>us, these approaches typically rely on world knowledge<BR>databases, whereas we wish to emphasise accuracy and<BR>mathematical tractability, and simplicity.<BR>EXAMPLE: ORIGINAL A320 MANUAL<BR>We give a verbatim exerpt from the A320 FCOM Brakes<BR>and Antiskid, 1.32.30, Rev 15, Seq 001 (quoted in ):<BR>ALTERNATE BRAKING WITHOUT ANTI-SKID<BR>Computer science is increasingly moving towards formal The anti-skid system is deactivated:<BR>specification, where the design of a system is described<BR>mathematically, analysed, and only then transformed into<BR>software, firmware or hardware. Formal methods may be<BR>required in military and safety critical applications. Though<BR>this may improve the technical quality of the delivered<BR>product, it adds yet another step in the design process, and<BR>makes the inital design work even less accessible to users<BR>and non-technical experts, including user interface<BR>designers. What is required is a fast way to move from<BR>formal specification to user manual.<BR>• electrically (A/SKID and N/W STRG sw OFF or<BR>power supply failure or BSCU failure)<BR>• or hydraulically (Y+G sys to lo press, the<BR>brakes are supplied by the brake<BR>accumulators only).<BR>Note unexplained abbreviations such as Y+G, and that the<BR>phrase “A/SKID and N/W STRG sw OFF or power<BR>supply failure or BSCU failure” has at least three<BR>different interpretations.<BR>Ladkin took the A320 FCOM and derived a specification<BR>of the braking subsystem . Part of this specification<BR>looks like this: (A/S off and N/W STRG off) or power<BR>supply failure or BSCU failure or (green<BR>lowpress and yellow lowpress).<BR>We propose an approach that takes a specification of the<BR>device as a set of predicates (as in TLA ) and<BR>automatically writes a (hypertext) minimal manual. As<BR>systems become more complex it is essential to have<BR>Ladkin’s reverse engineering exposed many problems with<BR>the FCOM. Reverse engineering is not necessary where a<BR>specification is otherwise available.<BR>switching off. We are exploring the use of circuit design<BR>tools to analyse user manuals to relate usability<BR>requirements back to specifications.<BR>THE MANUAL SPECIFICATION LANGUAGE CONCLUSIONS<BR>The approach easily generates an improved extract for the<BR>A320 FCOM. Had such a system been available when the<BR>A320 was designed, user interface specialists and pilots<BR>would have been able to address some of the design issues<BR>that are now so obvious. Had the A320 specification design<BR>changed as a result of these insights, the manual could have<BR>been updated almost instantaneously. This sort of leverage<BR>must be a major contribution to the effectiveness and<BR>acceptability of iterative design in industry.<BR>The manual language allows arbitrary propositional<BR>statements using Boolean connectives and other operators,<BR>such as which is true iff e is a contingency. An<BR>example statement is: "Normal without A/S" = Normal<BR>& ¬Antiskid<BR>Explanations are generated in several ways. For example, ?<BR>generates a tabular explanation, as illustrated below.<BR>The explanation operators are not just print statements—<BR>they are more sophisticated. Explaining Normal without<BR>A/S means explaining Normal, which itself needs<BR>explaining, involving further terms such as “…and not<BR>BSCU failure…” The full explanation has to be minimised,<BR>and we use the Quine-McCluskey Algorithm to do so .<BR>Certain terms are rewritten, so we can explain ¬(failure1<BR>or failure2…) as “All systems OK.” Similarly, the<BR>engineers may wish to write in terms of Y or G (as in the<BR>FCOM extract above!) but the user may prefer to read<BR>clearer text. Designers require various checks, for instance<BR>that all states of the device are covered by the manual; such<BR>checks can now be made part of the manual.<BR>Given that the approach is so simple to implement, one<BR>wonders why similar methods are not yet available to<BR>system designers to improve their effectiveness in<BR>collaboration with user interface experts. Though the<BR>arguments for the approach seem overwhelming in safetycritical<BR>applications like the FCOM, the approach can also<BR>increase quality in everyday devices such as consumer<BR>electronics (cf, ).<BR>Acknowledgements<BR>Peter Ladkin contributed enormously to the approach<BR>taken.<BR>This paper does not have space to show how rewrite rules REFERENCES<BR>and tables are used to clarify factorisable expressions of the<BR>form A(B+C), etc. These simplifications also require<BR>computer support to be done correctly and well.<BR>1. J. André, “Can structured formatters prevent train<BR>crashes?” Electronic Publishing—Origination,<BR>Dissemination and Design, 2(3):169–173, 1989.<BR>EXAMPLE: AUTOMATICALLY GENERATED MANUAL 2. J. M. Carroll, The Nurnberg Funnel: Designing<BR>Minimalist Instruction for Practical Computer Skill, MIT<BR>Press, 1990.<BR>ALTERNATE BRAKING WITHOUT ANTI-SKID<BR>Alternate braking without anti-skid mode is<BR>achieved when: 3. P. B. Ladkin, “Analysis of a technical description of the<BR>Airbus A320 Braking System,” High Integrity Systems, in<BR>press.<BR>A/SKID switch set OFF and<BR>N/W STRG switch set OFF<BR>or BSCU failure<BR>4. L. Lamport, “The Temporal Logic of Actions,” ACM<BR>Transactions on Programming Languages and Systems,<BR>16(3):872–923, 1994.<BR>or power supply failure<BR>or both green and yellow hydraulic pressure<BR>insufficient and<BR>autobrake is inoperative 5. E. Reiter, C. Mellish & J Levine, “Automatic generation<BR>of technical documentation,” Applied Artificial<BR>Intelligence, in press.<BR>A table is used to unambiguously and clearly present the<BR>logical expression (other forms are possible). Some text in<BR>the original has been moved to reduce clutter, but is still<BR>accessible via hypertext linking, e.g., every mention of<BR>BSCU is linked to its explanation, “The double channel<BR>Brake Steering Contol … has modes operative or<BR>failure.”<BR>6. W. V. Quine, “A way to simplify truth functions,”<BR>American Mathematical Monthly, 62:627–631, 1955.<BR>7. H. W. Thimbleby, User Interface Design, Addison-<BR>Wesley, 1990.<BR>8. H. Thimbleby & M. Addison, “Intelligent adaptive<BR>assistance and its automatic generation,” Interacting with<BR>Computers, in press.<BR>As described here, there is no scope for fresh editorial<BR>contributions from technical authors. If a phrase generated<BR>by the process can be improved, once it is, the link from the<BR>specification is lost, and with that, all guarantees that it was<BR>correct. This problem has been solved elsewhere .<BR>9. H. Thimbleby & P. B. Ladkin, “A Proper Explanation<BR>When You Need One,” in M. A. R. Kirby, A. J. Dix & J. E.<BR>Finlay (eds), Proceedings BCS Conference HCI’95,<BR>X:107–118, 1995.<BR>The Quine-McCluskey Algorithm finds use in simplifying<BR>digital circuits. As well as being minimal (hence fast and<BR>cheap), logic is usually designed to eliminate race<BR>conditions and other problems. Race conditions occur in<BR>user manuals: e.g., “Insert the plug and take care to switch<BR>off first”—the user may insert the plug without first
页:
[1]