Formal requirements-based programming for complex systems

James L. Rash, Michael G. Hinchey, Christopher A. Rouff, Denis Gračanin

Research output: Contribution to journalConference articlepeer-review

Abstract

Computer science as a field has not yet produced a general method to mechanically transform complex computer system requirements into a provably equivalent implementation. Such a method would be one major step towards dealing with complexity in computing, yet it remains the elusive "holy grail" of system development. Currently available tools and methods that start with a formal model of a system and mechanically produce a provably equivalent implementation are valuable but not sufficient. The "gap" that such tools and methods leave unfilled is that the formal models cannot be proven to be equivalent to the system requirements as originated by the customer. For the classes of complex systems whose behavior can be described as a finite (but significant) set of scenarios, we offer a method for mechanically transforming requirements (expressed in restricted natural language, or appropriate graphical notations) into a provably equivalent formal model that can be used as the basis for code generation and other transformations. While other techniques are available, this method is unique in offering full mathematical tractability while using notations and techniques that are well known and well trusted. We illustrate the application of the method to an example procedure from the Hubble Robotic Servicing Mission currently under study and preliminary formulation at NASA Goddard Space Flight Center.

Original languageEnglish
Pages (from-to)116-125
Number of pages10
JournalProceedings of the IEEE International Conference on Engineering of Complex Computer Systems, ICECCS
DOIs
Publication statusPublished - 2005
Externally publishedYes
Event10th IEEE International Conference on Engineering of Complex Computer Systems, ICECCS 2005 - Shanghai, China
Duration: 16 Jun 200520 Jun 2005

Keywords

  • Formal methods
  • Validation
  • Verification

Fingerprint

Dive into the research topics of 'Formal requirements-based programming for complex systems'. Together they form a unique fingerprint.

Cite this