Objective
GMF (Graphical modeling framework) is an open source project for Eclipse, which combines EMF and GEF to provide a powerful framework for the development of model-based graphical editors that can be built by developers Modular approach is easy to generate high-quality code framework.
The GMF is mainly composed of development tools and run-time two parts. The development tool is responsible for the design and modeling of the GMF core model, including the representation of the Graph model describing the specific domain model, the representation of the Tool model, and how to map the previous three models using the Mapping model to generate a Gen model based on the defined Mapping model, And finally complete the build of the code framework. Three independent model designs greatly improve the reusability of the model, and developers can further customize it in areas of concern to the models, which will be detailed in the in-depth understanding of the GMF modeling tool. The GMF runtime environment provides rich components (such as command framework, Services, Global Action, layout, and so on) and powerful extension mechanisms such as Org.eclipse.gmf.runtime.emf.ui.modelingAssistantProviders, Org.eclipse.gmf.runtime.common.ui.services.parserProviders, Org.eclipse.gmf.runtime.diagram.core.viewProviders And so on, these will be covered in detail in the in-depth understanding of the GMF Runtime framework.
The newly released GMF2.0 has further improved its ease of use on the basis of GMF1.0 and has added quite a few new features. Examples include support for Diagram content navigation, support for RCP applications, support for preference Pages, support for merging models, and more.
This paper mainly based on GMF2.0 operating environment, describes how to implement a Top-down Process analysis tool. Its main function is: Top-down decomposition of a large process for a batch of sub process, each process can be described by a specific flow, for the same model, can be edited by multiple Editor, such as Process Editor, Flow Editor 。 The desired results are shown below.
Figure 1.Process Editor
Figure 2.Flow Editor
This article begins with the definition of the domain model, step-by-Step Introduction to the implementation details.