Computer ScienceScience & MathematicsEconomics & FinanceBusiness & ManagementPolitics & GovernmentHistoryPhilosophy

Java-Based Real-Time Programming

by Klas Nilsson

Java-Based Real-Time Programming

Subscribe to new books via dBooks.org telegram channel

Join
DescriptionTable of ContentsDetailsHashtagsReport an issue

Book Description

Development of embedded software has for some years mainly been carried out by hardware-aware programming using the C-language, and in some cases even in assembly languages. This works well in simple cases when the application demands and the hardware are known at design time, and the size of the (statically defined) software is small. When applications increase in size and must be rapidly developed (time to market), and perhaps need to be on-line upgradeable, more programming support is needed. In particular, for critical applications (safety critical as in an airplane, mission critical as in space/military/nuclear tasks, economically critical if the survival of the company depends on the reliability of the computer system, etc.) special measures must be taken to limit the possible (faulty) influences of one software function on another part of the system. Therefore, we have to abandon programming in C or C++ for large/complex systems. Instead, we have to base the core development on a more scalable language (and run-time system) that prevents direct access to memory, for instance via pointers.

Java (and partly C#) is such a language. Still, programming in C is appropriate for device drivers, which do need to directly access the hardware. For similar reasons of scalability, Microsoft had to go from their Win32+MFC C/C++-oriented standard to the Microsoft.NET Framework with C# in order to stay competitive in the long run. Here, we will go some steps further, considering also small embedded systems and severe timing demands.

We will approach the real-time issues via established web-programming and concurrency techniques, which will reveal a few deficiencies of the standard Java platform. A real-time package (class library) and a few run-time extensions will be presented. The usage of these additions to create high performance real-time control software is then described in a real-time programming chapter which is central the topic of this book. The reader should then gain additional understanding and programming skill by studying the remaining chapters about scheduling, processes, and applications.

This open book is licensed under a GNU Free Documentation License (GNU FDL). You can download Java-Based Real-Time Programming ebook for free in PDF format (1.9 MB).

Table of Contents

Section 1
Software execution is performed sequentially
Section 2
Our physical world is parallel
Section 3
Parallel computing
Section 4
Concurrency
Section 5
Interrupts, pre-emption, and reentrance
Section 6
Models of concurrent execution
Section 7
Multi-process programming
Section 8
Object interaction and encapsulation
Section 9
Software issues
Section 10
Threads
Section 11
Resources and mutual exclusion - Semaphores
Section 12
Objects providing mutual exclusion - Monitors
Section 13
Message-based communication - Mailboxes

Book Details

Title
Java-Based Real-Time Programming
Subject
Computer Science
Publisher
Self-publishing
Published
2016
Pages
128
Edition
1
Language
English
PDF Size
1.9 MB
License
GNU FDL

Related Books

The NGINX Real-Time API Handbook
Discover how to deliver reliable, high-performance APIs with our NGINX Real-Time API Handbook. Compiled by leading experts on real-time API management, this handbook is a comprehensive guide to reducing latency in your applications and APIs without making any compromises. Learn why now, more than ever, your APIs need to perform in real time to meet...
Ray Tracing Gems
This book is a must-have for anyone serious about rendering in real time. With the announcement of new ray tracing APIs and hardware to support them, developers can easily create real-time applications with ray tracing as a core component. As ray tracing on the GPU becomes faster, it will play a more central role in real-time rendering. Ray Tracing...
The Real-Time APIs
Application Programming Interfaces (APIs) are seemingly everywhere. Thanks to the popularity of web-based products, cloud-based X-as-a-service offerings, and IoT, it is becoming increasingly important for engineers to understand all aspects of APIs, from design, to building, to operation. Research shows that there is increasing demand for near r...
Real-Time ASP.NET Core 3 Apps with SignalR Succinctly
The ASP.NET Core SignalR library is open source and allows developers to simplify adding real-time web functionality to applications. This means that the server-side code can instantly push content to connected clients. In Real-Time ASP.NET Core 3 Apps with SignalR Succinctly, Dirk Strauss will show you how to use it to create a chat application wi...
Real-time Linked Dataspaces
This book explores the dataspace paradigm as a best-effort approach to data management within data ecosystems. It establishes the theoretical foundations and principles of real-time linked dataspaces as a data platform for intelligent systems. The book introduces a set of specialized best-effort techniques and models to enable loose administrative ...
European Guide to Power System Testing
This open book provides an overview of the ERIGrid validation methodology for validating CPES, a holistic power system testing method. It introduces readers to corresponding simulation and laboratory-based tools, including co-simulation, real-time simulation, and hardware-in-the-loop. Selected test cases and validation examples are provided, in ord...