Skip to main content

Eclipse EGF

Eclipse EGF (Eclipse Generation Factories) is a model-driven software generation framework (modeling and code generation) within the Eclipse Modeling Project that supports the definition, orchestration, and execution of complex generation processes for enterprise applications.

  • Model-driven generation framework for complex software artifacts (modeling and code generation).
  • Support for defining and composing generation patterns and factories (software factory automation).
  • Integration with Eclipse Modeling Framework (EMF) and the wider Eclipse Modeling stack (model-driven engineering tooling).
  • Configurable generation workflows for repetitive development tasks such as code, configuration, and documentation (development automation).
  • Eclipse-based tooling for designing, managing, and executing generation chains inside the Immutable Deployment Environment (IDE) (integrated development environment tooling).

More About Eclipse EGF

Eclipse EGF (Eclipse Generation Factories) is a framework (model-driven engineering) within the Eclipse Modeling Project that focuses on the definition and execution of structured generation processes. It targets use cases where software teams model repetitive or patterned artifacts and then generate source code, configuration files, or other resources in a controlled and reusable way. EGF is built around the concept of factories and patterns that describe how elements should be produced from models or other structured inputs.

The project is part of the Eclipse Modeling Framework ecosystem (modeling and code generation) and is hosted by the Eclipse Foundation, which provides governance, licensing, and project lifecycle processes. EGF integrates with Eclipse IDE tooling to allow developers and architects to design generation chains using Eclipse perspectives, editors, and runtime infrastructure. This positioning inside the Eclipse Modeling Project aligns EGF with other model-based tools and metamodeling technologies that enterprises already use for domain-specific modeling and code generation.

Core capabilities of Eclipse EGF include the specification of generation patterns (pattern-based generation), the configuration of factories that orchestrate these patterns (workflow orchestration), and the management of dependencies between generation steps (build and generation pipelines). Users can describe how models, templates, and other assets combine into generation units and then assemble those units into larger factories. These factories can be triggered from within the IDE or integrated into broader build processes using Eclipse runtime mechanisms.

In enterprise environments, Eclipse EGF is used to support repetitive engineering tasks where organizations maintain structured models, metamodels, or templates and want traceable, reproducible outputs (software development automation). Typical applications include code skeleton generation from EMF-based models, production of configuration descriptors for platforms, and generation of documentation or integration artifacts from maintained model repositories. Because EGF is based on Eclipse technologies, it can be adopted by teams that already standardize on Eclipse as a development platform.

From an architectural perspective, Eclipse EGF operates as an Eclipse plug-in set (integrated development environment tooling) that plugs into the Eclipse runtime and uses extension points and services from the Eclipse Modeling stack. It interoperates with EMF-based models and other modeling tools through Eclipse-standard mechanisms. The framework is extensible: organizations can define custom patterns, factories, and generation components that reflect their domain models and internal development practices. This aligns EGF with enterprise needs for repeatable, model-based automation of software assets, and places it in the category of model-driven generation and software factory tooling in an enterprise technology directory.