The Use of UML for Software Requirements Expression and Management
Total Page:16
File Type:pdf, Size:1020Kb
The Use of UML for Software Requirements Expression and Management Alex Murray Ken Clark Jet Propulsion Laboratory Jet Propulsion Laboratory California Institute of Technology California Institute of Technology Pasadena, CA 91109 Pasadena, CA 91109 818-354-0111 818-393-6258 [email protected] [email protected] Abstract— It is common practice to write English-language 1. INTRODUCTION ”shall” statements to embody detailed software requirements in aerospace software applications. This paper explores the This work is being performed as part of the engineering of use of the UML language as a replacement for the English the flight software for the Laser Ranging Interferometer (LRI) language for this purpose. Among the advantages offered by the of the Gravity Recovery and Climate Experiment (GRACE) Unified Modeling Language (UML) is a high degree of clarity Follow-On (F-O) mission. However, rather than use the real and precision in the expression of domain concepts as well as project’s model to illustrate our approach in this paper, we architecture and design. Can this quality of UML be exploited have developed a separate, ”toy” model for use here, because for the definition of software requirements? this makes it easier to avoid getting bogged down in project details, and instead to focus on the technical approach to While expressing logical behavior, interface characteristics, requirements expression and management that is the subject timeliness constraints, and other constraints on software using UML is commonly done and relatively straight-forward, achiev- of this paper. ing the additional aspects of the expression and management of software requirements that stakeholders expect, especially There is one exception to this choice: we will describe our traceability, is far less so. These other characteristics, concerned actual UML profile for requirements management in this with auditing and quality control, include the ability to trace paper, and show diagrams from it to present the stereotypes it a requirement to a parent requirement (which may well be an contains. We apply the same profile in the GRACE F-O LRI English ”shall” statement), to trace a requirement to verification FSW models as well as in our illustrative example model. activities or scenarios which verify that requirement, and to trace a requirement to elements of the software design which In spite of not using the real GRACE F-O/LRI flight software implement that requirement. models, we will present a brief overview of the GRACE F-O UML Use Cases, designed for capturing requirements, have not mission and the LRI instrument, in order to give the reader a always been satisfactory. Some applications of them simply good sense of the scope and depth of the application of our use the Use Case model element as a repository for English ideas. This will be followed by a very brief discussion of requirement statements. Other applications of Use Cases, in the concept of profiling in UML and then a description of which Use Cases are incorporated into behavioral diagrams our profile. Following this, we’ll step through our example that successfully communicate the behaviors and constraints to illustrate our techniques in a concrete and specific manner. required of the software, do indeed take advantage of UML’s Finally, we’ll give a section on conclusions we can draw from clarity, but not in ways that support the traceability features this work, and then wind up with a discussion of further work mentioned above. that we plan to or hope to do. Our approach uses the Stereotype construct of UML to precisely identify elements of UML constructs, especially behaviors such as State Machines and Activities, as requirements, and also to 2. OVERVIEW OF GRACE F-O AND LRI achieve the necessary mapping capabilities. We describe this approach in the context of a space-based software application The original Gravity Recovery And Climate Experiment currently under development at the Jet Propulsion Laboratory. (GRACE) mission was launched in March 2002, and has been providing scientists with continuous detailed measurements of the Earth’s gravity field, enabling a better understanding of: TABLE OF CONTENTS 1 INTRODUCTION .................................. 1 • Tracking water movement on and beneath Earth’s surface. 2 OVERVIEW OF GRACE F-O AND LRI.......... 1 • Tracking changes in ice sheets and in global sea level. 3 THE UML PROFILING MECHANISM ............ 2 4 OUR REQUIREMENTS MANAGEMENT PROFILE 3 • Studying ocean currents both near the surface and far 5 OUR PROFILE IN ACTION ....................... 5 beneath the waves. 6 CONCLUSIONS AND LESSONS LEARNED ........ 7 • Tracking changes in the structure of the solid Earth. 7 FUTURE WORK .................................. 8 ACKNOWLEDGMENTS ........................... 9 The gravity field measurements are accomplished by flying REFERENCES .................................... 9 twin GRACE satellites in tandem, separated by a distance BIOGRAPHY ..................................... 9 of approximately 220 kilometers, in a polar orbit which completes 15 revolutions of the Earth per day. (See Figure 978-1-4799-5380-6/15/$31:00 c 2015 IEEE. 1). A microwave ranging instrument onboard each satel- 1 an optical cavity for characterizing and controlling the laser frequency, a triple-mirror assembly for guiding the the remote laser, and a digital signal processing subsystem, which in- cludes a computer running the LRI flight software. The flight software requirements include the following re- sponsibilities: • Controlling the major modes and behaviors of the instru- ment • Collecting, formatting, and sending science data, as well as housekeeping telemetry from instrument subsystems • Configuring the digital control subsystem (programming an FPGA, accepting and implementing partial FSW modifica- tions, etc) • Controlling various diagnostic and characterization modes with special data flows • Maintaining a flash file system with various search profiles, parameter files, FSW object files, FPGA programming im- ages, etc. • Communicating with the spacecraft Command & Data Handling system • Handling commands from ground operators, producing telemetry for downlink Our approach to managing the requirements for this flight software subsystem and their verification are the subject of our paper. Figure 1. An illustration of the two GRACE Follow-On 3. THE UML PROFILING MECHANISM spacecraft with lasers pointed at each other This section gives a brief introduction to the Unified Model- ing Language profiling mechanism, which necessarily begins with a discussion of the concept of metamodel. Some readers lite measures the distance between them to an accuracy of may wish to skip this section. approximately 10 microns (less than the width of a human hair). Small variations in the Earth’s gravity field cause The UML Metamodel the twin satellites to speed up and slow down as they orbit, The Unified Modeling Language is grounded on a meta- resulting in constantly varying distance and relative velocity model metaclasses between the two satellites. These variations are measured , which is a system of that defines the by the microwave ranging instrument, and downlinked to the concepts of the language. GRACE mission control - resulting in an updated map of the Earth’s gravity field every 30 days. A UML model describes some kind of domain, such as a hardware or software system, by allowing the modeler to rep- In June 2010 NASA directed JPL to plan implementation resent entities in the domain or system in a way that expresses of the GRACE Follow-On mission as one of the Climate the key aspects of the entity, in a way that communicates well Continuity Missions, which are a coordinated series of satel- to users of the model. The model consists of a set of model lite and airborne missions for long-term global observations elements, corresponding to the entities in the system being of the land surface, biosphere, solid Earth, atmosphere, and modeled. oceans. The GRACE Follow-On mission leverages GRACE class instance mission heritage, including the same key partners (JPL and Loosely speaking, model elements can be a , an of a class, or a relationship among classes or class instances. German Space Operations Center (GSOC)), and implements A class represents a potential set of things, in the system or improvements for known GRACE systematic errors. domain being modeled, that share a common set of features, In addition, JPL was instructed to strongly consider flying a where a feature can be an attribute or a behavior. As an technology demo example, a company’s information technology system will laser interferometer ranging instrument in generally have a number of printers. In a UML model of addition to the primary microwave ranging instrument. The class Printer GRACE Follow-On Laser Ranging Interferometer (LRI) is that system, a , named, say , might be used to planned to provide an approximately 20X improvement in model the general entity of a printer: all printers have certain measurement accuracy over the microwave instrument. The features in common: a place to load paper, a power button, a printing function or behavior. These features would be LRI is based on technology developed as part of the Laser modeled as attributes and operations (behaviors that the class Interferometer Space Antenna (LISA), and the NASA Instru- Printer ment Incubator and Advanced Technology Infusion Program. can perform) on the class . A specific printer in the system might be modeled as an instance of the class Printer. The Laser Ranging Interferometer The UML contains a language element - a metaclass - called The instrument consists of several subsystems: the laser Class, and it is this language element that would be used to and laser electronics assembly, an optical bench assembly, define the Printer class in the IT model. The UML metaclass 2 Figure 2. The stereotypes of the GRACE F-O/LRI profile used for requirements management Class represents the concept of modeling a domain or system the next section. using the concept of some set of things which share common features (although in various forms and extents). Thus, where A Profile is a collection of stereotypes.