Abstract
This paper presents our feedback from the study on the use of Objective Caml for safety-critical software development tools implementation. As a result, Objective Caml is now used for the new Scade\(^{\mathtt{TM}}\) certified embedded-code generator. The requirements for tools implementation are less strict than those for the embedded code itself. However, they are still quite demanding and linked to imperative languages properties, which are usually used for this kind of development. The use of Objective Caml is outstanding: firstly for its high level features (functional language of higher order, parametric polymorphism, pattern matching), secondly for its low level mechanisms needed by the runtime system (GC, exceptions). In order to develop the tools to check the safety-critical software development rules, it is necessary to reinterpret them for this language, and then to adapt Objective Caml so that it satisfies them. Thus, we propose a language restriction and a simplified runtime library in order that we can define and measure the coverage of a program written in Objective Caml according to the MC/DC criteria. Then we can look forward to seeing this kind of languages spread out the industrial environment, while raising the abstraction level in the conception and implementation of tools for certified programs production.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Aponte, M.-V., Chailloux, E., Cousineau, G., Manoury, P.: Advanced Programming Features in Objective Caml. In: 6th Brazilian Symposium on Programming Languages(June 2002)
Berry, G.: The Effectiveness of Synchronous Languages for the Development of Safety-Critical Systems. Technical report, Esterel-Technologies (2003)
Boehm, H., Weiser, M., Bartlett, J.F.: Garbage collection in an uncooperative environment. Software - Practice and Experience (September 1988)
Camus, J.-L., Dion, B.: Efficient Development of Airborne Software with SCADE SuiteTM. Technical report, Esterel-Technologies (2003)
Chailloux, E.: An Efficient Way of Compiling ML to C. In: Workshop on ML and its Applications. ACM SIGPLAN (June 1992)
Colaço, J.-L., Pagano, B., Pouzet, M.: A Conservative Extension of Synchronous Data-flow with State Machines. In: ACM International Conference on Embedded Software (EMSOFT 2005), Jersey city, New Jersey, USA (September 2005)
Colaço, J.-L., Pouzet, M.: Clocks as First Class Abstract Types. In: Third International Conference on Embedded Software (EMSOFT 2003), Philadelphia, Pennsylvania, USA (October 2003)
Cousot, P., Cousot, R., Feret, J., Mauborgne, L., Miné, A., Monniaux, D., Rival, X.: The astrée analyser. In: European Symposium on Programming. LNCS (April 2005)
Dupuy, A., Leveson, N.: An empirical evaluation of the mc/dc coverage criterion on the hete-2 satellite software. In: Digital Aviations Systems Conference (DASC), Philadelphia, Pennsylvania, USA (October 2000)
Hayhurst, K.J., Veerhusen, D.S., Chilenski, J.J., Rierson, L.K.:A Practical Tutorial on Modified Condition/Decision Coverage. Technical report, NASA/TM-2001-210876 (May 2001)
Jones, R., Lins, R.: Garbage Collection. Wiley, Chichester (1996)
Kapoor, K., Bowen, J.P.: Experimental evaluation of the variation in effectiveness for dc, fpc and mc/dc test criteria. In: ISESE, pp. 185–194. IEEE Computer Society, Los Alamitos (2003)
Leroy, X.: The Objective Caml system release 3.10 : Documentation and user’s manual (2007), http://caml.inria.fr
Maranget, L.: Warnings for pattern matching. Journal of Functional Programming (2007)
Pouzet, M.: Lucid Synchrone version 3.0 : Tutorial and Reference Manual (2006), www.lri.fr/~pouzet/lucid-synchrone
T.C.D.T.L. Project: The Coq Proof Assistant Reference Manual (2006), http://coq.inria.fr/V8.1beta/refman
RTCA/DO-178B: Software Considerations in Airborne Systems and Equipment Certification. Radio Technical Commission for Aeronautics RTCA (December 1992)
Starynkevitch, B.: OCamljit - a faster Just-In-TIme Ocaml implementation. In: Workshop MetaOcaml (June 2004)
Tarditi, D., Lee, P., Acharya, A.: No assembly required: Compiling standard ML to C. ACM Letters on Programming Languages and Systems 1(2), 161–177 (1992)
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 2007 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Pagano, B. et al. (2007). Certified Development Tools Implementation in Objective Caml. In: Hudak, P., Warren, D.S. (eds) Practical Aspects of Declarative Languages. PADL 2008. Lecture Notes in Computer Science, vol 4902. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-77442-6_2
Download citation
DOI: https://doi.org/10.1007/978-3-540-77442-6_2
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-77441-9
Online ISBN: 978-3-540-77442-6
eBook Packages: Computer ScienceComputer Science (R0)