The Infona portal uses cookies, i.e. strings of text saved by a browser on the user's device. The portal can access those files and use them to remember the user's data, such as their chosen settings (screen view, interface language, etc.), or their login data. By using the Infona portal the user accepts automatic saving and using this information for portal operation purposes. More information on the subject can be found in the Privacy Policy and Terms of Service. By closing this window the user confirms that they have read the information on cookie usage, and they accept the privacy policy and the way cookies are used by the portal. You can change the cookie settings in your browser.
This paper shows that a program using a time-predictable memory system for data storage can achieve a similar worst-case execution time (WCET) to the average-case execution time (ACET) using a conventional heuristic-based memory system including a data cache. This result is useful within any embedded system where time-predictability and performance are both important, particularly hard real-time systems...
In software design of the embedded real-time operating system, memory management is one of the factors that influent the system stability and capability. Embedded systems have limited resources and require different solution, in addition, real-time systems have time constrains. This paper proposes an improved memory management mechanism of uC/OS-II, which based on dynamic allocation, providing an...
We consider the concurrent execution of several applications within a single JVM. In order to have a different GC per application, we introduce and define application-specific memory, building upon the real-time specification for Java (RTSJ) from the real-time Java expert group. The RTSJ memory model imposes strict assignment rules to or from memory areas preventing the creation of dangling pointers...
Some concerns, such as debugging or logging functionality, cannot be captured cleanly, and are often tangled and scattered throughout the code base. These concerns are called crosscutting concerns. Aspect-oriented programming (AOP) is a paradigm that enables developers to capture crosscutting concerns in separate aspect modules. The use of aspects has been shown to improve understandability and maintainability...
The Ravenscar-Java profile is defined for high-integrity real-time Java programs. However, it only supports one application at any instance. This paper proposes an extended Ravenscar-Java that supports multiple applications with mixed integrity levels
One of the most powerful features of the real-time specification for Java (RTSJ) is the new memory management model based on scoped memory areas. This model allows programmers to ensure timely reclamation of memory and predictable performance, at the cost of an unfamiliar programming model. We report on experience using and implementing scoped memory areas. Our contribution is twofold: (i) we give...
Extensions like the real-time specification for Java (RTSJ) enable the use of Java in more and more time-critical application domains. The RTSJ enables the development of realtime code in Java even though a classical garbage collector causes unpredictable pauses to non-realtime code. We give an overview of how a modern realtime garbage collectors operates. It presents the impact the presence of such...
The following topics are dealt with: distributed real-time systems; real-time Java; formal specification; UML; systems modelling; middleware; distributed databases; Web services; program testing; formal verification; scheduling; memory management; object-oriented computing
The author reviews the literature on the use of garbage collection in real-time systems. The author concentrates on hard real-time systems, where we ideally construct mathematical proofs of correctness and of timing properties. In particular, the author examines the interaction of overheads imposed on mutator operations by garbage collection algorithms on worst-case execution time analyses of real-time...
Set the date range to filter the displayed results. You can set a starting date, ending date or both. You can enter the dates manually or choose them from the calendar.