Eclipse Modeling Project Charter


Overview

This charter was developed in accordance with the Eclipse Development Process and will outline the mission, scope, organization, and development process for the Eclipse Modeling Project. This document extends the Eclipse Standard Top-Level Charter v1.0, and includes the required content and overrides which follow. It is anticipated that as the standard charter is updated, this charter will incorporate the changes and make adjustments as seen fit by the PMC, and with approval from the EMO and board of directors.

Mission

The Eclipse Modeling Project will focus on the evolution and promotion of model-based development technologies within the Eclipse community. It will unite projects falling into this classification to bring holistic model-based development capabilities to Eclipse.

Scope

The items below delineate the scope of the Modeling project. They do not do so uniquely, as other roughly equivalent terms and concepts could have been chosen to define the domain of modeling in the context of software development.

Abstract Syntax Development

Included in the scope of the project is a framework to support the definition of abstract syntax for modeling languages that support business, system, and software modeling, using an industry standard modeling facility or language. The framework for developing abstract syntax will support editing, validating, testing, querying, and refactoring models created with the modeling facility. This includes the production of general-purpose modeling languages in addition to application domain specific models.

The underlying modeling facility must support the production of a wide range of models, not all of which will themselves be suited for inclusion within the Modeling project. Only those models and modeling languages of broad cross-domain utility fall within the scope of the Modeling project itself. For example, implementations of the Object Constraint Language (OCL) and Unified Modeling Language (UML) specifications are appropriately maintained within the Modeling project. In contrast, it is expected that users will create and maintain languages for narrowly defined problem domains using the project facilities, but that these languages and models will not be of interest to the general modeling community. A section below includes a more complete list of standard languages within the scope of the Modeling project.

Concrete Syntax Development

Support for the production of textual and graphical concrete syntax for an abstract syntax is within the scope of the project. Both manual and generative approaches to the production of these are to be supported. As examples, graphical editing for the Unified Modeling Language (UML) as well as editing of UML models using textual notation fall within the scope of the project. Furthermore, the production of editors for any Domain-Specific Language (DSL) is within scope.

With respect to support of textual notation in the form of Eclipse editors, the Modeling project will focus on the generative aspect to producing these editors, targeting the facilities provided by the platform.

Model Transformation

The transformation of models using a transformation definition and associated technologies falls within the scope of the project. The support of industry standards is expected in this area, specifically the OMG's Query, View, Transformation (QVT) specification.

Model to Text Generation

Text generation from a model, typically source code of some programming language, including the merger of user changes to generated output, is within the scope of the project. Alternative mechanisms have been requested by the community and along with support for patterns, falls within the scope of the project.

Industry Standards

The importance of supporting industry standards is critical to the success of the Modeling project, and to Eclipse in general. The role of the Modeling project in the support of industry standards is to enable their creation and maintenance within the Eclipse community. Furthermore, as standards bodies such as the OMG have a strong modeling focus, the Modeling project needs to facilitate communication and outreach through its PMC and project contributors to foster a good working relationship with external organizations.

The following industry standards are within the scope of the Modeling project and are either supported by current modeling projects, or are anticipated to be supported in the future:

  • Object Management Group (OMG) standards
    • Meta-Object Facility (MOF)
    • Unified Modeling Language (UML) and UML Profiles not falling within the scope of other projects
    • Model-Driven Architecture (MDA) related specifications
    • Query, View, Transformation (QVT)
    • MOF to Text (MOF2T)
    • Diagram Interchange Specification (DIS)
    • XML Metadata Interchange (XMI)
  • Business Process Modeling Notation (BPMN)
  • Business Process Definition Metamodel (BPDM)
  • XML Schema Definition (XSD)

Domain-Specific Modeling

The support of industry standards and specifications are an important aspect to the scope of the Modeling project, but not to the exclusion of the emerging trend of Domain-Specific Languages (DSLs). The Eclipse Modeling Project will provide leadership in delivering these capabilities through its projects and in working with others within the Eclipse and external communities.

The generative production of editors for textual notations is an essential component of DSL support within Eclipse, and required if Eclipse is to be used as a "language workbench." The Modeling project will provide, within its scope, the generative aspect of producing these editors to complement graphical editors for a modeled domain.

