ACM Home Page
Please provide us with feedback. Feedback
Using Ada for industrial embedded microprocessor applications
Source Proceedings of the ACM-SIGPLAN symposium on The ADA programming language table of contents
Pages: 26 - 35  
Year of Publication: 1980
ISBN:0-89791-030-3
Authors
Sponsor
SIGADA: ACM Special Interest Group on Ada Programming Language
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): n/a,   Downloads (12 Months): n/a,   Citation Count: 1
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/800004.807932
What is a DOI?

ABSTRACT

This paper investigates the use of Ada as a high level implementation language for use on microprocessors embedded in industrial applications. Many of these applications use microprocessors with minimal hardware, that is, no hardware support for a stack and possibly not even a hardware clock. The use of minimal hardware is dictated by manufacturing economics. If one can save $.25 per unit over a run of 100,000 units, the total savings will be $25,000. An Ada implementation for such hardware will differ greatly from an implementation for a large mainframe. For instance, the storage allocator cannot blithely allocate space for variables in activation records. While these programs do not use many of Ada's powerful language features, the compiler must be able to generate highly optimized code for those parts of the language that are used. Our discussion of Ada centers around a typical application, a program to control an automatic oven. While this example is not one of our intended applications, it embodies most of the problems that we expect to find in practice. The example was inspired by McCracken's furnace control case study [1], written in PL/M, and provides a good opportunity for comparing Ada with PL/M. Applications like the oven control program require a number of sophisticated compiler optimizations. In addition to performing the usual common subexpression analysis, removal of redundant and unreachable code, and sophisticated peephole optimizations, the compiler must be capable of complete static allocation of all data and must be able to perform significant amounts of verification to simplify generated code, especially with respect to error checks and exception handling. Finally, we discuss some language problems and some pragmas that we feel are necessary for use of Ada in real-time and time-dependent situations.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
McCracken, D. D., A Guide to PL/M Programming, Addison-Wesley, Reading, MA, 1978.
 
2


Collaborative Colleagues:
A. G. Duncan: colleagues
J. S. Hutchison: colleagues