The COSMOS Project is a project proposed incubate under the supervision of TPTP top level open source project on Eclipse.org. This proposal is in the Project Pre-Proposal Phase (as defined in the Eclipse Development Process document) and is written to declare its intent and scope. This proposal is written to solicit additional participation and input from the Eclipse community. You are invited to comment and/or join the project. Once announced, please send all feedback to the news://news.eclipse.org/Cosmos newsgroup. The project will follow the structure and guidelines as outlined by the COSMOS project charter.
In the IT industry there is a long history of tools being developed for specific roles or tasks. It has often been the case that these tools did not integrate with each other, even though they are all working with the same end resource. Systems management is no different. In the past, there have been efforts in the past to declare common API or data formats to facilitate integration and open communications. These efforts generally focused on a particular subset of resource types, execution environments, or management domain. However, the activities involved in managing the entire life cycle of an IT resource span a wide set of domains. Viewed holistically, systems management encompasses many disciplines and user roles that can be divided into several high level categories, such as:
Health monitoring
Inventory tracking
Resource modeling
Deployment modeling
Deployment
Dynamic configuration
Configuration change tracking
COSMOS is being proposed to facilitate the next evolutionary move in the integration in the area of systems management.
In the area of monitoring, be it of statistical data or trace data, many environments have been instrumented already and in these cases COSMOS will work to use existing api to access the data and then normalize it. In other cases where additional instrumentation is still required, COSMOS will provide tooling to assist in providing instrumentation. In both cases the focus will be to leverage standards where ever possible. In cases where the standards are identified to be falling short, COSMOS will advocate enhancements to the standards and not create it's own.
In the area of resource modeling, COSMOS will initially provide a validation implementation for Service Modeling Language Interchange Format (SML-IF), followed by SML-IF browser/editor.
The mission of the Eclipse COSMOS Project is to build a generic, extensible, standards-based components for a tools platform upon which software developers can create specialized, differentiated, and interoperable offerings of tools for system management.
Specifically, COSMOS targets instrumentation and data collection for the normalization and organized presentation and interaction with data resulting from system monitoring as well as resource modeling as these are cornerstones for creating interoperable tools for systems management.
Exemplary tools will also be provided to demonstrate the function and value of these COSMOS components. Expansion of this mission is subject to the governance of the Project Management Committee.
COSMOS will provide instrumentation and data storage that will define a normalized exchange format of the data. This normalized data will be exposed via user interface components for basic reporting and viewing of monitored information. Where possible, COSMOS intends to leverage existing management infrastructures, e.g. JMX, OSGi, and WSDM, to interact with the managed system. COSMOS will provide tooling, targeted at the developer and tester, to enable systems to be monitored via these infrastructures. An example of such tooling is the ARM and JMX instrumentation currently provided by the TPTP Monitoring sub-project. These TPTP components help application writers develop and test instrumentation. The scope of COSMOS does not encompass function outside of instrumentation and data visualization associated with systems monitoring and resource modeling.
The project will also deliver exemplary tools that: verify the utility of and illustrate the appropriate use of the COSMOS components, support the development and maintenance of the components, and are extensible via documented programmatic interfaces.
COSMOS will not provide the parts of a system management solution that would be considered a runtime component, for example similar to that provided by OSGi. Rather, COSMOS will provide normalized data aggregation and visualization, as well as a user interface components to deal with system information. COSMOS intends to leverage the runtime of infrastructure such as OSGi and WSDM to gather data for visualization.
The project will contain several sub-projects; monitoring user interface, data collection and server, build to manage, and resource modeling.
The goal of this pre-proposal is to generate interest among companies involved in systems management so that the project can be defined by the community with an agreed upon charter and scope. However, it is key to practically set the limits of the project at the outset. This project will deliver support for each of the categories described earlier, and do this via the sub-projects previously outlined. This is a significantly large domain and the COSMOS end user function will be limited to monitoring and data collection components needed to support application health monitoring and debugging as well as initial support for validating and manipulating Service Modeling Language (SML) based models.
In building an ecosystem and fostering community growth, it is important to provide a fundamental level of management function that offers immediate "out of the box" value to consumers and to provide a runtime framework and development tooling for vendors, resource providers, and system administrators. This is the objective of the first release of Cosmos. Following releases will add value for subsequent categories of use at the framework and end user function level.
In order to seed the project with a comprehensive set of capability, the proposed first area of development will be to provide reusable resource instrumentation that can be used during the development, testing and general monitoring of applications. These deliverables will be part of the data collection sub-project. The main deliverables for this sub-project will be set of collection instrumentation as well as a relational database to hold the data. In addition, as part of the monitoring user interface sub-project, there will be embedded workbench views, lite weight RCP clients and a web UI that leverage BIRT technology.
Each component is complimented by set of development tools that facilitate the creation of extensions or authoring of key artifacts, e.g. resource models, agent configurations, etc. For example, the BIRT tooling can be used to create "canned" reports that can be deployed in the Web UI or re-used within the RCP client. In addition, it is proposed that the agent creation tooling currently being developed in the TPTP project will eventually become part of this project as well. The components of COSMOS will expose extension points to allow for both runtime extension as well as tooling value add. A high level overview and brief description of some of the components contained in the Monitoring User Interface sub-project and the Data Collection and Server sub-project are illustrated in the figure below.
An extensible GUI for COSMOS is an essential component of the project, as this will permit better exploitation of the Eclipse plug-in/extension model. The project will enable the user interfaces currently available in the TPTP project as well as BIRT reports.
BIRT based reports will be combined with a static web interface for browser oriented users. The reference implementation for this web support will be based on Tomcat and extract data from the data server directly. SWT based UI implementations, such as what is in TPTP today will be provided in a stand alone RCP configuration as well as integration workbench plugins. This will provide support for fat/rich client use cases that may or may not need full integration with the other Eclipse IDE based tools.
The data server provides the ability to store data out of process for use by the RCP and Web UI, e.g. as a basis for the static reports. This is a scaling up of the support currently provided in TPTP and is necessary for unattended collection of information over an extended duration.
There is no plan to provide typical management server capabilities in the reference implementation. At this point in time capabilities such as complex correlation, alerts and dynamic analysis are expected to be value add functions that can be provided on top of the infrastructure developed in this project.
The reference implementation will be built to be deployable on several open relational database technologies such as Derby and MySql.
Existing data that is available via various instrumentation and api will be transformed into a normalized form that will be stored and made available for consumption by various client and visualization tools.
It will provide immediate "out-of-the-box" value with workable solutions for resource monitoring and modeling upon open standards. These capabilities are useful in themselves for monitoring, and basic management needs, but are even more useful as building blocks for constructing higher-level management functions. The combination of tooling and runtime offer a distinct advantage for COSMOS as no other open source offering effectively covers multiple aspects of the management life cycle.Integration with other Eclipse projects adds to the application life cycle already supported by those projects. This unique advantage over other open source projects directly benefit users who will extend the framework and tooling.
COSMOS will follow a 7 week iteration cycle leading to a 1.0 release June 2007 aligned with the Eclipse platform. The initial commitment will be to deliver the systems monitoring support described earlier. As more committers are confirmed, the PMC will determine if more function can be provided on the same schedule. The next priority after systems monitoring support will be resource modeling, beginning with support for the emerging SML standard. The first iteration, due in Oct 06, will be focused on establishing the project infrastructure and transferring function from TPTP. The following are the current iteration complete dates.
Iteration | Comments | |
I0 | 11/09/06 - 27/10/06 | Establish infrastructure |
I1 | 30/10/06 - 15/12/06 | |
I2 | 15/01/07 - 02/03/07 | Feature/API freeze |
I3 | 05/03/07 - 20/04/07 | Documentation freeze |
I4 | 23/04/07 - 01/06/07 | Candidate GA |
Shutdown | 02/06/07 - 29/06/07 | GA |
The following companies are helping to shape the project and may contribute committers to get the project started:
The following companies have expressed interest in the project:
Intel www.intel.com
Sybase www.sybase.com
your company name here