Out of Scope

Clearly, there are some things that are not in the scope of the Modeling Project. In particular, there are certain DSLs and industry-based models that the Modeling Project should support creation of at a fundamental level, but that are not appropriate to be housed within the project. Specific examples are listed below:

  • A home for DSLs based on EMF which do not pertain to the modeling domain, e.g. the Java EMF Model (JEM) created for the Visual Editor (VE) project and used by the WebTools project.
  • UML Profiles falling within the scope of other projects.
  • A number of OMG standards that fall into the modeling realm are not considered to be within the scope of this project:
    • Software Process Engineering Metamodel (SPEM), as it is part of the proposed Beacon project.
    • Common Warehouse Metamodel (CWM), as it is likely to be included in DTP.
    • UML Testing Profile, as it is included in the TPTP project.
    • Reusable Asset Specification (RAS)
    • etc...
  • As mentioned above, in support of textual notation editor generation, the Modeling project will work with the Platform or other teams, and not itself focus on the development of general purpose text editor frameworks.
  • In the area of model transformation, XSL does not fall within the scope of the Modeling project and is provided within the context of the WebTools Project (WTP).

Project Management Committee (PMC)

The content found in this section of the standard charter is sufficient for the Modeling project, with the exception of those subsections found here related to the project's Requirements, Architecture, and Planning Groups.

Requirements Group

The Requirements Group is formed at the discretion of the PMC. The Requirements Group gathers requirements for the project and communicates them to all members of the Project, including the PMC. The Requirements Group will accomplish its objectives by working closely with the development teams and the PMC.

Architecture Group

The Architecture Group is formed at the discretion of the PMC. The Architecture Group is responsible for development, articulation and maintenance of the Project Architecture, as well as for providing an explicit description of the architecture and communicating this description to all members of the Project, and for releasing it as part of the project deliverables. The Architecture Group will accomplish its objectives by working closely with the development teams and the PMC.

Planning Group

The Planning Group is formed at the discretion of the PMC. The Planning Group assists the PMC in establishing the Project plan in conjunction with available Project resources, coordinating relationships between Project participants and with other Eclipse projects. The Planning Group helps to ensure that projects have enough contributors, filling vacancies in roles and facilitating code or other donations by individuals or companies. The Planning Group will accomplish its objectives by working closely with the development teams and the PMC.

Roles

The content found in this section of the standard charter is sufficient for the Modeling project, with the exception of those items listed below.

Committers

It is the responsibility of the Committers to maintain the accuracy of the version numbers of their plug-ins in accordance with the published guidelines.

Projects

The content found in this section of the standard charter is sufficient for the Modeling project. The modeling project considers it a core mandate to continue the development of reusable infrastructure components which are independent of the higher level components as shown in the architecture diagram below. The architectural separation will ensure the infrastructure components can be used on their own without requiring the complete modeling platform and will ensure that other Eclipse Foundation Top level projects can continue to consume these components from the project. Below is a diagram representing the projects found in the Modeling project, as well as those under recruitment by the PMC.

[1] The PMC will look to the EMO's judgement as to which cases would benefit from board review. Note that the diagram is an architectural/dependency rendering, not a specification of the scope, i.e., the text not the diagram is normative.

Infrastructure

The content found in this section of the standard charter is sufficient for the Modeling project, with the exception of those items listed below.

To the greatest extend possible, the PMC will facilitate the use of common infrastructure and process by all projects within the Modeling project, e.g. build, IP tracking, etc... This should include a continuous build mechanism, cascading builds, and common reporting infrastructure.

Development Process

The content found in this section of the standard charter is sufficient for the Modeling project, with the exception of those items listed below.

Tests

It is expected that contributors to the project provide a test with each contribution. It will fall to the responsibility of the Committers to ensure that adequate tests are provided for each commit to the source repository.

Release Cycle

Each project will coordinate their release cycles and be respectful of their dependent projects, particularly in the context of a larger Eclipse coordinated release cycle. Projects are expected to publish their milestone plans.

Notes:
[1] The Board of Directors voted on 2008-01-16 and approved the removal of this sentence from the charter, "To ensure the scope of the project remains consistent within the modeling mission, the PMC will seek Eclipse board approval for the creation of new projects."