Integrating Z into Large Projects Tools and Techniques

If we want to use Z to write an overall system specification, we need to integrate it into a rich set of documents written in natural language and domain-specific notations. These documents must be easy to write and read by non-mathematicians. On a purely practical level, this implies that we want Z to be part of the ordinary documents that are used every day on the project. That means, in practice, that it has to be integrated into Microsoft Word. I describe a tool for writing and checking Z within the Word environment and some progress towards a process for writing the specification and guidelines for its structure.

[1]  Christophe Ponsard,et al.  From Requirements Models to Formal Specifications in B , 2006, ReMo2V.

[2]  Richard Banach,et al.  On the Refinement of Atomic Actions , 2008, Electron. Notes Theor. Comput. Sci..

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

[4]  Carroll Morgan,et al.  Programming from specifications , 1990, Prentice Hall International Series in computer science.

[5]  Yuri Gurevich,et al.  The Railroad Crossing Problem: An Experiment with Instantaneous Actions and Immediate Reactions , 1995, CSL.

[6]  C. Percebois,et al.  Towards a rigorous framework for dealing with domain specific language families , 2008, 2008 3rd International Conference on Information and Communication Technologies: From Theory to Applications.

[7]  Birgit Pfitzmann,et al.  Composition and integrity preservation of secure reactive systems , 2000, CCS.

[8]  Marcel Vinícius Medeiros Oliveira Formal derivation of state-rich reactive programs using Circus , 2005 .

[9]  Igor Walukiewicz,et al.  Forest algebras , 2008, Logic and Automata.

[10]  Paul Francis,et al.  Model Driven Architecture with Executable UML , 2004 .

[11]  Emmanuel Letier Reasoning about Agents in Goal-Oriented Requirements Engineering , 2002 .

[12]  Anthony Hall,et al.  Correctness by Construction: Developing a Commercial Secure System , 2002, IEEE Softw..

[13]  Charles Castel,et al.  Z and ProCoSA based specification of a distributed FDIR in a satellite formation , 2007 .

[14]  Wolfram Schulte,et al.  Semantic essence of AsmL , 2005, Theor. Comput. Sci..

[15]  Colin F. Snook,et al.  Rigorous engineering of product-line requirements: A case study in failure management , 2008, Inf. Softw. Technol..

[16]  Thomas Wilke,et al.  An Algebraic Characterization of Frontier Testable Tree Languages , 1996, Theor. Comput. Sci..

[17]  Roland Carl Backhouse Program Construction: Calculating Implementations from Specifications , 2003 .

[18]  Jean-Raymond Abrial,et al.  The B-book - assigning programs to meanings , 1996 .

[19]  Safety Executive Bootle Introduction to IEC 61508 , 2005 .

[20]  Antje Nowack Deciding the Verification Problem for Abstract State Machines , 2003, Abstract State Machines.

[21]  Jonathan Jacky,et al.  Model-Based Software Testing and Analysis with C# , 2007 .

[22]  Margus Veanes,et al.  Model-Based Testing of Object-Oriented Reactive Systems with Spec Explorer , 2008, Formal Methods and Testing.

[23]  Leslie Lamport,et al.  Specifying Systems: The TLA+ Language and Tools for Hardware and Software Engineers [Book Review] , 2002, Computer.

[24]  Jeanine Souquières,et al.  Integrating UML and B Specification Techniques , 2001, GI Jahrestagung.

[25]  Mihir Bellare,et al.  The Security of Triple Encryption and a Framework for Code-Based Game-Playing Proofs , 2006, EUROCRYPT.

[26]  Bogdan Warinschi,et al.  Soundness of Formal Encryption in the Presence of Active Adversaries , 2004, TCC.

[27]  David Pointcheval,et al.  Automated Security Proofs with Sequences of Games , 2006, CRYPTO.

[28]  Sylvain Boulmé,et al.  Adaptable Translator of B Specifications to Embedded C Programs , 2003, FME.

