{"title":"Using Ada for industrial embedded microprocessor applications, II","authors":"A. G. Duncan, J. Hutchison","doi":"10.1145/3304133.3304155","DOIUrl":null,"url":null,"abstract":"In [1], we illustrated how Ada could be used to separate the high level logical operations of an embedded control program from the low level details of how to access the various physical devices controlled by the program. We further illustrated how this information hiding could be achieved without loss of storage or run-time efficiency. In this paper, we continue our investigation by illustrating how one can use the exception handling facility of Ada to separate the normal operation of a control program from the handling of exceptional conditions. The goals are (1) to be able to view the normal flow of control and the error recovery separately, without having to embed one in the other, (2) after recovering from an error, to be able to restart or continue operation of the system, and (3) to accomplish goals 1 and 2 without loss of efficiency. The third goal is particularly important, since many real-time control applications are characterized by the use of minimal hardware. While such programs do not use the full power of the Ada language, it is important that one be able to compile highly optimized code for those features that are used. Our discussion centers around a typical application in factory automation - a control program for an industrial trolley. While this is not one of our intended applications, it includes many characteristics of actual applications.","PeriodicalId":304626,"journal":{"name":"Proceedings of the AdaTEC Conference on Ada","volume":"106 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"1982-10-06","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings of the AdaTEC Conference on Ada","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/3304133.3304155","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0
Abstract
In [1], we illustrated how Ada could be used to separate the high level logical operations of an embedded control program from the low level details of how to access the various physical devices controlled by the program. We further illustrated how this information hiding could be achieved without loss of storage or run-time efficiency. In this paper, we continue our investigation by illustrating how one can use the exception handling facility of Ada to separate the normal operation of a control program from the handling of exceptional conditions. The goals are (1) to be able to view the normal flow of control and the error recovery separately, without having to embed one in the other, (2) after recovering from an error, to be able to restart or continue operation of the system, and (3) to accomplish goals 1 and 2 without loss of efficiency. The third goal is particularly important, since many real-time control applications are characterized by the use of minimal hardware. While such programs do not use the full power of the Ada language, it is important that one be able to compile highly optimized code for those features that are used. Our discussion centers around a typical application in factory automation - a control program for an industrial trolley. While this is not one of our intended applications, it includes many characteristics of actual applications.