Authors:
Steve McKeever
;
Görkem Paçaci
and
Oscar Bennich-Björkman
Affiliation:
Department of Informatics and Media, Uppsala University and Sweden
Keyword(s):
Units of Measurement, Units Checking, Unit Libraries, Quantity Pattern.
Related
Ontology
Subjects/Areas/Topics:
Applications and Software Development
;
Component-Based Software Engineering
;
Domain-Specific Modeling and Domain-Specific Languages
;
Executable UML
;
Languages, Tools and Architectures
;
Model Execution and Simulation
;
Model-Driven Software Development
;
Models
;
Paradigm Trends
;
Software Engineering
Abstract:
Unit errors are known to have caused some costly software engineering disasters, most notably the Mars Climate Orbiter back in 1999. As unit annotations are not mandatory for execution only dramatic events become newsworthy. Anecdotally however, there is evidence to suggest that these kinds of errors are recurrent and under-reported. There are an abundance of tools and most notably libraries to aid scientific developers manage unit definitions. In this paper we look in detail at how a number of prominent libraries in the most popular programming languages support units. We argue that even when these libraries are based on a sound design pattern, their implementation becomes too broad. Each library is distinct with varying features, lacking a core API, compromising both interoperability and thereby usage. We claim that further library or tool development is not needed to further adoption, but that a greater understanding of developers requirements is.