[29]  Ahmed Hammad,et al.  Java Card Code Generation from B Specifications , 2003, ICFEM.

[30]  Andreas Blass,et al.  Background, Reserve, and Gandy Machines , 2000, CSL.

[31]  Sherry Shavor,et al.  The Java Developer's Guide to Eclipse , 2003 .

[32]  Vitaly Shmatikov,et al.  Probabilistic Polynomial-Time Semantics for a Protocol Security Logic , 2005, ICALP.

[33]  Annabelle McIver,et al.  Abstraction, Refinement and Proof for Probabilistic Systems , 2004, Monographs in Computer Science.

[34]  Ivar Jacobson,et al.  The unified modeling language reference manual , 2010 .

[35]  Ana Cavalcanti,et al.  Refine and gabriel: support for refinement and tactics , 2004, Proceedings of the Second International Conference on Software Engineering and Formal Methods, 2004. SEFM 2004..

[36]  Jim Woodcock,et al.  ArcAngel: a Tactic Language for Refinement , 2003, Formal Aspects of Computing.

[37]  Axel van Lamsweerde,et al.  Goal-Oriented Requirements Engineering: A Guided Tour , 2001, RE.

[38]  Wolfgang Ahrendt,et al.  Reasoning about Abstract State Machines: The WAM Case Study , 1997, J. Univers. Comput. Sci..

[39]  Augusto Sampaio,et al.  Type Checking Circus Specifications , 2008, Electron. Notes Theor. Comput. Sci..

[40]  Augusto Sampaio,et al.  A Refinement Strategy for Circus , 2003, Formal Aspects of Computing.

[41]  Michael Leuschel,et al.  Debugging Event-B Models using the ProB Disprover Plug-in ! , 2007 .

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

[43]  Kirsten Winter,et al.  Model Checking for Abstract State Machines , 2008, J. Univers. Comput. Sci..

[44]  Lawrence C. Paulson,et al.  The Inductive Approach to Verifying Cryptographic Protocols , 2021, J. Comput. Secur..

[45]  Anthony Hall,et al.  Seven myths of formal methods , 1990, IEEE Software.

[46]  Dusko Pavlovic,et al.  Composition and refinement of behavioral specifications , 2001, Proceedings 16th Annual International Conference on Automated Software Engineering (ASE 2001).

[47]  Ran Canetti,et al.  Universally composable security: a new paradigm for cryptographic protocols , 2001, Proceedings 2001 IEEE International Conference on Cluster Computing.

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

[49]  Michael Fisher,et al.  Monodic ASMs and Temporal Verification , 2004, Abstract State Machines.

[50]  Joseph A. Goguen,et al.  Institutions: abstract model theory for specification and programming , 1992, JACM.

[51]  Nikolaj Bjørner,et al.  An SMT Approach to Bounded Reachability Analysis of Model Programs , 2008, FORTE.

[52]  Raman Kazhamiakin,et al.  Formal Analysis of Web Service Compositions , 2007 .

[53]  Michael Goldsmith,et al.  Modelling and analysis of security protocols , 2001 .

[54]  Angelo Gargantini,et al.  Encoding Abstract State Machines in PVS , 2000, Abstract State Machines.

[55]  Gerard Renardel de Lavalette,et al.  A Formalisation of Evolving Algebras , 1995 .

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

[57]  Egon Börger,et al.  The bakery algorithm: yet another specification and verification , 1993, Specification and validation methods.

[58]  Klaus-Dieter Schewe,et al.  Axiomatization of Database Transformations , 2007 .

