1. A computer-implemented method for updating a 3D model, the method comprising: by a computer device with a processor, associated memory, and a graphical user interface, the processor: storing in the associated memory, a 3D model, said storing includes storing a history of the 3D model having undergone one or more operations and graphs linked to different points of the history; retrieving from the associated memory, at least two graphs of the stored graphs linked to the different points of the history, including: an old input graph of the 3D model before undergoing an operation of the one or more operations, and an old output graph of the 3D model corresponding to an application of the operation to the old input graph; generating a new input graph of the operation, wherein the new input graph is generated as a result of a modification of the 3D model, the modification being requested by a user via the graphical user interface; computing a double push-out rewriting rule that specifies: (i) a part of the old input graph to be replaced, (ii) a part of the new input graph to replace the part of the old input graph, and (iii) an interface which is a part common to the part of the old input graph, the part of the new input graph, and the old output graph, the rewriting rule corresponding to logical operations which are computed based on the old input graph, the old output graph, and the new input graph; and applying the rewriting rule directly on the old output graph, such that the old output graph is transformed to a new output graph that represents an updated state of the 3D model as updated by the modification.