Improving the Understandability of Formal Specifications: An Experience Report

[Context and motivation] The understandability of formal specifications is often considered as one of the main factors that limit the employment of formal methods in industrial applications. [Question/problem] Two reasons account for this issue: intricate notations and a coarse style of writing specifications. [Principal ideas/results] In this paper, we present our experience of rendering formal specifications understandable yet rigorous. [Contribution] The main contribution of the paper is the proposition of intuitive writing style guidelines, based on the ASM method, that enable formal specifications to become understandable.

[1]  Kate Finney,et al.  Mathematical Notation in Formal Specification: Too Difficult for the Masses? , 1996, IEEE Trans. Software Eng..

[2]  Nancy G. Leveson,et al.  Investigating the readability of state-based formal requirements specification languages , 2002, ICSE '02.

[3]  Sandro Morasca,et al.  Software measurement and formal methods: a case study centered on TRIO+ specifications , 1997, First IEEE International Conference on Formal Engineering Methods.

[4]  Kaisa Sere,et al.  Specification Metrics for Event-B Developments , 2010 .

[5]  Bertrand Meyer,et al.  On Formalism in Specifications , 1985, IEEE Software.

[6]  Angelo Gargantini,et al.  AsmEE: an Eclipse plug-in in a metamodel based framework for the Abstract State Machines , 2007 .

[7]  Jean-Raymond Abrial,et al.  Modeling in event-b - system and software engineering by Jean-Raymond Abrial , 2010, SOEN.

[8]  Michel Bidoit,et al.  How to Make Algebraic Specifications More Understandable? , 1987, Algebraic Methods.

[9]  Jonathan P. Bowen,et al.  Ten Commandments of Formal Methods , 1995, Computer.

[10]  Angelo Gargantini,et al.  Metamodelling a formal method : applying MDE to abstract state machines , 2006 .

[11]  David A. Carrington,et al.  Visualization of formal specifications , 1999, Proceedings Sixth Asia Pacific Software Engineering Conference (ASPEC'99) (Cat. No.PR00509).

[12]  Maurice H. Halstead,et al.  Elements of software science , 1977 .

[13]  Thai Son Hoang,et al.  Rodin: an open toolset for modelling and reasoning in Event-B , 2010, International Journal on Software Tools for Technology Transfer.

[14]  Barry W. Boehm,et al.  Quantitative evaluation of software quality , 1976, ICSE '76.

[15]  Nancy G. Leveson,et al.  On the use of visualization in formal requirements specification , 2002, Proceedings IEEE Joint International Conference on Requirements Engineering.

[16]  Maurice H. Halstead,et al.  Elements of software science (Operating and programming systems series) , 1977 .

[17]  J. Michael Spivey,et al.  The Z notation - a reference manual , 1992, Prentice Hall International Series in Computer Science.

[18]  Roozbeh Farahbod,et al.  CoreASM: An Extensible ASM Execution Engine , 2007, Fundam. Informaticae.

[19]  David Harel,et al.  Statecharts: A Visual Formalism for Complex Systems , 1987, Sci. Comput. Program..

[20]  Egon Börger,et al.  Abstract State Machines. A Method for High-Level System Design and Analysis , 2003 .

[21]  Martin Davis,et al.  The Universal Computer: The Road from Leibniz to Turing , 2002 .

[22]  Atif Mashkoor,et al.  Stepwise Validation of Formal Specifications , 2011, 2011 18th Asia-Pacific Software Engineering Conference.

[23]  Daniel L. Moody,et al.  The “Physics” of Notations: Toward a Scientific Basis for Constructing Visual Notations in Software Engineering , 2009, IEEE Transactions on Software Engineering.

[24]  Atif Mashkoor,et al.  Transformation Heuristics for Formal Requirements Validation by Animation , 2009 .

[25]  Martin Loomes,et al.  Applying software metrics to formal specifications: a cognitive approach , 1998, Proceedings Fifth International Software Metrics Symposium. Metrics (Cat. No.98TB100262).