[59]  Anamaria Martins Moreira,et al.  Automation of Java Card component development using the B method , 2006, 11th IEEE International Conference on Engineering of Complex Computer Systems (ICECCS'06).

[60]  Michael J. Butler,et al.  An Open Extensible Tool Environment for Event-B , 2006, ICFEM.

[61]  Anthony Hall Using Formal Methods to Develop an ATC Information System , 1996, IEEE Softw..

[62]  Leslie Lamport,et al.  The temporal logic of actions , 1994, TOPL.

[63]  Christophe Kehren,et al.  Motifs formels d'architectures de systèmes pour la sûreté de fonctionnement. (Systems architectures formal safety patterns) , 2005 .

[64]  Anamaria Martins Moreira,et al.  Developing Java Card Applications with B , 2007, SBMF.

[65]  Howard Foster,et al.  A rigorous approach to engineering web service compositions , 2006 .

[66]  Yves Ledru,et al.  Object oriented concepts identification from formal B specifications , 2007, Formal Methods Syst. Des..

[67]  David Clark,et al.  UML to B: Formal Verification of Object-Oriented Models , 2004, IFM.

[68]  Lawrence Charles Paulson,et al.  Isabelle/HOL: A Proof Assistant for Higher-Order Logic , 2002 .

[69]  Emina Torlak,et al.  Kodkod: A Relational Model Finder , 2007, TACAS.

[70]  Michael Butler,et al.  UML-B and Event-B: an integration of languages and tools , 2008, ICSE 2008.

[71]  Edmund M. Clarke,et al.  Formal Methods: State of the Art and Future Directions Working Group Members , 1996 .

[72]  Axel van Lamsweerde,et al.  Formal refinement patterns for goal-driven requirements elaboration , 1996, SIGSOFT '96.

[73]  Tobias Nipkow,et al.  A Proof Assistant for Higher-Order Logic , 2002 .

[74]  Anish Arora,et al.  Component Based Design of Multitolerant Systems , 1998, IEEE Trans. Software Eng..

[75]  Mingsheng Ying,et al.  Reasoning about probabilistic sequential programs in a probabilistic logic , 2003, Acta Informatica.

[76]  C. A. R. Hoare,et al.  Communicating sequential processes , 1978, CACM.

[77]  Jim Woodcock,et al.  An Architecture for Circus Tools , 2007 .

[78]  Joao Marques-Silva,et al.  Model Checking Event-B by Encoding into Alloy , 2008, ABZ.

[79]  Danièle Beauquier,et al.  A first order logic for specification of timed algorithms: basic properties and a decidable class , 2001, Ann. Pure Appl. Log..

[80]  José Luiz Fiadeiro Categories for software engineering , 2005 .

[81]  Marc Spielmann Automatic Verification of Abstract State Machines , 1999, CAV.

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

[83]  Steve A. Schneider,et al.  CSP theorems for communicating B machines , 2005, Formal Aspects of Computing.

[84]  Armin Biere,et al.  Symbolic Model Checking without BDDs , 1999, TACAS.

[85]  Douglas R. Smith,et al.  Composition by Colimit and Formal Software Development , 2006, Essays Dedicated to Joseph A. Goguen.

[86]  B. Belkhouche,et al.  Acknowledgements We Would like to Thank , 1993 .

[87]  Eerke A. Boiten,et al.  Formal Program Development with Approximations , 2005, ZB.

[88]  Jim Woodcock,et al.  Using Z - specification, refinement, and proof , 1996, Prentice Hall international series in computer science.

[89]  Gavin Lowe,et al.  Breaking and Fixing the Needham-Schroeder Public-Key Protocol Using FDR , 1996, Softw. Concepts Tools.

[90]  Alok Nandan,et al.  Model-Based Quality Assurance of Windows Protocol Documentation , 2008, 2008 1st International Conference on Software Testing, Verification, and Validation.

[91]  Michael J. Butler,et al.  An Approach to Combining B and Alloy , 2002, ZB.

[92]  Alessandro Armando,et al.  Bounded model checking of software using SMT solvers instead of SAT solvers , 2006, International Journal on Software Tools for Technology Transfer.

[93]  Yuri Gurevich,et al.  Evolving Algebras: an Attempt to Discover Semantics , 1993, Current Trends in Theoretical Computer Science.