Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
0% found this document useful (0 votes)
65 views

Real Time Programming Language

The document discusses programming languages used for real-time systems. It examines procedural languages like C and Fortran that are commonly used due to their strong typing, modularity, and dynamic memory allocation. Object-oriented languages like Java are also discussed and can provide benefits like abstraction and encapsulation. However, critics argue concurrency is poorly supported. The document counters that libraries can provide concurrency support even if the language does not. Overall, the best language depends on the specific real-time system and its requirements.
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
65 views

Real Time Programming Language

The document discusses programming languages used for real-time systems. It examines procedural languages like C and Fortran that are commonly used due to their strong typing, modularity, and dynamic memory allocation. Object-oriented languages like Java are also discussed and can provide benefits like abstraction and encapsulation. However, critics argue concurrency is poorly supported. The document counters that libraries can provide concurrency support even if the language does not. Overall, the best language depends on the specific real-time system and its requirements.
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 8

Real Time Programming

Language
Intro

• A programming language represents the nexus of design and


structure.
• But misuse of the programming language can sometimes lead to
performance deterioration, missed deadlines and other problems.
• Real-time systems have been built with a wide range of programming
languages, both procedural and object-oriented and we will discuss
the most important ones
Mainstream use of programming languages
Fitness of a programming language for RT and
what metrics could be used estimate such fitness?
• C1. Economy of Execution . How fast does a
program run?
• C2. E conomy of Compilation . How long
does it take to go from multiple source files
to an executable file?
• C3. Economy of Small - Scale Development .
How hard must an individual
• programmer work?
• C4. Economy of Large - Scale Development .
H ow hard must a team of programmers
work?
• C5. Economy of Language Features . How
hard is it to learn or use a programming
language?
PROCEDURAL LANGUAGES
There are several programming - language features standing out in
procedural languages that are of interest in real - time systems,
particularly:
• Modularity
• Strong typing
• Abstract data typing
• Versatile parameter passing mechanisms
• Dynamic memory allocation facilities
• Exception handling
• Procedural languages are those in
which the program is organized into
a sequence of steps. These
languages are characterized by
facilities that allow for instructions
to be grouped together into sub-
programs or procedures (modules).

• Appropriate structuring of the sub-


programs allow for achievement of
desirable properties of the software
(for example, modularity, reliability,
and reuse). Procedural languages
include C and Fortran and real-time
systems have been successfully built
using these.
• Object-oriented languages support
data abstraction, inheritance,
polymorphism, and messaging
between objects. Objects are an
effective way to manage system
complexity as they provide a natural
environment for the desirable
program attributes of information
hiding, protected variation, and
encapsulation. Java is probably the
most widely used, pure object-
oriented language for real-time
systems.

• Some languages, notably Ada 95, C#


and C++, can be used as procedural
and/or object-oriented languages.
Proc vs Obj Oriented
• Most opponents of object - oriented languages for real - time programming assert
that concurrency and synchronization are poorly supported. However, when built
- in language support for concurrency does not exist, it is a standard practice to
create “ wrapper - facade ” classes to encapsulate system – concurrency
application program interface ( API ) for use in object orientation (e.g., wrapper
classes in C ++ for POSIX threads). Furthermore, there are several concurrency
patterns available for object - oriented real - time systems (Douglass, 2003 ;
Schmidt et al., 2000 ). While concurrency may be poorly supported at the
language level, it is not an issue since developers use libraries instead.
• In summary, critics of current object - oriented languages for real – time systems
seem fixated on Java, ignoring C ++ . C ++ is more suitable for real – time
programming since, among other things, it does not have built - in garbage
collection and class methods, and by default does not use “ dynamic binding. ” In
any case, there are no strict guidelines when object - oriented approaches and
languages should be preferred. Each specific situation needs to be considered
individually

You might also like