Reachability Verification of Rhapsody Statecharts

We present the first fully automated approach for the verification of Rhapsody statecharts. IBM's Rhapsody framework is widely used in the automotive industry to model embedded reactive systems. The reactive behavior is specified using Rhapsody's statechart formalism and controls the entire system. Hence, it is crucial to ensure the safety properties of statecharts. Therefore, we constructed a model-checking based approach to verify state reachability, a fundamental safety property, of Rhapsody statecharts. We implemented it in a prototype tool using the model checkers CBMC and SPIN. This tool successfully verified simple models, but failed to scale to industry models due to the sheer complexity of the models. We then designed and implemented a simulation based approach. This successfully verified the simple models and the industry models, and found a crucial bug in one of the industry models. In this paper, we share both our model-checking and simulation approaches, their implementation details and the experimental results.

[1]  Daniel Kroening,et al.  A Tool for Checking ANSI-C Programs , 2004, TACAS.

[2]  Alastair F. Donaldson,et al.  Software Model Checking , 2014, Computing Handbook, 3rd ed..

[3]  David Harel,et al.  The Rhapsody Semantics of Statecharts (or, On the Executable Core of the UML) - Preliminary Version , 2004, SoftSpez Final Report.

[4]  Bernd Westphal LSC Verification for UML Models with Unbounded Creation and Destruction , 2006, Electron. Notes Theor. Comput. Sci..

[5]  Bernd Westphal,et al.  The Rhapsody UML Verification Environment , 2004, Proceedings of the Second International Conference on Software Engineering and Formal Methods, 2004. SEFM 2004..

[6]  Joseph Sifakis,et al.  The IF Toolset , 2004, SFM.

[7]  Michelle L. Crane,et al.  UML vs. classical vs. rhapsody statecharts: not all models are created equal , 2005, MoDELS'05.

[8]  Yunja Choi,et al.  From NuSMV to SPIN: Experiences with model checking flight guidance systems , 2007, Formal Methods Syst. Des..

[9]  Pao-Ann Hsiung,et al.  VERTAF: an application framework for the design and verification of embedded real-time software , 2004, IEEE Transactions on Software Engineering.

[10]  Thomas Ball,et al.  SLAM2: Static driver verification with under 4% false alarms , 2010, Formal Methods in Computer Aided Design.

[11]  Gerard J. Holzmann,et al.  The SPIN Model Checker - primer and reference manual , 2003 .

[12]  Thomas A. Henzinger,et al.  Software Verification with BLAST , 2003, SPIN.

[13]  Fred Kröger,et al.  Temporal Logic of Programs , 1987, EATCS Monographs on Theoretical Computer Science.

[14]  David Harel,et al.  Rhapsody: A Complete Life-Cycle Model-Based Development System , 2002, IFM.