A formal specification animation method for operation validation

Abstract Formal specification can benefit software quality by precisely defining the behaviors of operations to prevent primary mistakes in the early phase of software projects, but a remaining challenge is how such a specification can be checked comprehensibly to show whether it satisfies the user’s perception of requirements. In this paper, we describe a new technique for animating operation specifications as a means to address this problem. The technique offers new ways to do (1) automatic animation data generation for both input and output of an operation based on pre- and post-conditions, (2) visualized demonstration of the relationships between input and the corresponding output, (3) comprehensible animation of data items, and (4) illustrative animation of logical expressions and the operators used in them. We discuss these issues and present a prototype tool that supports the automation of the proposed technique. We also report an industrial application as a trial experiment to validate the technique. Finally, we conclude the paper and point out future research directions.

[1]  Paul A. Strooper,et al.  Possum: an animator for the SUM specification language , 1997, Proceedings of Joint 4th International Computer Science Conference and 4th Asia Pacific Software Engineering Conference.

[2]  Hassan Haghighi,et al.  An animation approach to develop C++ code from Object-Z specifications , 2011, 2011 CSI International Symposium on Computer Science and Software Engineering (CSSE).

[3]  Martin Gogolla,et al.  USE: A UML-based specification environment for validating UML and OCL , 2007, Sci. Comput. Program..

[4]  Shaoying Liu,et al.  A Software Tool to Support Scenario-Based Formal Specification for Error Prevention , 2017, SOFL+MSVL.

[5]  Angelo Gargantini,et al.  Automatic Model Driven Animation of SCR Specifications , 2003, FASE.

[6]  Shaoying Liu SOFL: a formal engineering methodology for industrial applications , 1997, Proceedings of ISRE '97: 3rd IEEE International Symposium on Requirements Engineering.

[7]  Michael J. Butler,et al.  ProB: an automated analysis toolset for the B method , 2008, International Journal on Software Tools for Technology Transfer.

[8]  Jawed I. A. Siddiqi,et al.  A toolset to support the construction and animation of formal specifications , 1998, J. Syst. Softw..

[9]  Shaoying Liu,et al.  Applying SOFL to a Railway Interlocking System in Industry , 2016, SOFL+MSVL.

[10]  Jeff Kramer,et al.  Animation of requirements specifications , 1988, Softw. Pract. Exp..

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

[12]  Peter Gorm Larsen,et al.  VDMTools , 2008, ACM SIGPLAN Notices.

[13]  Manel Fredj,et al.  OVADO - Enhancing Data Validation for Safety-Critical Railway Systems , 2017, RSSRail.

[14]  Cliff B. Jones,et al.  Specifications are not (necessarily) executable , 1989 .

[15]  Bruno Dutertre,et al.  Yices 2.2 , 2014, CAV.

[16]  Shaoying Liu,et al.  Teaching formal methods in the context of software engineering , 2009, SGCS.

[17]  Daniel Jackson,et al.  Alloy: a lightweight object modelling notation , 2002, TSEM.

[18]  Atif Mashkoor,et al.  The Role of Validation in Refinement-Based Formal Software Development , 2018, Models: Concepts, Theory, Logic, Reasoning and Semantics.

[19]  Natarajan Shankar,et al.  Evaluating, Testing, and Animating PVS Specications , 2001 .

[20]  Shaoying Liu,et al.  Automated Functional Scenarios-Based Formal Specification Animation , 2012, 2012 19th Asia-Pacific Software Engineering Conference.

[21]  Kim G. Larsen,et al.  A Tutorial on Uppaal , 2004, SFM.

[22]  Shaoying Liu,et al.  Integrating Animation-Based Inspection Into Formal Design Specification Construction for Reliable Software Systems , 2016, IEEE Transactions on Reliability.

[23]  Béatrice Renard,et al.  An open animation tool: application to telecommunication systems , 2002, Comput. Networks.

[24]  Shaoying Liu Verifying Consistency and Validity of Formal Specifications by Testing , 1999, World Congress on Formal Methods.

[25]  Hao Wang,et al.  An automated approach to specification animation for validation , 2007, J. Syst. Softw..

[26]  Atif Mashkoor,et al.  Refinement-based Validation of Event-B Specifications , 2017, Software & Systems Modeling.

