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 |