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.
|