Skip to main content

Eclipse Graphical Modeling Framework (Eclipse GMF)

Eclipse Graphical Modeling Framework (Eclipse GMF) is a model-driven (modeling tools) framework for building graphical editors on top of EMF-based domain models within the Eclipse platform.

  • Model-driven tooling for generating graphical editors from EMF-based domain models (modeling tools)
  • Integration with Eclipse Modeling Framework for domain model definition and code generation (modeling platform)
  • Declarative mapping between domain models and graphical notation models (modeling tools)
  • Support for diagram definition, layout, and editing behavior inside Eclipse workbenches (IDE tooling)
  • Extensible architecture for customizing generated editors and integrating with other Eclipse Modeling projects (plugin ecosystem)

More About Eclipse GMF

Eclipse Graphical Modeling Framework (Eclipse GMF) is a framework for constructing graphical editors based on Eclipse Modeling Framework (EMF) domain models (modeling tools). It targets software modeling tool developers who need diagram editors such as UML-style diagrams, domain-specific modeling languages, and other visual representations of structured data within the Eclipse environment.

The framework combines EMF for domain model definition and the Graphical Editing Framework (GEF) for visual editing into a model-driven toolchain (modeling platform). Developers describe the domain model, the graphical notation, and the mapping between the two using EMF-based models and configuration. GMF then generates a large portion of the diagram editor code, which runs as a standard Eclipse plug-in and integrates into the Eclipse workbench UI.

Core capabilities include definition of domain models with EMF (modeling tools), specification of graphical elements such as nodes, connections, labels, and figures (diagramming tools), and configuration of editing behaviors including creation tools, palettes, and context menus (IDE tooling). GMF supports a separation between the domain model, the graphical definition model, and the tooling definition model, with a mapping model that links these layers. This separation allows teams to iterate on notation and tooling without restructuring the underlying domain logic.

In enterprise environments, Eclipse GMF is used to build custom modeling workbenches, architecture design tools, policy or process diagram editors, and other specialized visual tools that operate on structured business or technical models (enterprise modeling tools). Because GMF-based editors are Eclipse plug-ins, they can participate in larger Eclipse-based distributions, share EMF models with other modeling components, and reuse platform services such as version control integration, compare/merge, and team features.

GMF is closely aligned with the Eclipse Modeling project ecosystem (modeling platform). It interoperates with EMF-based technologies for code generation, model persistence, and transformation where those are adopted. The framework’s extension points and generated code patterns allow customization of rendering, editing policies, and diagram behavior, enabling integration with domain-specific validation, model transformations, or external repositories.

Within a technical taxonomy, Eclipse GMF fits into the categories of graphical modeling frameworks, model-driven development tooling, and Eclipse-based Immutable Deployment Environment (IDE) extensions (modeling tools, IDE tooling). It provides a structured approach for building diagram editors that share a common runtime environment and modeling stack, which can support long-term maintenance and evolution of in-house modeling tools in organizations that standardize on the Eclipse platform.