NASA NTRS · 20050180252
Formal Requirements-Based Programming for Complex Systems
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.
Keep this discovery
Explore connections, maps & timelines
Rash, James L., Hinchey, Michael G., Rouff, Christopher A., Gracanin, Denis. 2005-01-01. Formal Requirements-Based Programming for Complex Systems. https://ntrs.nasa.gov/citations/20050180252
Cite the original work for its findings. Save a collection to share your selection of sources.