@InProceedings{johnson-freyd:2016:tlacoq, author="Johnson-Freyd, Philip and Hulette, Geoffrey C. and Ariola, Zena M.", editor="ter Beek, Maurice H. and Gnesi, Stefania and Knapp, Alexander", title="Verification by Way of Refinement: A Case Study in the Use of Coq and TLA in the Design of a Safety Critical System", booktitle="Critical Systems: Formal Methods and Automated Verification (FMICS)", year="2016", publisher="Springer International Publishing", address="Cham", pages="205--213", abstract="Sandia engineers use the Temporal Logic of Actions (TLA) early in the design process for digital systems where safety considerations are critical. TLA allows us to easily build models of interactive systems and prove (in the mathematical sense) that those models can never violate safety requirements, all in a single formal language. TLA models can also be refined, that is, extended by adding details in a carefully prescribed way, such that the additional details do not break the original model. Our experience suggests that engineers using refinement can build, maintain, and prove safety for designs that are significantly more complex than they otherwise could. We illustrate the way in which we have used TLA, including refinement, with a case study drawn from a real safety-critical system. This case exposes a need for refinement by composition, which is not currently provided by TLA. We have extended TLA to support this kind of refinement by building a specialized version of it in the Coq theorem prover. Taking advantage of Coq's features, our version of TLA exhibits other benefits over stock TLA: we can prove certain difficult kinds of safety properties using mathematical induction, and we can certify the correctness of our proofs.", isbn="978-3-319-45943-1" }