Press Archive

Speeding Scientific Workflows: The Open-Source Kepler Project

New Tool Automates Scientists' Tasks and Aids Collaboration

Published 05/03/2005

By Paul Tooby
SDSC Senior Science Writer

The advent of the World Wide Web has brought a whole new world of data, tools, and online services within the reach of scientists. But this wealth of opportunities also brings a new set of challenges, and scientists can be overwhelmed by the sheer volume and variety of resources. To overcome this problem, researchers are developing a user-friendly workflow tool that can organize and automate scientific tasks, helping scientists take full advantage of today's complex software and Web services.

Named Kepler, after the Ptolemy software on which it is built, the new tool is part of the emerging cyberinfrastructure, or integrated technologies for doing today's science. Kepler is the product of an open source collaboration initiated by researchers at the San Diego Supercomputer Center at UC San Diego and the Ecoinformatics Center at UC Santa Barbara, who are part of the Science Environment for Ecological Knowledge project, known as SEEK. Kepler has now grown to include more than half a dozen scientific projects. Kepler will soon be released in beta version 1.0, and downloads and more information can be found at http://kepler-project.org/.

"With Kepler, scientists from many disciplines can automate complex workflows, without having to become expert programmers," said Bertram Ludäscher, one of the initiators of the Kepler project and an associate professor of Computer Science at UC Davis and SDSC Fellow of the San Diego Supercomputer Center. "Kepler's flexibility and its visual programming interface make it easy for scientists to create both low-level 'plumbing workflows' to move data around and start jobs on remote computers, as well as high-level data analysis pipelines that chain together standard or custom algorithms from different scientific domains."

In its simplest form, Kepler may be thought of as a sort of "scientific robot" that relieves researchers of repetitive tasks so that they can focus on their science. In addition to increasing the efficiency of scientists' own workflows, Kepler will also give researchers increased capabilities to communicate and work together - searching for, integrating, and sharing data and workflows in large-scale collaborative environments.

An important factor in ensuring that Kepler will be broadly useful across multiple scientific disciplines is its organization as an open source consortium. Participants in an open source project collaborate in building, maintaining, and peer-reviewing a common software tool. The source code is made publicly available without charge, and those who use the software are encouraged to contribute to its development - finding and fixing errors and adding new features that benefit the entire community. The Linux operating system is the best-known example of open source software.

"The fact that Kepler is open source encourages researchers to join the collaboration and build their own components, leveraging the infrastructure, and providing the vitality of a community approach to more rapidly extend Kepler's capabilities," said Ilkay Altintas, director of SDSC's Scientific Workflow Automation Technologies lab, which brings together scientific workflow efforts at SDSC under one umbrella. Researchers interested in scientific workflow technologies are invited to contact the lab to learn more.

Scientific Workflows
In using software and online resources, scientists typically carry out tasks involving the design and execution of a series of steps, or workflow. A researcher begins by identifying and accessing initial data sets, and proceeds through additional steps using software tools such as Web services, modeling and simulation programs, image processing programs, and visualization software. Each of these steps progressively transforms the initial data, and scientists need to keep track of what was done and why. Adding to the complexity, researchers are often attempting to run quantitative and repeatable analyses and models in more than one software and hardware environment.

Examples of scientific workflows can be found in many fields. To advance genomic research, biologists in the Scientific Discovery through Advanced Computing Program at the Department of Energy study co-regulated genes. In their research, they try to identify promoter genes and develop models of transcription factor binding sites that play key roles in the expression of genes. The scientists are using Kepler to help execute a series of data analysis and querying steps in which they move the results of each successive step from one Web resource to another. By automating these steps, the researchers can save hours or days of time, speeding their results, and allowing them to undertake problems on larger scales than previously possible.

Ecologists in the Science Environment for Ecological Knowledge project, which initiated Kepler, study invasive diseases such the the West Nile virus. West Nile virus is spread through mosquitos feeding on migrating birds in a complex dual-vector process. The researchers develop predictions for where and how fast this kind of disease will spread. To do this, ecologists access online data sets about where the mosquitoes and birds are observed to live and migrate. Then they use Web-based ecological niche modeling tools to correlate this information with climate data, computing predictions for where the birds and mosquitos are likely to be found. Automating these steps with Kepler can make it feasible to produce accurate predictions for the spread of an invasive disease far more quickly than previously possible. Automating workflows can yield similar benefits in a wide range of other scientific fields.

