James D.
              Herbsleb

James D. Herbsleb

Director, PhD Program in Societal Computing
Professor, Institute for Software Research
School of Computer Science
Carnegie Mellon University


Research

Major research areas:
Architecting Socio-Technical Ecosystems
Coordination and the Limits of Modularity
Sharing and Co-creation of Scientific Software

Architecting Socio-Technical Ecosystems
Platform-based ecosystems are becoming engines of innovation in many technology domains.  From mobile devices to automotive systems to development tools, firms collaborating and competing with one another have rapidly developed and fielded an astounding variety of applications. 

Such complex socio-technical systems have several key, highly-interrelated dimensions:

  • technical platforms that support straightforward integration of contributions from many participants, and allow easy configuration of systems from these components that meet the needs of particular users
  • collaborative infrastructure that may consist of tools such as mailing lists, wikis, and social networking platforms, in order to share essential technical, task, and social information
  • viable business opportunities that can attract resources in the dynamic and complex context of multi-sided markets, “co-opetition” (competing and complementing), and powerful network effects
  • a governance regime that allocates decision-making to different types of participants such as platform owners, vendors, users, service providers, and developers.  The regime must keep the ecosystem from splintering and exercise stewardship of common resources, yet provide openness and flexibility to foster innovation

We are examining the inter-relationships of these diminsions in a number of ecosystems, inluding open source distributions of the Department of Veteran's Affairs VistA electronic health records, as well as Eclipse, Apache, Mozilla, and Gnome.

Click here for relevant publications.


Coordination and the Limits of Modularity
Modularity -- designing a system as a set of components that interact in limited and well-understood ways, according to "design rules" -- has long been one of the central ideas in system design.  The fundamental goal of a modular design is to create a modular task structure so that teams can work relatively independently.

The dynamism of software projects severely limits the effectiveness of this approach.  Inevitably, requirements change or become known only gradually over time.  Designs change as unanticpated features are added.  Interfaces change as a product evolves.  For all these reasons, modularity as a solution for coordination in software has severe limits. 

We have been addressing these issues

  • developing and validating agorithms to automatically and dynamically compute coordination requirements, i.e., who must coordinate with whom to accomplish a task
  • building tools help developers and managers maintain awareness of the volatile coordination needs of a project
  • developing a theory of decision networks in which a modular decision structure is just a specific case among other structures that can be recognized and addressed
  • moving toward a concept of interface translucence, which presents targeted information about change and evolution in abstracted, aggregated, and filtered ways, avoiding information overload
Click here for relevant publications.
Sharing and Co-creation of Scientific Software
Science depends on software. From configuration and control of instruments, to statistical analysis, simulation and visualization, virtually every workflow that generates scientific results involves software. 

In new research supported by an NSF VOSS award, we are examining existing practices of software development, co-creation and sharing in collaborative science.  With the support of domain scientists, we are examining several exemplary VOs that use the computational resources of the Open Science Grid.  These VOs assemble diverse stacks of software, some created in-house and others created through domain-specific or science-wide infrastructure projects.  We are exploring the software ecology of the Grid, beginning with software that runs on the grid and its architecture, and extending to understand where it came from and how and when sharing and co-creation happen.  We are also extending theories of architectural alignment to this domain, in order to deepen our understanding of socio-technical ecosystems and to provide practical insights on how scientific communities can most effectively produce the software on which their work depends.

Click here for relevant publications.












James D. Herbsleb's bio page, ISR, SIC, SCS, CMU

© 2006-2013 James D. Herbsleb.
Site by ABWebworks.