Abstract
This paper presents our experience in using Ada and the Ravenscar profile in a robotics non-profit association and in a robotics competition. While Ada is our primary and dominant language, we have complemented it with a hardware description language (Verilog) and an interactive language (Forth). We describe the interface between those languages, and the design choices that have been made to minimize the risks taken by leaving the Ada world. We also explain why we chose in some conditions to relax restrictions imposed by the use of the Ravenscar profile.
- As-2 Embedded Computing Systems Committee SAE. Architecture Analysis&Design Language (AADL). SAE Standards no AS5506, November 2004.Google Scholar
- R. Barry. FreeRTOS Reference Manual - API Functions and Configuration Options. eBook, 2009.Google Scholar
- A. Burns. The Ravenscar Profile. ACM Ada Letters, 4:49--52, 1999. Google Scholar
Digital Library
- A. Burns, B. Dobbing, and T. Vardanega. Guide for the use of the Ada Ravenscar Profile in high integrity systems. Technical report, University of York, January 2003.Google Scholar
- J. Corbet, A. Rubini, and G. Kroah-Hartman. Linux Device Drivers. O'Reilly, 3 edition, 2005. Google Scholar
Digital Library
- B. Dupouy, O. Hainque, L. Pautet, and S. Tardieu. Overview: the SPIF project. In Proceedings of the Reliable Software Technologies conference, 1997. Google Scholar
Digital Library
- A. Ertl. A Portable Forth Engine. In Proceedings of the EuroFORTH conference, 1993.Google Scholar
- M. A. Ertl. Is Forth Code Compact? - A Case Study. In Proceedings of the EuroForth conference, 1999.Google Scholar
- B. S. Fagin. Teaching Computer Science with Robotics using Ada/Mindstorms 2.0. In Proceedings of the 2001 Annual ACM SIGAda International Conference, pages 73--78. ACM Press, 2001. Google Scholar
Digital Library
- P. Frenger. Forth as a robotics language: part two. SIGPLAN Not., 32(6):19--22, 1997. Google Scholar
Digital Library
- P. Frenger. Robot control techniques: Part one: a review of robotics languages. SIGPLAN Not., 32(4):27--31, 1997. Google Scholar
Digital Library
- J. A. Gutierrez, M. Naeve, E. Callaway, M. Bourgeois, C. Mitter, and B. Heile. IEEE 802.15.4: A developing standard for low-power low-cost wireless personal area networks. IEEE Network, 15:12--19, September 2001. Google Scholar
Digital Library
- J. Hightower and G. Borriello. Location Systems for Ubiquitous Computing. IEEE Computer, 34(8):57--66, 2001. Google Scholar
Digital Library
- P. Hudak. Modular Domain Specific Languages and Tools. In Proceedings of fifth international conference on software reuse, pages 134--142. IEEE Computer Society Press, 1998. Google Scholar
Digital Library
- J. Hugues, B. Zalila, and L. Pautet. From the Prototype to the Final Embedded System Using the Ocarina AADL Tool Suite. ACM Transactions in Embedded Computing Systems (TECS), 7(4):1--25, July 2008. Google Scholar
Digital Library
- G. Jones. Maximum PC 2005 Buyer's Guide. Prentic Hall, 2005.Google Scholar
- D. G. Lowe. Distinctive Image Features from Scale-Invariant Keypoints. International Journal of Computer Vision, 60(2):91--110, 2004. Google Scholar
Digital Library
- B. O'Sullivan. Mercurial: The Definitive Guide. O'Reilly Media, 2009. Google Scholar
Digital Library
- S. Tardieu. GLADE: une implémentation de l'annexe des systèmes répartis d'Ada 95. PhD thesis, Ecole Nationale Supérieure des Télécommunications, October 1999.Google Scholar
- S. Tardieu. AForth, a Forth interpreter in Ada. http://www.ohloh.net/p/aforth, 2009.Google Scholar
- Technical Committee X3J14. Forth. American National Standards Institute, Inc., March 1994.Google Scholar
- D. E. Thomas. The Verilog R Hardware Description Language. Springer, 3 edition, May 1996. Google Scholar
Digital Library
- Télécom Robotics. Tutoriel Ada. http://www.telecom-robotics.org/ada, 2009.Google Scholar
Index Terms
Complementing Ada with other programming languages
Recommendations
Complementing Ada with other programming languages
SIGAda '09: Proceedings of the ACM SIGAda annual international conference on Ada and related technologiesThis paper presents our experience in using Ada and the Ravenscar profile in a robotics non-profit association and in a robotics competition. While Ada is our primary and dominant language, we have complemented it with a hardware description language (...
Ada Program Partitioning Language: A Notion for Distributing Ada Programs
Ada Program Partitioning Language (APPL) has been designed as part of Honeywell's Distributed Ada project. The goal of the project is to develop an approach for reducing the complexity of building distributed applications in Ada. In the proposed ...
Language Design for Program Manipulation
The design of procedural and object-oriented programming languages is considered with respect to how easily programs written in those languages can be formally manipulated. Current procedural languages such as Pascal, Modula-2 and Ada; generally support ...







Comments