Abstract -- Our recent experience in operations Desert Shield and Desert Storm has clearly demonstrated the criticality of software reliability end that truly reliable software Is indeed possible. One tool we can employ to enhance our software reliability is the classic scientific computational reliability technique of dimensional integrity, or unite checking. The Ads programming language makes it easy to implement units checking. A PHYSICAL_QUANTITY type Is declared which ham entries for both the floating point numeric value of s variable, and Integer entries for exponents of the fundamental physical unite of mass, length, and time. The Ads feature of "operator overloading" allows creation of symbols to porters arithmetic and relational operations on these variables . For example, the multiplication operation "*" ie overloaded eo that the numeric values of the two operande are multiplied, and the exponents of their fundamental units are added. An ASSIGN function Is then written to check that the units computed in an expression are equal to the units of the variable to which s new numeric value is assigned. Further reliability ie added by "information hiding" through limited private types, and reusability and modifiability are added by making the package generic. For scientific software, this generic package is as reusable as package Standard.
/lp/association-for-computing-machinery/a-reusable-ada-package-for-scientific-dimensional-integrity-veo8Blid70