[27]  Shaoying Liu Formal Engineering for Industrial Software Development: Using the SOFL Method , 2004 .

[28]  Michael J. Butler,et al.  ProB: A Model Checker for B , 2003, FME.

[29]  Tim Miller,et al.  A framework and tool support for the systematic testing of model-based specifications , 2003, TSEM.

[30]  Fabrice Bouquet,et al.  CLPS-B - A Constraint Solver for B , 2002, TACAS.

[31]  Taro Kurita,et al.  Application of a Formal Specification Language in the Development of the "Mobile FeliCa" IC Chip Firmware for Embedding in Mobile Phone , 2008, FM.

[32]  Colin O'Halloran,et al.  Experiences with PiZA, an Animator for Z , 1997, ZUM.

[33]  Fabrice Bouquet,et al.  BZ-testing-tools: A tool-set for test generation from Z and B using constraint logic programming , 2002 .

[34]  Jeremy Dick,et al.  Making the Most of Formal Specification Through Animation, Testing and Proof , 1997, Sci. Comput. Program..

[35]  David Lorge Parnas,et al.  Really Rethinking 'Formal Methods' , 2010, Computer.

[36]  Felix Naumann,et al.  Data fusion , 2009, CSUR.

[37]  Shaoying Liu,et al.  An approach to specifying and verifying safety-critical systems with practical formal method SOFL , 1998, Proceedings. Fourth IEEE International Conference on Engineering of Complex Computer Systems (Cat. No.98EX193).

[38]  Natarajan Shankar,et al.  PVS: A Prototype Verification System , 1992, CADE.

[39]  Luigi Logrippo,et al.  Graphic visualization and animation of LOTOS execution traces , 2002, Comput. Networks.

[40]  Atif Mashkoor,et al.  Validation of formal specifications through transformation and animation , 2016, Requirements Engineering.

[41]  Shaoying Liu Agile Formal Engineering Method for Software Productivity and Reliability , 2018, CEE-SECR '18.

[42]  C. East,et al.  An Approach to Testing Object-oriented Formal Speciications , 2007 .

[43]  Nick Battle,et al.  Combinatorial Testing for VDM , 2010, 2010 8th IEEE International Conference on Software Engineering and Formal Methods.

[44]  Michael Leuschel,et al.  Refinement-Animation for Event-B - Towards a Method of Validation , 2010, ASM.

[45]  Matti Tedre,et al.  Experiments in Computing: A Survey , 2014, TheScientificWorldJournal.

[46]  Shaoying Liu,et al.  A Decompositional Approach to Automatic Test Case Generation Based on Formal Specifications , 2010, 2010 Fourth International Conference on Secure Software Integration and Reliability Improvement.

[47]  S. Kent,et al.  Validation of object oriented models using animation , 1999, Proceedings 25th EUROMICRO Conference. Informatics: Theory and Practice for the New Millennium.

[48]  Sandro Morasca,et al.  Generating test cases for real-time systems from logic specifications , 1995, TOCS.

[49]  Angelo Gargantini,et al.  AsmetaA: Animator for Abstract State Machines , 2018, ABZ.

[50]  Shaoying Liu,et al.  A Rigorous Method for Inspection of Model-Based Formal Specifications , 2010, IEEE Transactions on Reliability.

[51]  Shaoying Liu,et al.  Applying SOFL to specify a railway crossing controller for industry , 1998, Proceedings. 2nd IEEE Workshop on Industrial Strength Formal Specification Techniques.

[52]  Nikolaj Bjørner,et al.  Z3: An Efficient SMT Solver , 2008, TACAS.

[53]  Atif Mashkoor,et al.  Formal Domain Engineering: From Specification to Validation. (Ingénierie Formelle de Domaine: Des Spécifications à la Validation) , 2011 .

[54]  Michael Leuschel,et al.  From Animation to Data Validation: The ProB Constraint Solver 10 Years On , 2014 .

[55]  Nick Battle,et al.  The overture initiative integrating tools for VDM , 2010, ACM SIGSOFT Softw. Eng. Notes.

[56]  John C. Knight,et al.  Why are Formal Methods Not Used More Widely , 1997 .