Terms and Concepts
(DRAFT October 5, 1998)

General terms

Dynamic compilation:

Asynchronous Event/Synchronous Event: A synchronous event occurs at predictable times in the flow-of-control. An asynchronous event is not synchronous. [Laplante]

Atomic: Refers to an operation that is never interrupted or left in an incomplete state under any circumstances. [Javasoft]

Component: "Black box" components are sufficiently characterized by their specification, and are delivered in byte-code form. For real time systems, "sufficiently characterized" includes timing information and perhaps the rate of garbage production. For embedded systems, the resource footprint is also an issue.

Garbage collection: Process that automatically identifies dynamically allocated objects that are no longer reachable and reclaims the space occupied by the objects. Garbage collection consists of both garbage detection and garbage reclamation.

Incremental Garbage collection:

Memory allocation rate:

Process: a virtual address space containing one or more threads. [Javasoft]

Subset/profile of Requirements:

Thread: A schedulable entity that contends for serially reuseable resources and is scheduled to acquire them. [Abstracted from Jensen]

Real-time Computing

Real-time Computing has two aspects: ‘operating in real-time’ and real-time resource management. A system (at any level of abstraction -- e.g., application, computer system, operating system, Java platform, etc.) operates in real-time to the degree that it satisfies the system's time constraints acceptably -- i.e., with acceptable optimality and predictability. To that end, resource management is real-time to the degree that it explicitly takes those time constraints into account. [Abstracted from Jensen]

Timeliness can be defined by three aspects: (1) any time constraints (e.g., deadlines) on individual activities (an activity is a portion of a thread's locus of execution); (2) the collective timeliness optimization criterion used for scheduling threads to meet their activity’s time constraints (e.g., meet all hard deadlines, minimize the number of missed deadlines according to their relative importance, minimizise mean tardiness, etc.), (3) the trade-off between the collective timeliness optimality and the predictability of that collective timeliness optimality value (e.g., mean tardiness or number of missed deadlines may be higher but their variance is lower, or vice versa). [Abstracted from Jensen]

Predictability is the degree to which something can be known a' priori. It implies the degree to which the future execution (system and application) context of that something can be predicted. Determinism and maximum entropy are the end-points on the scale of predictability, and coefficient of variation is an example of a predictability metric. [Abstracted from Jensen]

Hard DeadlineA hard deadline is an activity time constraint which requires that the activity complete by the deadline time in order to be considered timely; completion after the deadline is considered untimely (i.e., there is no utility in completing the activity). [Abstracted from Jensen]

Hard real-time Computing is the fulfillment of the timeliness property that: 1) the time constraints of interest are all hard deadlines; 2) the collective timeliness optimization criterion is to always meet all hard deadlines (optimality and predictability are both maximal). [Abstracted from Jensen]

A soft time constraint is one which is not hard -- i.e., an arbitrary function relating the utility of completing the activity to its completion time. [Abstracted from Jensen]

Soft Real-time Computing is a fulfillment of the timeliness property that: 1) the time constraints are soft; the collective timeliness optimization criterion is whatever is appropriate (e.g., certain activities can miss every nth deadline or can be x% late, minimize the number of missed deadlines according to their importance, minimize mean tardiness); 3) the trade-off between collective timeliness optimality and predictability is whatever is appropriate (e.g., less optimal but more predictable, or more optimal but less predictable). [Abstracted from Jensen]

Real-time component:

Real-time garbage collection:

Real-time Java infrastructure:

Java(tm) Technologies

An Interpreter is a module that alternately decodes and executes every statement in some body of code. The Java interpreter decodes and executes Java bytecode. [Javasoft]

A Just-in-time (JIT) code generator generates platform-specific instructions only after Java Virtual Machine code has been loaded into the JVM. [Lindholm]

Ahead of time:

A Runtime system is considered the software environment in which programs compiled for the JVM can run. The runtime system includes all the code necessary to load Java programs, dynamically link native methods, manage memory, handle exceptions, and an implementation of the JVM, which may be a Java interpreter. [Javasoft]

The Sandbox comprises a number of cooperating system components, ranging from security managers that execute as part of the application, to security measures designed into the JVM and the language itself. The sandbox ensures that an untrusted, and possibly malicious, application can not gain access to system resources. [Javasoft]

The Virtual machine is an abstract specification for a computing device that can be implemented in different ways, in software or hardware. … The Java Virtual Machine consists of a bytecode instruction set, a set of registers, a stack, a garbage-collected heap, and an area for storing methods. [Javasoft]

Sources:

[Javasoft] Sun Microsystems provides an online glossary of Java related terms.

See http://www. Javasoft.com/docs/glossary.print.htm).

[Jensen] Doug Jensen, Mitre Corp., provides an excellent source of explanatory material on real-time concepts at: http://www.realtime-os.com/rt-java_glossary/transit/rt-java_glossary.htm

[Laplante] Laplante, Philip A. Real-time Systems Design and Analysis:An Engineer’s Handbook, 2nd Edition, IEEE Press, 1997.

[Lindholm] Lindholm, Tim and Frank Yellin, The Java(tm) Virtual Machine Specification, Sun Microsystems, Addison-Wesley, 1997
 
 
 
 

TM: Java and Java-based marks are trademarks of Sun Microsystems, Inc. in the United States and other countries.