Describing and assessing availability requirements in the early stages of system development
Non-functional aspects such as timing constraints, availability, and fault tolerance are critical in the design and implementation of distributed real-time systems. As a result, it is becoming crucial to model and analyze non-functional requirements at the early stages of the software development life cycle. The widespread interest in dependability modeling and analysis techniques at the requirements phase provides the major motivation for this research. This paper presents a novel approach to describe and validate high-level availability requirements using the Use Case Maps (UCM) language of the ITU-T User Requirements Notation standard. The proposed approach relies on a mapping of availability architectural tactics to UCM models. The resulting extensions are described using a metamodel and are implemented within the jUCMNav tool. Early assessment and characterization of the means to achieve availability are then performed using a matrix representation allowing for feature-based availability composition and reasoning. We demonstrate the applicability of our approach through a case study of lawful intercept and ACL-based forwarding features on IP routers.
availability non-functional requirements use case maps architectural tactics urn availability analysis