Below is the template for the conceptual design report that will be used to launch the DOE Systems Biology Knowledgebase (Kbase). This living document will change as input is obtained from the workshops and from you, the community, and as pilot projects are initiated and completed.
This report will be completed and posted on September 30, 2010.
(To provide input, comments, etc., click on the Section.)
Draft Outline of Conceptual Design Report
-
- Vision: Kbase provides a computational environment for researchers to contribute data and analysis methods to model dynamic cellular systems at a high level of accuracy and, by extension, many of these systems within a cell and within a community of cells and organisms, all interacting with their environment. Ultimately, Kbase will allow users to perturb a cellular system and observe the result.
- Detailed scientific objectives and how Kbase provides a solution: What systems biology problems will Kbase address? (from science workshops)
- Requirements
- Use cases: Comprehensive usage examples to meet scientific objective. Scenarios or vignettes; provide scenarios that tie multiple use cases together (an end-to-end picture that meets science objective) (from science workshops)
- Which scientific objective(s) and scenario(s) will be addressed first, and which will be addressed thereafter?
- What data would be contributed?
- What analysis methods exist or need to be developed?
- What kind of hardware will be needed?
- System architectural details
- Available tools to implement Kbase
- Software
- Databases
- Hardware
- Relevant architectural approaches
- Successful open development methodologies
- Existing systems such as IMG, RAST, CAMERA
- Community de facto tools and databases available from organizations
- Gaps in existing tools and hardware
- Data management, modeling, and representation
- Distributed computing model
- Architectural strategies and decisions that affect the overall organization of Kbase. These include things such as:
- Programming languages, database systems, libraries, etc. to be supported.
- Reuse of existing software components to implement various parts/features of the system (which tools listed in 3.1.1 and 3.1.2 above).
- Data and software synchronization across sites if a distributed model is embraced. External databases vs. local copies.
- User interface paradigms (web, thin clients, thick clients, others?).
- How the system is divided up into subsystems, what is unique to each subsystem, and which elements of the subsystems are shared.
- How will subsequent scientific objectives and scenarios affect the Kbase architecture?
- Design (this is distinct from governance in that governance decides what, the design indicates how)
- How would data be contributed?
- How would new types of data be contributed?
- How would new analysis methods be contributed?
- How would Kbase be modified and improved?
- Implementation Plan [include elements of software project management (PM), software configuration management (CM), and software quality assurance (SQA)]
- Review specific scientific objective and scenarios will be addressed.
- Process by which Kbase will be implemented (PM).
- How will it be operated?
- How will it be maintained?
- How will software be tested (testing strategy SQA)?
- What will the change process look like, and how will the change control and bug tracking be implemented (CM)?
- How will software be compiled, deployed, and released (deployment and release strategy CM)?
- Governance Model – Governance in the enterprise software domain of Kbase can be thought of as the development and enforcement of policies and procedures. Policies in this context can be thought of as design decisions combined with enforcement. Since a primary goal of a good architecture is to define a modular system and well-defined abstractions, choices that are made along the way in this regard need a level of enforcement. Governance starts with a vision of what the governance process will accomplish. This vision should be a collective effort of the people who will use, design, build, and pay for Kbase. Most of all, tolerance must be the social norm in the Kbase governance model.
- Define a tolerant governance model.
- Define a board of review that will be responsible for the development, maintenance, and change of policies.
- Develop an interoperability framework that discusses standards are the basis of interoperability and the details of these standards.
- An interoperability framework should list the standards that Kbase will use, point to reference information, and indicate the status of the choice (such as approved,
de facto, emerging, sustained, being phased out, being phased in, etc.)
- A standard that has a status of 'sustained' is a special case where although a newer standard or alternative standard has been chosen, the sustained standard will be supported by Kbase.
- Identify centers of excellence within the community that can support governance and interoperability standards.
- Define different classes of participants (i.e.,users, developers, committers, subproject managers)and their roles in the open Kbase development process, in governance, in project management, etc.
- Define a governance process that will produce policies, xml schemas, wsdl documents, ontologies, and other artifacts that must be distributed to the Kbase community of users, developers, etc.
- Make the products of governance searchable, versioned,and easily referenced (URI). And in many cases, make the products of governance machine-readable.
- How and where will we create a registry of governance artifacts? If using Netbeans or Eclipse, does a plug-in exist that links the registry to the IDE?
- What tools are available to automate as much of the governance process as possible?
- On the issue of enforcement or compliance
- Role of PM team to keep subprojects compliant
- Role of executive team to keep project compliant
- Link funding and compliance where possible
- What are the corrective actions when a part of a subsystem or system is found to be non-compliant?
- How are exceptions to policy handled and supported?
- Transition from largely independent efforts to community working together.
- Principles: open contribution, open development.
- Editorial organization and process.
- Deciding which data and data types are to be contributed (proposed by users…).
- Deciding which new analysis methods are to be contributed (proposed by users…).
- Deciding which standards to endorse (proposed by users…).
- How to keep the Kbase user community engaged in the software development life cycle and invested in it so they feel some ownership of success. Who are the enthusiastic communities?
- Appendices
- Workshop Report
- Supercomputing
- Plant and Animal Genome
- DOE Genomic Science PI Meeting
- JGI User Meeting
- Knowledgebase Systems Development
- Specific scientific objectives from the workshops or proposed by others. Rather than include multiple examples in the main document, each example will have its own section.
- Technical software engineering documents
|