Loading…
A software development approach to implementing control systems specified through state analysis
The size and complexity of mission control software, both flight and ground, has increased rapidly over the last ten years. The fact that such software controls virtually all flight activities, and that failures attributed to software often have roots in systems engineering, has led to recognition o...
Saved in:
Main Authors: | , , , , , |
---|---|
Format: | Conference Proceeding |
Language: | English |
Subjects: | |
Online Access: | Request full text |
Tags: |
Add Tag
No Tags, Be the first to tag this record!
|
Summary: | The size and complexity of mission control software, both flight and ground, has increased rapidly over the last ten years. The fact that such software controls virtually all flight activities, and that failures attributed to software often have roots in systems engineering, has led to recognition of the need for a closer coupling between systems engineering and software engineering. Because of this, there has been an increasing amount of work devoted to developing new approaches to systems engineering for model-based control and operations system design. One such approach is state analysis. State analysis is a structured methodology for analysis of control problems that emphasizes state variables and behavior models. It strives to unify systems and software engineering disciplines into a common set of vocabulary, procedures, and tools, utilizing common framework software to achieve a very direct realization of analysis artifacts into code. This paper examines the practical application of state analysis by following the full development cycle of a prototype monitor and control system targeting NASA's proposed array-based deep space network (DSN), from initial state analysis through goal-based operations design, translation of systems engineering specifications into a software design, and finally implementation of the design through the adaptation of the software framework. The synergy between systems and software engineering is highlighted through concrete examples of reusable software design patterns that map directly to systems engineering artifacts, including mechanisms for goal-based fault tolerance. The paper also describes lessons learned from the application of the process and design patterns |
---|---|
DOI: | 10.1109/SMC-IT.2006.10 |