Specification patterns for probabilistic quality properties

Probabilistic verification techniques are a powerful means to ensure that a software-intensive system fulfills its quality requirements. To apply these techniques an accurate specification of the required properties in a probabilistic temporal logic is necessary. To help practitioners formulate these properties correctly, this paper presents a specification pattern system of common probabilistic properties called ProProST. This pattern system has been a developed based on a survey of 152 properties from academic examples and 48 properties of real-word quality requirements from avionic, defence and automotive systems. Furthermore, a structured English grammar that can guide in the specification of probabilistic properties is given. Similar to previous specification patterns for traditional and real-time properties, the presented specification pattern system and the structured English grammar captures expert knowledge and helps practitioners to correctly apply formal verification techniques.

[1]  Ron Koymans,et al.  Specifying real-time properties with metric temporal logic , 1990, Real-Time Systems.

[2]  Christel Baier,et al.  Automated Performance and Dependability Evaluation Using Model Checking , 2002, Performance.

[3]  B.H.C. Cheng,et al.  Real-time specification patterns , 2005, Proceedings. 27th International Conference on Software Engineering, 2005. ICSE 2005..

[4]  Zohar Manna,et al.  The Temporal Logic of Reactive and Concurrent Systems , 1991, Springer New York.

[5]  Jeremy T. Bradley,et al.  Performance Trees: A New Approach to Quantitative Performance Specification , 2006, 14th IEEE International Symposium on Modeling, Analysis, and Simulation.

[6]  Kirsten Winter,et al.  Probabilistic Model-Checking Support for FMEA , 2007 .

[7]  Marta Z. Kwiatkowska,et al.  Model checking for probability and time: from theory to practice , 2003, 18th Annual IEEE Symposium of Logic in Computer Science, 2003. Proceedings..

[8]  Christel Baier,et al.  Model-Checking Algorithms for Continuous-Time Markov Chains , 2002, IEEE Trans. Software Eng..

[9]  Holger Hermanns,et al.  A tool for model-checking Markov chains , 2003, International Journal on Software Tools for Technology Transfer.

[10]  Christel Baier,et al.  Model Checking Markov Chains with Actions and State Labels , 2007, IEEE Transactions on Software Engineering.

[11]  Robert K. Brayton,et al.  Verifying Continuous Time Markov Chains , 1996, CAV.

[12]  Cyril S. Ku,et al.  Design Patterns , 2008, Wiley Encyclopedia of Computer Science and Engineering.

[13]  Christel Baier,et al.  Model Checking Continuous-Time Markov Chains by Transient Analysis , 2000, CAV.

[14]  Lars Grunske,et al.  Early quality prediction of component-based systems - A generic framework , 2007, J. Syst. Softw..

[15]  Marta Z. Kwiatkowska,et al.  Probabilistic symbolic model checking with PRISM: a hybrid approach , 2004, International Journal on Software Tools for Technology Transfer.

[16]  Håkan L. S. Younes,et al.  Numerical vs. Statistical Probabilistic Model Checking: An Empirical Study , 2004, TACAS.

[17]  Andrea Bianco,et al.  Model Checking of Probabalistic and Nondeterministic Systems , 1995, FSTTCS.

[18]  L. D. Alfaro The Verification of Probabilistic Systems Under Memoryless Partial-Information Policies is Hard , 1999 .

[19]  Marta Z. Kwiatkowska,et al.  Performance analysis of probabilistic timed automata using digital clocks , 2003, Formal Methods Syst. Des..

[20]  Christopher Alexander,et al.  The Timeless Way of Building , 1979 .

[21]  Adnan Aziz,et al.  It Usually Works: The Temporal Logic of Stochastic Systems , 1995, CAV.

[22]  Marta Z. Kwiatkowska,et al.  Symbolic model checking for probabilistic timed automata , 2007, Inf. Comput..

[23]  George S. Avrunin,et al.  PROPEL: an approach supporting property elucidation , 2002, ICSE '02.

[24]  Volker Gruhn,et al.  Patterns for Timed Property Specifications , 2006, QAPL.

[25]  Matthew B. Dwyer,et al.  Bandera: extracting finite-state models from Java source code , 2000, Proceedings of the 2000 International Conference on Software Engineering. ICSE 2000 the New Millennium.

[26]  Frank Ciesinski,et al.  On Probabilistic Computation Tree Logic , 2004, Validation of Stochastic Systems.

[27]  Håkan L. S. Younes,et al.  Probabilistic Verification of Discrete Event Systems Using Acceptance Sampling , 2002, CAV.

[28]  Marsha Chechik,et al.  Events in linear-time properties , 1999, Proceedings IEEE International Symposium on Requirements Engineering (Cat. No.PR00188).

[29]  George S. Avrunin,et al.  Patterns in property specifications for finite-state verification , 1999, Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002).

[30]  Jian Yu,et al.  Pattern Based Property Specification and Verification for Service Composition , 2006, WISE.

[31]  Friedemann Bitsch,et al.  Safety Patterns - The Key to Formal Specification of Safety Requirements , 2001, SAFECOMP.

[32]  Bengt Jonsson,et al.  A logic for reasoning about time and reliability , 1990, Formal Aspects of Computing.

[33]  Mahesh Viswanathan,et al.  On Statistical Model Checking of Stochastic Systems , 2005, CAV.

[34]  Wolfgang Müller,et al.  Structured English for Model Checking Specification , 2000, MBMV.

[35]  Christel Baier,et al.  Approximate Symbolic Model Checking of Continuous-Time Markov Chains , 1999, CONCUR.

[36]  Rajeev Alur,et al.  Model-checking for real-time systems , 1990, [1990] Proceedings. Fifth Annual IEEE Symposium on Logic in Computer Science.

[37]  Christopher G. Lasater,et al.  Design Patterns , 2008, Wiley Encyclopedia of Computer Science and Engineering.