Abstract
Mismatches of units and of scales of values in physical calculations are disastrous, but rather common, in the development of embedded control systems. They can be as plain as mixing feet and metres, or as hidden as a wrong exponent in a complex calculation formula. These errors can be found by a checking algorithm, following some simple rules, if information on the units of the used variables is provided. This paper describes a developer friendly approach of providing this checking functionality in SCADE, a model-based graphical development tool for safety-critical embedded applications.
This work is partially funded by DECOS (Dependable Embedded COmponents and Systems), an integrated project funded by the EU within priority “Information Society Technologies (IST)” in the sixth EU framework programme (contract no. FP6-511 764).
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Antoniu, T., Steckler, P., Krishnamurthi, S., et al.: Validating the unit correctness of spreadsheet programs. In: ICSE 2004, Proceedings of the 26th International Conference on Software Engineering, Edinburgh, Scotland, May 26–28, pp. 439–448 (2004)
Bouali, A., Dion, B., Konishi, K.: Using Formal Verification in Real-Time Embedded Software Development. Japan SAE, Yokohama (2005)
Brown, W.E.: Applied template meta-programming in SIunits: the library of unit-based computation. In: Proceedings of the Second Workshop on C++ Template Programming, Tampa Bay, FL, USA (October 14, 2001)
Cunis, R.: A package for handling units of measure in Lisp. SIGPLAN Lisp Pointers 2, 21–25 (1992)
Dion, B., Gartner, J.: Efficient Development of Embedded Automotive Software with IEC 61508 Objectives using SCADE Drive
DO-178B: Software Considerations in Airborne Systems and Equipment Certification, RTCA/EUROCAE (1992)
Guo, P., McCamant, S.: Annotation-less Unit Type Inference for C. Final Project, 6.883: Program Analysis, CSAIL. MIT, Cambridge (2005)
Halbwachs, N., Caspi, P., Raymond, P., Pilaud, D.: The synchronous dataflow programming language lustre. Proceedings of the IEEE 79(9), 1305–1320 (1991)
Hilfinger, P.N.: An Ada package for dimensional analysis. ACM Transactions on Programming Languages and Systems (TOPLAS) 10(2), 189–203 (1988)
Karr, M., Loveman, D.B.: Incorporation of units into programming languages. Commun. ACM 21(5), 385–391 (1978)
Mars Climate Orbiter Mishap Investigation Board. Phase I report (November 1999)
Petty, G.W.: Automated computation and consistency checking of physical dimensions and units in scientific programs. Software - Practice and Experience 31, 1067–1076 (2001)
SCADE Suite Technical and User Manuals, Version 5.0.1, Esterel Technologies (June 2005)
Système International d’Unités, http://www.bipm.fr/en/si/
Siano, D.: Orientational Analysis - A Supplement to Dimensional Analysis - I, vol. (320), p. 267, J. Franklin Institute (1985)
Siano, D.: Orientational Analysis, Tensor Analysis and The Group Properties of the SI Supplementary Units - II, vol. (320), p. 285, J. Franklin Institute (1985)
Using Simulink, Version 6, The MathWorks (2005)
Umrigar, Z.D.: Fully static dimensional analysis with C++. SIGPLAN Not. 29(9), 135–139 (1994)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2006 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Schlick, R., Herzner, W., Le Sergent, T. (2006). Checking SCADE Models for Correct Usage of Physical Units. In: Górski, J. (eds) Computer Safety, Reliability, and Security. SAFECOMP 2006. Lecture Notes in Computer Science, vol 4166. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11875567_27
Download citation
DOI: https://doi.org/10.1007/11875567_27
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-45762-6
Online ISBN: 978-3-540-45763-3
eBook Packages: Computer ScienceComputer Science (R0)