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

Warning: Trying to access array offset on false in /home/tutovnfz/public_html/article.php on line 233

Others programming Tutorials

Programming for Computations - Python, 2nd Edition

Fundamentals of C++ Programming

Mathematica® Programming: an Advanced Introduction

Certified Programming with Dependent Types

Introduction to Computers and Programming

Others related eBooks about Java-Based Real-Time Programming

Graph Algorithms

Download free course Graph Algorithms, pdf file on 257 pages by Mark Needham, Amy Hodler....

Restful Web Services

You've built web sites that can be used by humans. But can you also build web sites that are usable by machines? That's where the future lies, and that's what RESTful Web Services shows you how to do. The World Wide Web is the most popular distributed application in history, and Web services and mas...

Learning with Python: How to Think Like a Computer Scientist

The user-friendly, object-oriented programming language Python is quickly becoming the most popular introductory programming language for both students and instructors....

Perl tutorial for professionals

Download free Perl tutorial course in PDF, training file in 39 chapters and 109 pages. Free unaffiliated ebook created from Stack OverFlow contributor....

Java for Small Teams

This book is an attempt to capture what good Java code looks like and the practices that help produce it. This document is intended for consumption by anyone involved with writing server side Java code. From developers writing Java for the first time through to seasoned technical leads serving multi...

Annotated Algorithms in Python

Download free course Annotated Algorithms in Python, pdf file on 388 pages by by Massimo Di Pierro....

Algorithms and Data Structures With Applications to Graphics and Geometry

An introductory coverage of algorithms and data structures with application to graphics and geometry. ...

Java, Java, Java

Download free course Java, Java, Java, pdf file on 856 pages by Ralph Morelli, Ralph Walde....

Scratch programming PDF tutorial

Download free PDF tutorial about Scratch programming, document under 29 pages by Neil Rickus....

Get Started with MicroPython on Raspberry Pi Pico

Download free course Get Started with MicroPython on Raspberry Pi Pico, pdf file on 139 pages by Gareth Halfacree, Ben Everard....