4.0 Article

Mechanised support for sound refinement tactics

Journal

FORMAL ASPECTS OF COMPUTING
Volume 24, Issue 1, Pages 127-160

Publisher

SPRINGER
DOI: 10.1007/s00165-011-0218-z

Keywords

Tactic language; Refinement; Automation; Z; Unifying theories

Funding

  1. EPSRC [EP/E025366/1]
  2. CNPq [573964/2008-4, 476836/2009-3, 560014/2010-4]
  3. Engineering and Physical Sciences Research Council [EP/H017461/1, EP/E025366/1] Funding Source: researchfish
  4. EPSRC [EP/H017461/1] Funding Source: UKRI

Ask authors/readers for more resources

ArcAngel is a tactic language devised to facilitate and automate program developments using Morgan's refinement calculus. It is especially well suited for the specification of high-level refinement strategies, and equipped with a formal semantics that additionally permits reasoning about tactics. In this paper, we present an implementation of ArcAngel for the ProofPower theorem prover. We discuss the underlying design, explain how it implements the semantics of ArcAngel, and examine the interplay between ArcAngel tactics and the native reasoning support of the prover. We also discuss several extensions of ArcAngel that have been entailed by our implementation effort. They are of practical importance and provide a unification of the related tactic languages Angel and ArcAngel C. Our main result is a mechanisation that reflects directly the ArcAngel semantics, and can be used with any programming model for refinement. The approach can be used to support other formal tactic languages using other theorem provers.

Authors

I am an author on this paper
Click your name to claim this paper and add it to your profile.

Reviews

Primary Rating

4.0
Not enough ratings

Secondary Ratings

Novelty
-
Significance
-
Scientific rigor
-
Rate this paper

Recommended

Article Computer Science, Software Engineering

SCJ-Circus: Specification and refinement of Safety-Critical Java programs

Alvaro Miyazawa, Ana Cavalcanti, Andy Wellings

SCIENCE OF COMPUTER PROGRAMMING (2019)

Article Computer Science, Theory & Methods

Angelic processes for CSP via the UTP

Pedro Ribeiro, Ana Cavalcanti

THEORETICAL COMPUTER SCIENCE (2019)

Article Computer Science, Software Engineering

RoboChart: modelling and verification of the functional behaviour of robotic applications

Alvaro Miyazawa, Pedro Ribeiro, Wei Li, Ana Cavalcanti, Jon Timmis, Jim Woodcock

SOFTWARE AND SYSTEMS MODELING (2019)

Article Computer Science, Software Engineering

Fault-based refinement-testing for CSP

Ana Cavalcanti, Adenilso Simao

SOFTWARE QUALITY JOURNAL (2019)

Article Computer Science, Software Engineering

Finite complete suites for CSP refinement testing

Jan Peleska, Wen-ling Huang, Ana Cavalcanti

SCIENCE OF COMPUTER PROGRAMMING (2019)

Article Computer Science, Theory & Methods

Unifying theories of reactive design contracts

Simon Foster, Ana Cavalcanti, Samuel Canham, Jim Woodcock, Frank Zeyda

THEORETICAL COMPUTER SCIENCE (2020)

Article Computer Science, Theory & Methods

Inputs and Outputs in CSP: A Model and a Testing Theory

Ana Cavalcanti, Robert M. Hierons, Sidney Nogueira

ACM TRANSACTIONS ON COMPUTATIONAL LOGIC (2020)

Editorial Material Computer Science, Software Engineering

Editorial

Ana Cavalcanti, Pedro Ribeiro

FORMAL ASPECTS OF COMPUTING (2020)

Article Computer Science, Software Engineering

Unifying semantic foundations for automated verification tools in Isabelle/UTP

Simon Foster, James Baxter, Ana Cavalcanti, Jim Woodcock, Frank Zeyda

SCIENCE OF COMPUTER PROGRAMMING (2020)

Article Computer Science, Information Systems

Sound reasoning in tock-CSP

James Baxter, Pedro Ribeiro, Ana Cavalcanti

Summary: The study explores tock-CSP as a dedicated language for modeling budgets, deadlines, and Zeno behavior. It introduces the first tailored semantic model for tock-CSP that captures timewise refinement.

ACTA INFORMATICA (2022)

Article Computer Science, Theory & Methods

Automated verification of reactive and concurrent programs by calculation

Simon Foster, Kangfeng Ye, Ana Cavalcanti, Jim Woodcock

Summary: This paper presents an algebraic verification strategy for concurrent reactive programs with a large or infinite state space, involving novel operators and an associated equation theory. The method can calculate denotational semantics of reactive programs, facilitate automated proof, and support iterative programs and parallel composition..

JOURNAL OF LOGICAL AND ALGEBRAIC METHODS IN PROGRAMMING (2021)

Article Computer Science, Software Engineering

Probabilistic modelling and verification using RoboChart and PRISM

Kangfeng Ye, Ana Cavalcanti, Simon Foster, Alvaro Miyazawa, Jim Woodcock

Summary: RoboChart is a domain-specific language for robotics that supports automated verification through model checking and theorem proving, with an extension to model uncertainty using probabilism. The language includes a new construct for enriching state machines with probability and an accompanying tool called RoboTool for modelling and verifying functional and real-time behavior. An automatic technique has been implemented in RoboTool to transform RoboChart models into PRISM models for verification, with an extension of the property language to support probabilistic properties expressed in temporal logic using controlled natural language.

SOFTWARE AND SYSTEMS MODELING (2022)

Article Computer Science, Artificial Intelligence

From Pluralistic Normative Principles to Autonomous-Agent Rules

Beverley Townsend, Colin Paterson, T. T. Arvind, Gabriel Nemirovsky, Radu Calinescu, Ana Cavalcanti, Ibrahim Habli, Alan Thomas

Summary: With advancements in systems engineering and artificial intelligence, autonomous agents are expected to execute tasks that affect human well-being, requiring them to be normatively sensitive and compliant. Bridging the gap between normative principles and operational practice, this paper presents a process for deriving practical rules from high-level norms, enabling autonomous agents to select and execute the most favorable action based on relevant normative principles.

MINDS AND MACHINES (2022)

Article Computer Science, Theory & Methods

Testing using CSP Models: Time, Inputs, and Outputs

James Baxter, Ana Cavalcanti, Maciej Gazda, Robert M. Hierons

Summary: This research introduces a new approach for timed refinement and testing using a dialect of CSP called tock-CSP. It provides a novel semantics for testing by distinguishing input and output events in tock-CSP. Additionally, a new testing theory for timewise refinement is presented, based on novel definitions of test and test execution. The paper also establishes a relationship between timed ioco testing and refinement in tock-CSP with inputs and outputs.

ACM TRANSACTIONS ON COMPUTATIONAL LOGIC (2023)

Article Computer Science, Hardware & Architecture

Trustworthy Autonomous Systems Through Verifiability

Mohammad Reza Mousavi, Ana Cavalcanti, Michael Fisher, Louise Dennis, Rob Hierons, Bilal Kaddouh, Effie Lai-Chong Law, Rob Richardson, Jan Oliver Ringer, Ivan Tyukin, Jim Woodcock

Summary: Autonomous systems have the potential to solve societal challenges, but trustworthiness is crucial. A U.K. consortium conducted research to address the central issue of establishing verifiability.

COMPUTER (2023)

No Data Available