Toward a Generic Tool
When scientists search for relevant data sources and then undertake multi-step workflows, they must typically carry out and keep track of these complex steps in manual, ad hoc ways as they export and import data from one step to another across diverse environments. As a first step toward automating these tasks, scientists and computer scientists may collaborate on building a custom workflow tool. But this is an expensive and time-consuming process in which the software must generally be developed and maintained in an individual effort for each application.

To overcome these limitations, the Kepler initiative is developing a generic tool and environment that builds on existing technologies and will work in a wide range of applications to capture, automate, and manage researchers' actions as they carry out scientific workflows. The initial effort has brought together computer scientists with domain scientists in the disciplines of ecology, biology, chemistry, oceanography, and the geosciences.

"With Kepler, we're giving scientists an intuitive tool that they can use to build their own workflows, which can include emerging Grid-based approaches to distributed computation," said Kepler co-initiator Matt Jones, a co-principal investigator and project manager for the large National Science Foundation Science Environment for Ecological Knowledge project, which initiated the Kepler effort to meet the need for an analytical workflow system. "And in order to build a workflow environment that is effective across multiple domains of science, we're working with a growing range of projects to ensure the widest possible usefulness of the infrastructure."

In addition to the Ptolemy project described below, which serves as the framework for Kepler, the collaboration currently includes the following projects that span a range of scientific fields:

  • Ecology: the NSF Science Environment for Ecological Knowledge, or SEEK

  • Biology: Scientific Discovery through Advanced Computing Program, or SciDAC, in the Department of Energy, and the NSF Encyclopedia of Life project, or EOL

  • Geosciences: the NSF GEON project, building a cyberinfrastructure for the geosciences

  • Environmental science and sensor networks: the NSF Real-time Observatories, Applications, and Data management Network project, or ROADNet

  • Computational chemistry: the NSF RESearch sURGe ENabled by CyberinfrastructurE project, or RESURGENCE

  • Data mining tools: the SDSC Knowledge and Information Discovery Lab, or SKIDL

  • Distributed data integration: National Laboratory for Advanced Data Research, or NLADR, a collaboration between SDSC and the National Computational Science Alliance, or NCSA.

Kepler is used in a wide variety of ways in these projects. In the Encyclopedia of Life project at SDSC, for example, the integrated Genome Annotation Pipeline software uses the AppLeS (Application Level Scheduling) Parameter Sweep Template in month-long grid computing jobs that would be far more difficult without a workflow tool. First, Kepler prepares the databases and submits the computing jobs. Then it continues in a monitoring mode that checks on the execution and updates the corresponding database. In the event of a failure, the most recent update can be retrieved from the database, greatly simplifying recovery. Kepler also makes it easy for scientists to execute a new task simply by double-clicking on and changing the parameters of an existing task.

Leveraging Existing Technology
To explore whether they could build on existing technologies, the Kepler team surveyed available tools. Ptolemy, a project of the Center for Hybrid and Embedded Software Systems led by Professor Edward Lee of UC Berkeley, focuses on modeling, simulation, and design of concurrent, real-time embedded computing systems. The Kepler team realized that although Ptolemy had been developed for a very different purpose, it had capabilities that would provide a mature platform for the needs of Kepler in designing and executing scientific workflows. Ptolemy II, published as open source software, is the current base version of the Kepler infrastructure.

Ptolemy provides a set of Java language packages that support heterogeneous, concurrent modeling, design, and execution. Among Ptolemy's strengths are support for a number of precisely-defined models of computation such as streaming, and a concurrent dataflow paradigm for process networks that is appropriate for modeling and executing many scientific workflows. Ptolemy's programming approach is activity-based, or "actor-oriented" in Ptolemy terminology, which makes it easier to design the reusable components that scientists need. Ptolemy also has an intuitive graphical user interface called Vergil that allows users to compose complex workflows simply by stringing together individual actors, linking them according to the flow of data, and nesting them to represent desired levels of abstraction. In addition to Ptolemy's considerable built-in capabilities, which include more than 100 actors (or processing components) and directors (or workflow engines), the Kepler collaborators are continually adding new ones that extend the system, and have already contributed more than 100 additional actors.

