1. A computer-implemented method, comprising: opening, by a complementary editor executed by at least one processor, a plurality of views for concurrent presentation, each view associated with a piece of software, wherein each view is associated with a semantic model associating a textual representation of the software and a graphical model of the software, the complementary editor managing bi-directional communications for automatic synchronization between a particular view and each of the other views of the plurality of views; receiving, by the complementary editor, changes in a particular view of the plurality of views via a graphical user interface, wherein the received changes include updating software code in a code view; propagating the received changes, via the bi-directional communication, to other views of the plurality of views other than the particular view; receiving the propagated changes in each of the other views of the plurality of views other than the particular view, wherein in response to the updated software code in the code view, a model in a graphical model view is updated; transforming, by a computer executed by the at least one processor, the propagated changes in each of the other views in the plurality of views based on formatting constraints specifically associated with each of the other views; and initiating display of the transformed propagated changes in each of the other views of the plurality of views, wherein the display includes a display of runtime log data in a log view based on the received changes to the updated software code.