Many modelling languages have both a textual and a graph- ical form. The relationship between these two forms ought to be clear and concrete, but is instead commonly underspecified, weak, and infor- mal. Further, processes and tool support for modelling often do not treat both forms as first-class citizens, instead choosing to favour one as the “real” representation and the other as a derivable representation. As textual and graphical forms have their individual strengths and weak- nesses, ideally one should be able to view and edit a model in whichever form is most desirable at the moment. Furthermore, we should be able to do so without having to worry about semantic differences between what is seen in a graphical view versus what is seen in a textual view. If we are to develop tools that allow dual-editing—simultaneous editing of both the textual and graphical forms—then it is essential that their relationship is clearly and precisely defined. This paper details a formal relationship between the textual and graph- ical forms of a high-level modelling language called the Business Object Notation (BON). We describe the semantics of the graphical and textual representations and the relationship that holds between them. We also formally define a view on an underlying model as an extraction func- tion, and model diffs as a means of tracking changes as a model evolves. This theoretical foundation provides a means by which tools guarantee consistency between textual and graphical notations, as well shows how to efficiently perform model updates, reason about model views, and interpret properties between modelling perspectives.
Electronic Communications of the Easst, 2011, Vol 36