Java-Based Real-Time Programming

Download free course Java-Based Real-Time Programming, pdf file on 128 pages by Klas Nilsson.
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.

Table of contents

  • Software execution is performed sequentially
  • Our physical world is parallel
  • Parallel computing
  • Concurrency
  • Interrupts, pre-emption, and reentrance
  • Models of concurrent execution
  • Multi-process programming
  • Object interaction and encapsulation
  • Software issues
  • Threads
  • Resources and mutual exclusion - Semaphores
  • Objects providing mutual exclusion - Monitors
  • Message-based communication - Mailboxes
Pages : 128
Size : 1.9 MB
File type : PDF
Downloads: 77
Created: 2022-02-03
License: GNU FDL
Author(s): Klas Nilsson
Java-Based Real-Time Programming

Others programming Tutorials

Programming for Computations - MATLAB/Octave

Defensive Database Programming with SQL Server

Certified Programming with Dependent Types

Object-oriented Programming in C#

A Gentle Guide to Constraint Logic Programming via ECLiPSe, 3rd Edition

Others related eBooks about Java-Based Real-Time Programming

TypeScript Notes for Professionals

Download free course TypeScript Notes for Professionals, pdf file on 96 pages by Stack Overflow Community....

Assembly language tutorial in PDF

Download free Assembly language tutorial course in PDF, training file in 6 chapters and 29 pages. Free unaffiliated ebook created from Stack OverFlow contributor....

Fundamentals of C# programming

This tutorial is designated to learn the C# language and think like a programmer ,it's a free PDF document under 1122 pages for all level users....

C++ Notes for Professionals

The C++ Notes for Professionals book is compiled from Stack Overflow Documentation. Text content is released under , the content is written by the beautiful people at Stack Overflow. Text content is released under Creative Commons BY-SA. See credits at the end of this book whom contributed to the va...

Algorithmic Problem Solving with Python

This book uses Python to introduce folks to programming and algorithmic thinking. It is sharply focused on classical algorithms, but it also gives a solid understanding of fundamental algorithmic problem-solving techniques. ...

Visual Basic .NET Notes for Professionals

Download free course Visual Basic .NET Notes for Professionals, pdf file on 148 pages by Stack Overflow Community....

Agile Processes, in Software Engineering, and Extreme Programming

Download free course Agile Processes, in Software Engineering, and Extreme Programming, pdf file on 343 pages by by Helen Sharp, Tracy Hall....

The Vue.js Handbook

Download free course The Vue.js Handbook, pdf file on 122 pages by Flavio Copes....

Basic OOP in C++

Download C++ programming language courses about object-oriented programming (OOP), free training document in PDF by Eunsuk Kang and JeanYang....

ADA course in PDF

Welcome to the Ada Programming tutorial in PDF, training document under 200 pages intended to beginners....