skip to main content
OSTI.GOV title logo U.S. Department of Energy
Office of Scientific and Technical Information

Title: Center for Technology for Advanced Scientific Component Software

Technical Report ·
DOI:https://doi.org/10.2172/1122415· OSTI ID:1122415
 [1]
  1. Univ. of Oregon, Eugene, OR (United States)

The UO portion of the larger TASCS project was focused on the usability subproject identified in the original project proposal. The key usability issue that we tacked was that of supporting legacy code developers in migrating to a component-oriented design pattern and development model with minimal manual labor. It was observed during the lifetime of the TASCS (and previous CCA efforts) that more often than not, users would arrive with existing code that was developed previous to their exposure to component design methods. As such, they were faced with the task of both learning the CCA toolchain and at the same time, manually deconstructing and reassembling their existing code to fit the design constraints imposed by components. This was a common complaint (and occasional reason for a user to abandon components altogether), so our task was to remove this manual labor as much as possible to lessen the burden placed on the end-user when adopting components for existing codes. To accomplish this, we created a source-based static analysis tool that used code annotations to drive code generation and transformation operations. The use of code annotations is due to one of the key technical challenges facing this work programming languages are limited in the degree to which application-specific semantics can be represented in code. For example, data types are often ambiguous. The C pointer is the most common example cited in practice. Given a pointer to a location in memory, should it be interpreted as a singleton or an array. If it is to be interpreted as an array, how many dimensions does the array have? What are their extents? The annotation language that we designed and implemented addresses this ambiguity issue by allowing users to decorate their code in places where ambiguity exists in order to guide tools to interpret what the programmer really intends.

Research Organization:
Univ. of Oregon, Eugene, OR (United States)
Sponsoring Organization:
USDOE Office of Science (SC)
DOE Contract Number:
SC0001763; FC02-08ER25839
OSTI ID:
1122415
Report Number(s):
DOE/OREGON-SC0001763
Country of Publication:
United States
Language:
English