Title

Specifying Subtypes In Scj Programs

Keywords

duration; Java modeling language (JML); performance; SafeJML; safety critical Java (SCJ); timing behavior; WCET

Abstract

Modular reasoning about programs that use subtypes requires that an overriding method in a subtype obeys the specifications of all methods that it overrides. For example, if method m is specified in a supertype T to take at most 42 nanoseconds to execute, then m cannot take more than 42 nanoseconds to execute in any subtype of T. Subtyping is an important aid to maintenance of programs, since it allows one to write polymorphic code (reducing code size and increasing reuse), and allows for convenient extension and enhancement of programs, all of which could be very useful in real-time programming. In this paper we show how to specify timing constraints for subtypes in a way that: permits modular reasoning about timing constraints, supports subtype polymorphism and object-oriented design patterns, and still permits precise reasoning about execution times. This technique supports object-oriented coding and design patterns based on subtype polymorphism, with all their maintenance advantages, to be used in real-time software. © 2011 ACM.

Publication Date

11-14-2011

Publication Title

ACM International Conference Proceeding Series

Number of Pages

40-46

Document Type

Article; Proceedings Paper

Personal Identifier

scopus

DOI Link

https://doi.org/10.1145/2043910.2043917

Socpus ID

80755181054 (Scopus)

Source API URL

https://api.elsevier.com/content/abstract/scopus_id/80755181054

This document is currently not available here.

Share

COinS