• DocumentCode
    1519322
  • Title

    Formal analysis of a space-craft controller using SPIN

  • Author

    Havelund, Klaus ; Lowry, Mike ; Penix, John

  • Author_Institution
    Kestrel Technol., NASA Ames Res. Center, Moffett Field, CA, USA
  • Volume
    27
  • Issue
    8
  • fYear
    2001
  • fDate
    8/1/2001 12:00:00 AM
  • Firstpage
    749
  • Lastpage
    765
  • Abstract
    The paper documents an application of the finite state model checker SPIN to formally analyze a multithreaded plan execution module. The plan execution module is one component of NASA´s New Millennium Remote Agent, an artificial intelligence-based spacecraft control system architecture which launched in October of 1998 as part of the DEEP SPACE 1 mission. The bottom layer of the plan execution module architecture is a domain specific language, named ESL (Executive Support Language), implemented as an extension to multithreaded COMMON LISP. ESL supports the construction of reactive control mechanisms for autonomous robots and spacecraft. For the case study, we translated the ESL services for managing interacting parallel goal-and-event driven processes into the PROMELA input language of SPIN. A total of five previously undiscovered concurrency errors were identified within the implementation of ESL. According to the Remote Agent programming team, the effort has had a major impact, locating errors that would not have been located otherwise and, in one case, identifying a major design flaw. In fact, in a different part of the system, a concurrency bug identical to one discovered by this study escaped testing and caused a deadlock during an in-flight experiment, 96 million kilometers from Earth. The work additionally motivated the introduction of procedural abstraction in terms of inline procedures into SPIN
  • Keywords
    aerospace control; intelligent control; multi-threading; program verification; software agents; space vehicles; DEEP SPACE 1 mission; ESL services; Executive Support Language; New Millennium Remote Agent; PROMELA input language; Remote Agent programming team; SPIN; artificial intelligence-based spacecraft control system architecture; autonomous robots; concurrency bug; concurrency errors; design flaw; domain specific language; finite state model checker; formal analysis; in-flight experiment; inline procedures; interacting parallel goal-and-event driven processes; multithreaded COMMON LISP; multithreaded plan execution module; plan execution module architecture; procedural abstraction; reactive control mechanisms; spacecraft controller; Artificial intelligence; Concurrent computing; Control systems; Domain specific languages; Intelligent agent; Intelligent control; Intelligent systems; Orbital robotics; Space missions; Space vehicles;
  • fLanguage
    English
  • Journal_Title
    Software Engineering, IEEE Transactions on
  • Publisher
    ieee
  • ISSN
    0098-5589
  • Type

    jour

  • DOI
    10.1109/32.940728
  • Filename
    940728