Desirable Features
and Key Decisions
the socio-technical design of plug-and-play software architectures involves major
decisions based on domain requirements to arrive at powerful tools and services:
Division of labor. the design of a “core architecture” requires extensive computer
science expertise and a close collaboration with domain experts. Data-set and
algorithm plug-ins—the “filling”—are typically provided by domain experts most
invested in the data and knowledgeable about the inner workings and utility of
different algorithms. the design of “custom tools” is best performed by domain
experts, as only they have the expertise needed to bundle different plug-ins relevant
for diverse workflows. technical manuals on how to use, improve, or extend the
“core” need to be compiled by computer scientists, while data-set, algorithm, and
tool descriptions are written by domain experts;
˲˲ ˲
under development is Dyneta, which
uses OSGi/CIShell as its core to support the study of dynamically evolving
networks. The tool is able to generate
networks corresponding to different
network models, execute a specific
event chain on them, and analyze the
interplay of network structure and
dynamics at runtime. The tool will be
used to develop a theory of spreading
in networks (such as HIV infections
and transmission of drug resistance).
An initial set of plug-ins is available
at http://egg.science.uva.nl/dynanets/
nightly/latest.
˲˲ ˲
Ease of use. as most plug-in contributions come from domain experts with limited
programming skills, non-computer scientists must be able to contribute, share, and
use plug-ins without having to write new code. What seems to work well is wizard-driven integration of algorithms and data sets, sharing of plug-ins through email
and online sites, deploying plug-ins by adding them to the “plug-in directory,” and
running them via a menu-driven user interface, as in word-processing systems and
Web browsers;
As the functionality of OSGi/CIS-hell-based software frameworks improves and the number and diversity
of data-set and algorithm plug-ins increase, so too will the capabilities of
custom macroscopes.
˲˲
Core vs. plug-ins. the “core architecture” and the plug-in filling can be implemented
as sets of plug-in bundles. Determining whether the graphical user interface,
interface menu, scheduler, and data manager should be part of the core or its filling
depends on the types of tools and services to be delivered;
outlook
Instead of working at the Library of
Alexandria, the Large Hadron Collider, or any of the world’s largest
optical telescopes, many researchers
have embraced Web 2.0 technology
as a way to access and share images
and videos, along with data sets, algorithms, and tools. They are learning to navigate, manage, and utilize
the massive amounts of new data
(streams), tools, services, results, and
expertise that become available every
moment of every day. Computer scientists can help make this a productive experience by empowering biologists, physicists, social scientists,
and others to share, reuse, combine,
ponent framework based on the OSGi incubator.apache.org/uima); the da- and extend existing algorithms and
standard ( https://wiki.ncsa.uiuc.edu/ ta-mining, machine-learning, classi- tools across disciplinary and geospa-
display/MAE/OSGI+Plug-ins). fication, visualization toolset WEKA tial boundaries in support of scien-
˲˲ ˲
Plug-in content and interfaces. Should a plug-in be a single algorithm or an entire
tool? What about data converters needed to make the output of one algorithm
compatible with the input of another algorithm? Should they be part of the
algorithm plug-in? Should they be packaged separately? What general interfaces
are needed to communicate parameter settings, input, and output data? answers
are domain-specific, depending on existing tools and practices and the problems
domain experts aim to solve;
˲˲ ˲
Supported (central) data models. Some tools (such as Cytoscape) use a central data
model to which all algorithms conform. Others (such as n WB and Sci2) support
many internal data models and provide an extensive set of data converters. the
former often speeds execution and visual rendering, and the latter eases integration
of new algorithms. in addition, most tools support an extensive set of input and
output formats, since a tool that cannot read or write a desired data format is usually
of little use by domain experts; and
Supported platforms. Many domain experts are used to standalone tools (like MS
˲˲ ˲
Office and adobe products) running on a specific operating system. a different
deployment (such as Web services) is necessary if the software is to be used via Web
interfaces.
˲˲ TEX Trend ( http://textrend.org). Led ( http://cs.waikato.ac.nz/ml/weka); tific discovery, product development,
by George Kampis at Eötvös Loránd Cytoscape; Arff2xgmml converter; R and education. Computer scientists
University, Budapest, Hungary, this ( http://r-project.org) via iGgraph and will have succeeded in the design of
E.U.-funded project is developing a scripts ( http://igraph.sourceforge. the “core architecture” if they are not
framework for flexible integration, net); yEd ( http://yworks.com); and the needed for the filling or bundling of
configuration, and extension of plug- CFinder clique percolation-analysis- components into custom tools.
in-based components in support of and-visualization tool ( http://cfinder.Th e Cyberinfrastructure for Net-natural-language processing, classifi- org). In addition, TEXTrend extended work Science Center ( http://cns.iu.edu)
cation/mining, and graph algorithms CIShell’s workflow support and now at Indiana University is working on
for analysis of business and govern- offers Web services to researchers. the following OSGi/CIShell core ex-mental text corpuses with an inher- ˲˲ DynaNets ( http://www.dynanets.org). tensions, as well as on more effective
ently temporal component.13 In 2009, Coordinated by Peter M.A. Sloot at the means for sharing data sets and algo-TEXTrend adopted OSGi/CIShell as University of Amsterdam, The Nether- rithms via scholarly markets:
its core architecture and has since lands, DynaNets is an E.U.-funded proj- Modularity. The OSGi/CIShell core
added a number of plug-ins, includ- ect for studying and developing a new supports modularity at the algorithm
ing: the Unstructured Information paradigm of computing that employs level but not at the visualization level.
Management Architecture (http:// complex networks. One related tool Like the decomposition of workflows