Award Abstract # 1343033
EAGER: Ecosystem Modeling for Infrastructure Evaluation

NSF Org: OAC
Office of Advanced Cyberinfrastructure (OAC)
Recipient: CLEMSON UNIVERSITY
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 2013 = $232,140.00
FY 2014 = $7,500.00

FY 2015 = $7,600.00
History of Investigator:
  • John McGregor (Principal Investigator)
    johnmc@cs.clemson.edu
Recipient Sponsored Research Office: Clemson University
201 SIKES HALL
CLEMSON
SC  US  29634-0001
(864)656-2424
Sponsor Congressional District: 03
Primary Place of Performance: Clemson University
Clemson
SC  US  29634-0001
Primary Place of Performance
Congressional District:
03
Unique Entity Identifier (UEI): H2BMNX7DSKU8
Parent UEI:
NSF Program(s): Software Institutes,
EPSCoR Co-Funding
Primary Program Source: 01001314DB NSF RESEARCH & RELATED ACTIVIT
01001415DB NSF RESEARCH & RELATED ACTIVIT

01001516DB NSF RESEARCH & RELATED ACTIVIT
Program Reference Code(s): 7433, 7916, 8004, 8005, 9150, 9251
Program Element Code(s): 800400, 915000
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.

John D. McGregor, Simone da Silva Amorim, Eduardo Santana De Almeida, Christina von Flach G. Chavez "Observing the Health of the Ecosystem Supporting the Emerging Connected Vehicle System of Systems." WDES 2015 , 2015
Simone da Silva Amorim, John D. McGregor, Eduardo Santana de Almeida, Christina von Flach G. Chavez "Tailoring the ATAM for Software Ecosystems." ECSA 2015 , 2015 , p.372

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.

Print this page

Back to Top of page