
NSF Org: |
OAC Office of Advanced Cyberinfrastructure (OAC) |
Recipient: |
|
Initial Amendment Date: | July 26, 2013 |
Latest Amendment Date: | February 27, 2015 |
Award Number: | 1343033 |
Award Instrument: | Standard Grant |
Program Manager: |
Rajiv Ramnath
OAC Office of Advanced Cyberinfrastructure (OAC) CSE Directorate for Computer and Information Science and Engineering |
Start Date: | August 1, 2013 |
End Date: | July 31, 2016 (Estimated) |
Total Intended Award Amount: | $232,140.00 |
Total Awarded Amount to Date: | $247,240.00 |
Funds Obligated to Date: |
FY 2014 = $7,500.00 FY 2015 = $7,600.00 |
History of Investigator: |
|
Recipient Sponsored Research Office: |
201 SIKES HALL CLEMSON SC US 29634-0001 (864)656-2424 |
Sponsor Congressional District: |
|
Primary Place of Performance: |
Clemson SC US 29634-0001 |
Primary Place of
Performance Congressional District: |
|
Unique Entity Identifier (UEI): |
|
Parent UEI: |
|
NSF Program(s): |
Software Institutes, EPSCoR Co-Funding |
Primary Program Source: |
01001415DB NSF RESEARCH & RELATED ACTIVIT 01001516DB NSF RESEARCH & RELATED ACTIVIT |
Program Reference Code(s): |
|
Program Element Code(s): |
|
Award Agency Code: | 4900 |
Fund Agency Code: | 4900 |
Assistance Listing Number(s): | 47.070 |
ABSTRACT
This research investigates how scientific software developers, maintainers, users, and funders interact, with the goal of maximizing the effectiveness of funds for scientific software development. The interactions among these groups are modeled and analyzed through techniques used to study ecosystems. The ecosystem analogy is being used successfully to describe the relationships among interacting entities particularly when organizations may collaborate on some activities and compete in others. These techniques support the representation and analysis of large numbers of artifacts such as the thousands of individual files integrated to form a complete software package. The relationships are diverse, so a basic graph representation is used to model the interactions. Then, a variety of algorithms are used to compute graph attributes such as betweenness centrality, from which characteristics of the relationships can be derived. This information can be used to determine certain qualities of the software, the diversity of its use, and the amount of code reused from other projects and libraries. This research will make fundamental contributions to socio-technical ecosystem methods in the form of new techniques for making decisions about the viability of an ecosystem.
The results of this research will help development managers and funding managers make effective decisions by addressing long-term viability and sustainment issues. This includes the appropriateness of specific software modules and packages for use in scientific infrastructures. New techniques for evaluating software for adoption by an organization for use or inclusion in their own products will be developed. By taking the comprehensive ecosystem approach and using graph-based quality metrics, an organization will be able to more accurately estimate the effort that will be required to initially renovate, and eventually maintain, a software component. The results will demonstrate how the developed techniques can help to manage risk in a science project, and how these techniques will result in more efficient use of resources, including federal funding.
PUBLICATIONS PRODUCED AS A RESULT OF THIS RESEARCH
Note:
When clicking on a Digital Object Identifier (DOI) number, you will be taken to an external
site maintained by the publisher. Some full text articles may not yet be available without a
charge during the embargo (administrative interval).
Some links on this page may take you to non-federal websites. Their policies may differ from
this site.
PROJECT OUTCOMES REPORT
Disclaimer
This Project Outcomes Report for the General Public is displayed verbatim as submitted by the Principal Investigator (PI) for this award. Any opinions, findings, and conclusions or recommendations expressed in this Report are those of the PI and do not necessarily reflect the views of the National Science Foundation; NSF has not approved or endorsed its content.
A software ecosystem comprises a set of software-producing organizations that collaborate on common shared behaviors and that compete on proprietary enhancements. For example, the Android smart phone market has a large number of companies that all use, and contribute to, the Android SDK and libraries to produce proprietary products. Our initial effort in this project was to apply this paradigm to the creation of scientific software. One of the issues to be addressed was sustainability of research-funded software. We compared organizations and found that certain large software projects in areas such as chemistry developed an ecosystem of university labs, government labs, and commercial organizations that sustained the software for long periods, but we also found there were some fundamental gaps of knowledge about how to build software within an ecosystem. As a result, some of our work deviated from purely scientific software and considered fundamental principles of software ecosystems.
We collected data on several rapidly growing ecosystems such as the one surrounding Hadoop, a big data processing approach, and long-lived ecosystems such as the one surrounding the Eclipse development platform. In a number of cases we took longitudinal looks at an ecosystem in terms of membership and the percentage contribution of each organization.
We used an evolving set of metrics to evaluate the health of each ecosystem. The metrics in use currently are robustness, productivity, and niche creation. When the Hadoop ecosystem was evaluated, it was clear that even as small companies left the market new startups emerged to fulfill the role vacated by the departing organization.
Our studies identified techniques for representing ecosystems, evaluating their health and tracing their evolution. Although additional study is needed over a wide variety of ecosystems, our results suggest that applying ecosystem techniques to a set of scientific software increasing the chances the software will last beyond the life of the original funding.
Last Modified: 11/01/2016
Modified by: John D Mcgregor
Please report errors in award information by writing to: awardsearch@nsf.gov.