SHF: Small: From Scenario-Based Software Requirements to Component-Level Behavior
University Of Southern California, Los Angeles CA
Investigators
Abstract
Use-case scenario-based specifications are frequently used to capture the most important requirements for a software system. Several techniques have been proposed for representing the scenario models and for mapping them to software system behavior models. The resulting behavior models yield several important benefits, including the ability to perform early system assessment and to aid the software engineers in implementing the required functionality. The two key observations guiding this research are that (1) use-case scenarios are inherently partial and (2) modern software systems are typically built by composing independent components. Existing techniques support either modeling the partial behavior of an entire system, or modeling component-level behaviors under the assumption that they are known completely. To bridge the above disconnect, this research provides a trio of formally correct techniques for mapping use-case scenario models of a system's requirements to partial-behavior models of the constituent system components. The resulting behavior models are then used to validate existing and elicit new requirements, which in turn, result in further refinements of the components models. The resulting techniques are evaluated theoretically for correctness, completeness, and complexity, and empirically for practical usefulness and scalability. The research yields several broader impacts: it improves the current state of software requirements specification and formalizes its relationship to the prevalent component-based software system development; its reliance on popular scenario-based modeling notations renders the resulting techniques easy to adopt in practice; the support for eliciting currently unspecified requirements leads to improved understandings of systems under development; finally, the supported early discovery and resolution of system behavior discrepancies helps to mitigate significant costs that would be incurred if detected at later stages of a system's lifecycle.
View original record on NSF Award Search →