1 Software Development Group, Software & Systems, The Department
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.