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: 99
Created: 2022-02-03
License: GNU FDL
Author(s): Klas Nilsson
Java-Based Real-Time Programming

Others programming Tutorials

Certified Programming with Dependent Types

Programming from the Ground Up: An Introduction to Programming using Linux Assembly Language

Object-oriented Programming in C#

Programming Languages and Systems

Programming Computer Vision with Python

Others related eBooks about Java-Based Real-Time Programming

Learning actionscript PDF course

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

Artificial Neural Networks - Architectures and Applications

Artificial Neural Networks (ANN) may probably be the single most successful technology in the last two decades which has been widely used in a large variety of applications. The purpose of this book is to provide recent advances of architectures, methodologies, and applications of artificial neura...

Introduction to Java programming

With this PDF tutorial you will be familiar with basic Java language syntax and able to write a simple Java programs and writing good Java code....

Raspberry Pi Beginner's Guide

Download free course Raspberry Pi Beginner's Guide, pdf file on 248 pages by Gareth Halfacree....

Getting started with React

This tutorial teaches you how to program with React, a complete PDF document on 139 pages created by StackOverFlow. This course aims to give a solid foundation to React.js by exploring all of its concepts and possibilities, to then facilitate the exploration of the vast ecosystem that revolves arou...

Android™ Notes for Professionals

The fast-growing popularity of Android smartphones and tablets creates a huge opportunities for developers. If you're an experienced developer, you can start creating robust mobile Android apps right away with this professional guide....

Download Django tutorial in PDF

Download free Django tutorial course in PDF, training file in 53 chapters and 228 pages. Free unaffiliated ebook created from Stack OverFlow contributor....

Is Parallel Programming Hard, And, If So, What Can You Do About It?

Download free course Is Parallel Programming Hard, And, If So, What Can You Do About It?, pdf file on 601 pages by Paul E. McKenney....

Neural Networks and Deep Learning

Neural Networks and Deep Learning currently provide the best solutions to many problems in image recognition, speech recognition, and natural language processing. This book will teach you the core concepts behind neural networks and deep learning. ...

Web service with SOAP, PHP and WSDL

Download a PDF tutorial about the Web service and SOAP technology,free training document material on 7 pages by Monteiro....