Loading…
An Ada (Trade Name) Package for Dimensional Analysis
This paper illustrates the use of Ada's abstraction facilities- notably operator overloading and type parameterization-to define an oft- requested feature: a way to attribute units of measure to variable and values. The definition given allows the programmer to specify units of measure for vari...
Saved in:
Main Author: | |
---|---|
Format: | Report |
Language: | English |
Subjects: | |
Online Access: | Request full text |
Tags: |
Add Tag
No Tags, Be the first to tag this record!
|
cited_by | |
---|---|
cites | |
container_end_page | |
container_issue | |
container_start_page | |
container_title | |
container_volume | |
creator | Hilfinger, Paul N |
description | This paper illustrates the use of Ada's abstraction facilities- notably operator overloading and type parameterization-to define an oft- requested feature: a way to attribute units of measure to variable and values. The definition given allows the programmer to specify units of measure for variables, constants, and parameters; checks uses of these entities for dimensional consistency; allows arithmetic between them, where legal; and provides scale conversions between commensurate units. It is not constrained to a particular system of measurement (such as the metric or English systems.) While the definition is in standard Ada and requires nothing special of the compiler, certain reasonable design choices in the compiler, discussed here at some length, can make its implementation particularly efficient. Dimensional analysis is a consistency check common in scientific and engineering computations. It consists of verifying that uses of numerical quantities conform to their declared units of measure-for example, that measures of length are not added to measures of time and that quotients of distance and time are treated as velocities. In many ways, dimensional analysis resembles strong typing, as found in Ada and other modern programming languages. |
format | report |
fullrecord | <record><control><sourceid>dtic_1RU</sourceid><recordid>TN_cdi_dtic_stinet_ADA169223</recordid><sourceformat>XML</sourceformat><sourcesystem>PC</sourcesystem><sourcerecordid>ADA169223</sourcerecordid><originalsourceid>FETCH-dtic_stinet_ADA1692233</originalsourceid><addsrcrecordid>eNrjZDBxzFNwTElU0AgpSkxJVfBLzE3VVAhITM5OTE9VSMsvUnDJzE3NK87Mz0vMUXAEEpXFmcU8DKxpiTnFqbxQmptBxs01xNlDN6UkMzm-uCQzL7Uk3tHF0dDM0sjI2JiANACrdChG</addsrcrecordid><sourcetype>Open Access Repository</sourcetype><iscdi>true</iscdi><recordtype>report</recordtype></control><display><type>report</type><title>An Ada (Trade Name) Package for Dimensional Analysis</title><source>DTIC Technical Reports</source><creator>Hilfinger, Paul N</creator><creatorcontrib>Hilfinger, Paul N ; CALIFORNIA UNIV BERKELEY COMPUTER SCIENCE DIV</creatorcontrib><description>This paper illustrates the use of Ada's abstraction facilities- notably operator overloading and type parameterization-to define an oft- requested feature: a way to attribute units of measure to variable and values. The definition given allows the programmer to specify units of measure for variables, constants, and parameters; checks uses of these entities for dimensional consistency; allows arithmetic between them, where legal; and provides scale conversions between commensurate units. It is not constrained to a particular system of measurement (such as the metric or English systems.) While the definition is in standard Ada and requires nothing special of the compiler, certain reasonable design choices in the compiler, discussed here at some length, can make its implementation particularly efficient. Dimensional analysis is a consistency check common in scientific and engineering computations. It consists of verifying that uses of numerical quantities conform to their declared units of measure-for example, that measures of length are not added to measures of time and that quotients of distance and time are treated as velocities. In many ways, dimensional analysis resembles strong typing, as found in Ada and other modern programming languages.</description><language>eng</language><subject>Ada programming language ; COMPILERS ; COMPUTATIONS ; COMPUTER PROGRAM VERIFICATION ; COMPUTER PROGRAMMING ; Computer Programming and Software ; CONSISTENCY ; CONVERSION ; MEASUREMENT ; NUMERICAL ANALYSIS ; PROGRAMMING LANGUAGES ; QUANTITY ; SCALE ; SIZES(DIMENSIONS) ; VALUE ; VARIABLES</subject><creationdate>1984</creationdate><rights>Approved for public release; distribution is unlimited.</rights><oa>free_for_read</oa><woscitedreferencessubscribed>false</woscitedreferencessubscribed></display><links><openurl>$$Topenurl_article</openurl><openurlfulltext>$$Topenurlfull_article</openurlfulltext><thumbnail>$$Tsyndetics_thumb_exl</thumbnail><link.rule.ids>230,776,881,27543,27544</link.rule.ids><linktorsrc>$$Uhttps://apps.dtic.mil/sti/citations/ADA169223$$EView_record_in_DTIC$$FView_record_in_$$GDTIC$$Hfree_for_read</linktorsrc></links><search><creatorcontrib>Hilfinger, Paul N</creatorcontrib><creatorcontrib>CALIFORNIA UNIV BERKELEY COMPUTER SCIENCE DIV</creatorcontrib><title>An Ada (Trade Name) Package for Dimensional Analysis</title><description>This paper illustrates the use of Ada's abstraction facilities- notably operator overloading and type parameterization-to define an oft- requested feature: a way to attribute units of measure to variable and values. The definition given allows the programmer to specify units of measure for variables, constants, and parameters; checks uses of these entities for dimensional consistency; allows arithmetic between them, where legal; and provides scale conversions between commensurate units. It is not constrained to a particular system of measurement (such as the metric or English systems.) While the definition is in standard Ada and requires nothing special of the compiler, certain reasonable design choices in the compiler, discussed here at some length, can make its implementation particularly efficient. Dimensional analysis is a consistency check common in scientific and engineering computations. It consists of verifying that uses of numerical quantities conform to their declared units of measure-for example, that measures of length are not added to measures of time and that quotients of distance and time are treated as velocities. In many ways, dimensional analysis resembles strong typing, as found in Ada and other modern programming languages.</description><subject>Ada programming language</subject><subject>COMPILERS</subject><subject>COMPUTATIONS</subject><subject>COMPUTER PROGRAM VERIFICATION</subject><subject>COMPUTER PROGRAMMING</subject><subject>Computer Programming and Software</subject><subject>CONSISTENCY</subject><subject>CONVERSION</subject><subject>MEASUREMENT</subject><subject>NUMERICAL ANALYSIS</subject><subject>PROGRAMMING LANGUAGES</subject><subject>QUANTITY</subject><subject>SCALE</subject><subject>SIZES(DIMENSIONS)</subject><subject>VALUE</subject><subject>VARIABLES</subject><fulltext>true</fulltext><rsrctype>report</rsrctype><creationdate>1984</creationdate><recordtype>report</recordtype><sourceid>1RU</sourceid><recordid>eNrjZDBxzFNwTElU0AgpSkxJVfBLzE3VVAhITM5OTE9VSMsvUnDJzE3NK87Mz0vMUXAEEpXFmcU8DKxpiTnFqbxQmptBxs01xNlDN6UkMzm-uCQzL7Uk3tHF0dDM0sjI2JiANACrdChG</recordid><startdate>198401</startdate><enddate>198401</enddate><creator>Hilfinger, Paul N</creator><scope>1RU</scope><scope>BHM</scope></search><sort><creationdate>198401</creationdate><title>An Ada (Trade Name) Package for Dimensional Analysis</title><author>Hilfinger, Paul N</author></sort><facets><frbrtype>5</frbrtype><frbrgroupid>cdi_FETCH-dtic_stinet_ADA1692233</frbrgroupid><rsrctype>reports</rsrctype><prefilter>reports</prefilter><language>eng</language><creationdate>1984</creationdate><topic>Ada programming language</topic><topic>COMPILERS</topic><topic>COMPUTATIONS</topic><topic>COMPUTER PROGRAM VERIFICATION</topic><topic>COMPUTER PROGRAMMING</topic><topic>Computer Programming and Software</topic><topic>CONSISTENCY</topic><topic>CONVERSION</topic><topic>MEASUREMENT</topic><topic>NUMERICAL ANALYSIS</topic><topic>PROGRAMMING LANGUAGES</topic><topic>QUANTITY</topic><topic>SCALE</topic><topic>SIZES(DIMENSIONS)</topic><topic>VALUE</topic><topic>VARIABLES</topic><toplevel>online_resources</toplevel><creatorcontrib>Hilfinger, Paul N</creatorcontrib><creatorcontrib>CALIFORNIA UNIV BERKELEY COMPUTER SCIENCE DIV</creatorcontrib><collection>DTIC Technical Reports</collection><collection>DTIC STINET</collection></facets><delivery><delcategory>Remote Search Resource</delcategory><fulltext>fulltext_linktorsrc</fulltext></delivery><addata><au>Hilfinger, Paul N</au><aucorp>CALIFORNIA UNIV BERKELEY COMPUTER SCIENCE DIV</aucorp><format>book</format><genre>unknown</genre><ristype>RPRT</ristype><btitle>An Ada (Trade Name) Package for Dimensional Analysis</btitle><date>1984-01</date><risdate>1984</risdate><abstract>This paper illustrates the use of Ada's abstraction facilities- notably operator overloading and type parameterization-to define an oft- requested feature: a way to attribute units of measure to variable and values. The definition given allows the programmer to specify units of measure for variables, constants, and parameters; checks uses of these entities for dimensional consistency; allows arithmetic between them, where legal; and provides scale conversions between commensurate units. It is not constrained to a particular system of measurement (such as the metric or English systems.) While the definition is in standard Ada and requires nothing special of the compiler, certain reasonable design choices in the compiler, discussed here at some length, can make its implementation particularly efficient. Dimensional analysis is a consistency check common in scientific and engineering computations. It consists of verifying that uses of numerical quantities conform to their declared units of measure-for example, that measures of length are not added to measures of time and that quotients of distance and time are treated as velocities. In many ways, dimensional analysis resembles strong typing, as found in Ada and other modern programming languages.</abstract><oa>free_for_read</oa></addata></record> |
fulltext | fulltext_linktorsrc |
identifier | |
ispartof | |
issn | |
language | eng |
recordid | cdi_dtic_stinet_ADA169223 |
source | DTIC Technical Reports |
subjects | Ada programming language COMPILERS COMPUTATIONS COMPUTER PROGRAM VERIFICATION COMPUTER PROGRAMMING Computer Programming and Software CONSISTENCY CONVERSION MEASUREMENT NUMERICAL ANALYSIS PROGRAMMING LANGUAGES QUANTITY SCALE SIZES(DIMENSIONS) VALUE VARIABLES |
title | An Ada (Trade Name) Package for Dimensional Analysis |
url | http://sfxeu10.hosted.exlibrisgroup.com/loughborough?ctx_ver=Z39.88-2004&ctx_enc=info:ofi/enc:UTF-8&ctx_tim=2025-02-24T12%3A30%3A44IST&url_ver=Z39.88-2004&url_ctx_fmt=infofi/fmt:kev:mtx:ctx&rfr_id=info:sid/primo.exlibrisgroup.com:primo3-Article-dtic_1RU&rft_val_fmt=info:ofi/fmt:kev:mtx:book&rft.genre=unknown&rft.btitle=An%20Ada%20(Trade%20Name)%20Package%20for%20Dimensional%20Analysis&rft.au=Hilfinger,%20Paul%20N&rft.aucorp=CALIFORNIA%20UNIV%20BERKELEY%20COMPUTER%20SCIENCE%20DIV&rft.date=1984-01&rft_id=info:doi/&rft_dat=%3Cdtic_1RU%3EADA169223%3C/dtic_1RU%3E%3Cgrp_id%3Ecdi_FETCH-dtic_stinet_ADA1692233%3C/grp_id%3E%3Coa%3E%3C/oa%3E%3Curl%3E%3C/url%3E&rft_id=info:oai/&rft_id=info:pmid/&rfr_iscdi=true |