Reuse in Requirements Engineering: Discovery and Application of a Real-Time Requirement Pattern

We apply a reuse approach to formally specify system requirements. The approach is based on requirement patterns, which are related to design patterns well-known in object-oriented software development. The focus of this paper is on the application-driven discovery of an interesting, non-trivial real-time requirement pattern, and its subsequent application. In particular, we demonstrate how a given natural language requirement for a real-time system has been transformed into a precise and concise formal specification using real-time temporal logic. Finally, we motivate and illustrate the reuse potential of requirement specifications by a diverse collection of examples.