ID 217230663 © Christian Offenberg - Dreamstime.com | electronica.de
promo_messe_munich__id_217230663__christian_offenb
Dreamstime_mauriceyom98_321540663
Enhancing FPGA programmability
191448470 © Biancoblue | Dreamstime.com | Infineon
id_191448470__biancoblue__dreamstime
ID 312689142 © Chechotkin | Dreamstime.com
LiDAR in autonomous driving
ID 333722484 © Weddingodessa85 | Dreamstime.com | AI generated.jpg
Translucent car showing electronics | AI generated
Dreamstime_cookiecutter_100807069
Security risks with DRAM

Assessing the Ada Language for Audio Applications (.PDF Download)

Nov. 10, 2017
Assessing the Ada Language for Audio Applications (.PDF Download)

C and C++ are well-known programming languages for implementing audio applications—both languages can be used to build embedded or PC applications. Traditionally, though, C is the language of choice when programming for embedded devices, while C++ is mainly used in the PC market.

However, programming in these languages can lead to a higher number of bugs and security issues (Zeigler, 1995)  (Szekeres, Payer, Wei, & Song, 2013). Also, due to the increasing complexity of audio applications, the choice of programming language may have a direct impact on time-to-market. Therefore, it’s reasonable to evaluate alternative programming languages.

In a discussion about alternative programming languages, many languages could be considered for audio applications. However, digital-signal-processing (DSP) applications have a number of constraints that narrow the field of potential programming languages:

  • Soft real-time computing ability: The applications must be able to operate under real-time conditions. This greatly constrains the use of most languages with automatic memory management, such as Java, as well as languages that use just-in-time compilation.
  • Performance: The code must compile to predictable and fast machine code.
  • Portability: The code must be able to run on dedicated DSP platforms and processors.
  • Reliability: While not specific to DSP applications, the code must operate reliably, sometimes on invalid input.

Since the Ada language meets all of the above requirements, we decided to investigate it. Moreover, we analyzed the language features that allow software developers to accurately design applications and catch errors in an early stage.

Comments

To join the conversation, and become an exclusive member of Electronic Design, create an account today!