I am developing gModeler for these reasons:

  1. Deep understanding using of Inheritance and polymorphism in practice.
  2. Deep understanding Java Swing, it’s elements and capabilities.
  3. To analyze projects into classes and manage them with Object Oriented Principles and Heuristics.
  4. To learn meaning of unit test and integration test.


First of all, you should understand it’s classes that shown in it’s class diagram:  gModeler001-Class Diagram

to download gModeler 001, use below link:

gModeler001  (All parts of codes were explained as comments within the source codes)


gModeler has been divided into base modules and extended modules. I developed more that 90% of base modules. After that I developed two diagrams of UML (Use Case Diagram and Activity Diagram) as sample extended modules.



All students in my OOD class should choose one of below extensions of gModeler:


gModeler Extensions

(All Diagrams should have at least 3 patterns and specific properties panel/form)

Excellent Projects (+4 extra grades) Advanced Projects (+2 extra grades) Simple Projects
UI + Code GenerationFlow Chart + Code GenerationQuick Code + Code Generation

Total Properties Panel

Project Browser Panel

Copy + Paste in Word & Paint

Class Diagram + Code Gen

Data Modeler + Table Gen

Save + Open (file & database)

Undo + Redo

Doc Generation (HTML, Word)

Sequence DiagramLogical & Electrical CircuitsCAD


Automata Modeling

Web Modeling

XML Schema

Network Diagram

Statistics Diagram

Copy + Deepest Paste

Copy + Paste , deep PasteCommon (beautiful), legend, …State Diagram

Activity Diagram

Business Workflow

Business Modeling

Organizational Chart

Basic Diagram (like Visio)

Gantt Chart

Pert Chart

Sample extensions based on gModeler that have been implemented by my students in my OOD classes

1- gModeler, UML Common Elements:  GModeler-UML Commons

2- gModeler, Networks Diagrams: gModeler-Networks

3- gModeler, Circuit Diagrams: gModeler_Circuit