Object-Oriented Design for Authoring and Executing Spacecraft Operating Procedures T. J. Grant, I. van Dreumel, E. Lammers, T. Ott de Vries, R. Potze Tim.Grant@nlnwgfsc.origin.nl Origin/BSO Nieuwegein b.v., Computer Resource International A/S Abstract: This paper summarises a decade of experience in designing and integrating software for the end-to-end support of the authoring and execution of spacecraft operating procedures. Applications cover crew and automated procedures for payloads and subsystems, and for in-orbit and ground operations. Manned and remote-sensing missions are emphasised, covering BSO's: - integration of DLR's OPIS into the Crew Support Computer now flying on MIR. - Advanced Crew Terminal (ACT) project for ESTEC and CRI's subcontract. - Crew Procedure Language Interpreter for the International Space Station (ISS) Russian segment's Data Management System (DMS-R). - Recipe Editor and Despatcher for the Earth Monitoring Work Station. Experience includes unmanned, ground-based, and non-space missions. Systems have been implemented using Oracle, Lisp, Smalltalk, C++, Ada, MS-Word, and HTML with Booch, OOSE, OMT, Coad and Yourdon, and HOOD methods. The purpose of the paper is to present a generic object-oriented design supporting the complete procedure life-cycle, including authoring/generation, storage, verification and validation, selection and retrieval,instantiation, resource allocation, execution, and post-use evaluation. User-interface and functionality issues are separated. Implementers are free to choose whether or not to: - implement branching, nesting, iteration, preconditions, and variables. - make links to FDIR, synoptics, timelining, multimedia documentation, annotations, simulators, and external databases. - mix crew and automated procedures. Suitable choices enable (eg) ISS-standard Automated Crew Procedure scripts to be implemented. The paper: - summarises project experience leading to the generic design. - lists trade-offs in implementing procedure systems. - presents key patterns found in the generic design. - outlines experience in adapting it for specific projects. - identifies possible future enhancements. The development of a generic design is significant in that it enables: - re-use across a wide range of systems and applications, with attendant cost and time savings. - development of COTS products.