Automation Challenges
To capture the actions that scientists carry out in conducting their research and to automate these steps, the flow of data from one analytical step to another is described in Kepler in a formal, computer-readable workflow language. Among technical issues the researchers are facing in developing Kepler are:

  • choosing or developing languages that are suitable for representing scientific workflows

  • identifying factors that improve interoperability, or the ability to connect and work together, among multiple scientific workflow environments, including Kepler, Taverna, Triana, SCIRun, DiscoveryNet, GeoVista Studio, and others

  • managing heterogeneous mixtures of models of computation, including controlling space, time, and context

  • handling distributed computation and code migration in scientific workflows

  • facilitating the efficient use of existing scientific codes in workflow environments

  • ensuring usability of the Kepler interface for the diverse group of scientists adopting Kepler.
    As they resolve these technical challenges, Kepler developers must work closely with domain scientists in order to ensure that the resulting software meets the scientist's needs.

Enhancing Collaboration
Beyond automating the steps of a given project, workflows captured in Kepler are intended to promote communication and collaboration for scientists in diverse domains - a crucial capability for today's large-scale interdisciplinary collaborations. "Through its systematic approach to scientific workflows, Kepler can fulfill the important function of publishing analyses, models, data transformation programs, and derived data sets," said Kepler co-initiator Jones. "This gives scientists a way to track the provenance of derived data sets produced through workflow transformations, which is essential to being able to identify appropriate data sets for integration and further research."

In addition to distributing new Kepler actors that automate specific tasks, scientists can publish the results of workflows, storing the formal workflow descriptions of the steps carried out in a Web-accessible repository such as one of the metadata catalogs that are part of the SEEK EcoGrid. Kepler developers are working on extensions that will allow scientists to easily publish their workflows and share them with colleagues in flexible ways.

Future directions for Kepler include adding expanded semantic capabilities, such as the ability for domain-specific ontologies to act as "semantic types," which will let scientists use the concepts of their own fields to search for and discover data and services, link to, and integrate data sets in both local and distributed grid environments. Scientists are also interested in the potential of Kepler and related tools to power comprehensive "science environments," which they envision will follow accelerating growth paths as scientists are rapidly and seamlessly able to find out about and build on the previous work of their own and collaborating groups. "As the Kepler environment gains momentum and becomes more robust and reliable," explains Ludäscher, "the body of resources that scientists can build upon grows larger, and more groups and scientific domains are joining this open collaboration." -Paul Tooby

Related Links

Kepler Scientific Workflow Project
Science Environment for Ecological Knowledge, SEEK
Ptolemy
Scientific Discovery through Advanced Computing Program, SciDAC
GEON Cyberinfrastructure for the Geosciences
Real-time Observatories, Applications, and Data management Network, ROADNet
The Encyclopedia of Life, EOL
SDSC Knowledge and Information Discovery Lab, SKIDL
RESearch sURGe ENabled by CyberinfrastructurE, RESURGENCE
National Laboratory for Advanced Data Research, NLADR

References
A Modeling and Execution Environment for Distributed Scientific Workflows, I. Altintas, S. Bhagwanani, D. Buttler, S. Chandra, Z. Cheng, M. Coleman, T. Critchlow, A. Gupta, W. Han, L. Liu, B. Ludäscher, C. Pu, R. Moore, A. Shoshani, and M. Vouk, Scientific and Statistical Database Management (SSDBM), 2003.

Kepler: An Extensible System for Design and Execution of Scientific Workflows, I. Altintas, C. Berkley, E. Jaeger, M. Jones, B. Ludäscher, S. Mock, 16th Intl. Conference on Scientific and Statistical Database Management (SSDBM), Santorini Island, Greece, June 2004.

Kepler: Towards a Grid-Enabled System for Scientific Workflows, I. Altintas, C. Berkley, E. Jaeger, M. Jones, B. Ludäscher, S. Mock, Workflow in Grid Systems Workshop in GGF10, The Tenth Global Grid Forum, Berlin, Germany, March 2004.

Scientific Workflow Management and the Kepler System, B. Ludäscher, I. Altintas, C. Berkley, D. Higgins, E. Jaeger, M. Jones, E. A. Lee, J. Tao, Y. Zhao, submitted for journal