Quantitative Verification of Non-functional Requirements with Uncertainty

We focus on non-functional requirements, such as those concerning reliability, performance, or cost and examine how to support the transition from requirements to design models that can be analyzed formally in quantitative terms. We assume that the initial description is given in behavioral terms, using annotated UML Sequence Diagrams. Annotations are used to express environmental assumptions, which are subject to uncertainty, in probabilistic terms. We also assume that a set of requirements is expressed via Structured English statements, which provide predefined patterns to support specification of common probabilistic properties. We discuss how sequence diagrams can be automatically translated into formal models that support software engineers in reasoning about the application being developed. In particular, requirements are transformed into appropriate logic statements while sequence diagrams are translated into Markov models, which can then be analyzed by using probabilistic model checking.

[1]  Nenad Medvidovic,et al.  Early prediction of software component reliability , 2008, 2008 ACM/IEEE 30th International Conference on Software Engineering.

[2]  Carlo Ghezzi,et al.  Rethinking the Use of Models in Software Architecture , 2008, QoSA.

[3]  Bojan Cukic,et al.  Early reliability assessment of UML based software models , 2002, WOSP '02.

[4]  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).

[5]  Lars Grunske,et al.  Specification patterns for probabilistic quality properties , 2008, 2008 ACM/IEEE 30th International Conference on Software Engineering.

[6]  Vincenzo Grassi,et al.  KLAPER: An Intermediate Language for Model-Driven Predictive Analysis of Performance and Reliability , 2007, CoCoME.

[7]  Stephen Gilmore,et al.  Automatic extraction of PEPA performance models from UML activity diagrams annotated with the MARTE profile , 2008, WOSP '08.

[8]  Jan Trowitzsch,et al.  Towards quantitative analysis of real-time UML using stochastic Petri nets , 2005, 19th IEEE International Parallel and Distributed Processing Symposium.

[9]  Marta Z. Kwiatkowska,et al.  Stochastic Model Checking , 2007, SFM.

[10]  Mourad Debbabi,et al.  Automatic Verification and Performance Analysis of Time-Constrained SysML Activity Diagrams , 2007, 14th Annual IEEE International Conference and Workshops on the Engineering of Computer-Based Systems (ECBS'07).

[11]  José Merseguer,et al.  Software Performance Modeling Using UML and Petri Nets , 2003, MASCOTS Tutorials.

[12]  José Merseguer,et al.  Performance by unified model analysis (PUMA) , 2005, WOSP '05.

[13]  Stephen Gilmore,et al.  Automatic Translation of UML Sequence Diagrams into PEPA Models , 2008, 2008 Fifth International Conference on Quantitative Evaluation of Systems.

[14]  Rajeev Alur,et al.  Model Checking of Message Sequence Charts , 1999, CONCUR.

[15]  Steffen Becker,et al.  The Palladio component model for model-driven performance prediction , 2009, J. Syst. Softw..