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

Saved in:
Bibliographic Details
Title: SCJ-Circus: Specification and refinement of Safety-Critical Java programs.
Authors: Miyazawa, Alvaro1 (AUTHOR) Alvaro.Miyazawa@york.ac.uk, Cavalcanti, Ana1 (AUTHOR) Ana.Cavalcanti@york.ac.uk, Wellings, Andy1 (AUTHOR) Andy.Wellings@york.ac.uk
Source: Science of Computer Programming. Jul2019, Vol. 181, p140-176. 37p.
Subject Terms: *TECHNICAL specifications, *CIRCUS, *MULTIPROCESSORS, *SEMANTICS, *ALGEBRA
Abstract: Safety-Critical Java (SCJ) is a version of Java for real-time, embedded, safety-critical applications. It supports certification via abstractions that enforce a particular program architecture, with controlled concurrency and memory models. SCJ is an Open Group standard, with a reference implementation, but little support for reasoning. Here, we present SCJ-Circus , a refinement notation for specification and verification of low-level models of SCJ programs. SCJ-Circus is part of the Circus family of state-rich process algebras: it includes the Circus constructs for modelling of sequential and concurrent behaviour based on Z and CSP, and the real-time and object-oriented extensions of Circus , in addition to the SCJ abstractions. We present the syntax of SCJ-Circus and its semantics, defined by mapping SCJ-Circus constructs to those of Circus. We also detail a refinement strategy that takes a Circus design that adheres to a multiprocessor cyclic executive pattern and produces an SCJ program design, described in SCJ-Circus. Finally, we show how this refinement strategy can be extended for more complex program architectures. Image 1 A refinement notation for specification and verification of SCJ programs is proposed. Image 1 Abstract patterns for SCJ specifications are identified. Image 1 A refinement strategy for SCJ programs is described. [ABSTRACT FROM AUTHOR]
Database: Academic Search Index
Description
Abstract:Safety-Critical Java (SCJ) is a version of Java for real-time, embedded, safety-critical applications. It supports certification via abstractions that enforce a particular program architecture, with controlled concurrency and memory models. SCJ is an Open Group standard, with a reference implementation, but little support for reasoning. Here, we present SCJ-Circus , a refinement notation for specification and verification of low-level models of SCJ programs. SCJ-Circus is part of the Circus family of state-rich process algebras: it includes the Circus constructs for modelling of sequential and concurrent behaviour based on Z and CSP, and the real-time and object-oriented extensions of Circus , in addition to the SCJ abstractions. We present the syntax of SCJ-Circus and its semantics, defined by mapping SCJ-Circus constructs to those of Circus. We also detail a refinement strategy that takes a Circus design that adheres to a multiprocessor cyclic executive pattern and produces an SCJ program design, described in SCJ-Circus. Finally, we show how this refinement strategy can be extended for more complex program architectures. Image 1 A refinement notation for specification and verification of SCJ programs is proposed. Image 1 Abstract patterns for SCJ specifications are identified. Image 1 A refinement strategy for SCJ programs is described. [ABSTRACT FROM AUTHOR]
ISSN:01676423
DOI:10.1016/j.scico.2019.01.002