Abstract

System engineers who are responsible for capturing the formal requirements of a system typically have relied on text-based tools and free-form diagrams, otherwise known as shall statements and PowerPoint In our work with the space interferometry mission (SIM) at NASA's Jet Propulsion Laboratory, we found the need to unambiguously represent behaviors and interfaces using common language and terminology across multiple project elements, for example, throughout different levels of system engineering and among system, software, and controls engineering. The system engineers adopted portions of the Unified Modeling Language (UML) [1] as a means to effectively communicate interfaces and desired system behaviors. UML sequence diagrams were used to capture scenarios and provide context for and understanding of the intent of the typical shall statements. UML Statechart diagrams were used to capture dynamic behavior. In practice, the system and software engineers would iterate together on these models. Iterating on models proved to be a highly effective method of fleshing-in loosely worded and ambiguous requirements. Requirements have typically been difficult for the software engineer to implement without understanding the intent behind the requirements. Through the process of modeling, we found that system and software engineers effectively communicated interfaces and behavior. Modeling provided other benefits as well, notably, the ability to auto-generate portions of the flight code from these models and to apply formal methods to prove various correctness properties regarding the model. In this paper, we will describe in further detail how system engineers used modeling as an effective communication tool to capture requirements, their context, and the ensuing design throughout multiple levels of the system and within a subsystem. This increased software engineers' understanding of and insight into the system, making the software design process more efficient. In addition, we will describe how software engineers leveraged the models to improve the quality and reduce the cost of the final software product.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call