Defining and specifying graphs using formal model-based techniques

Graph theory is an established field of study. the concepts of graphs and transition networks are well-known in computing. Mathematical expressions of some kind are almost always used to define graphs. Although these definitions are generally considered to be exact, one runs into difficulty when attempting to specify various graph definitions using a model-based specification notation such as Z, or when implementation structures are considered. In order to successfully do so one has to change the general mathematical definitions of graphs. This paper provides a set of such alternative definitions based on the use of bag structures.