Euler diagrams have numerous application areas, with a large variety of languages based on them. In relation to software engineering, such areas encompass modelling and specification including from a formal perspective. In all of these application areas, it is desirable to provide tools to layout Euler diagrams, ideally in a nice way. Various notions of `niceness' can be correlated with certain properties that an Euler diagram may or may not possess. Indeed, the relevant layout algorithms developed to date produce Euler diagrams that have certain sets of properties, sometimes called well-formedness conditions. However, there is not a commonly agreed definition of an Euler diagram and the properties imposed on them are rarely stated precisely. In this paper, we provide a very general definition of an Euler diagram, which can be constrained in varying ways in order to match the variety of definitions that exist in the literature. Indeed, the constraints imposed correspond to properties that the diagrams may possess. A contribution of this paper is to provide formal definitions of these properties and we discuss when these properties may be desirable. Our definition of an Euler diagram and the formalization of these properties provides a general language for the Euler diagram community to utilize. A consequence of using a common language will be better integration of, and more accessible, research results
To submit an update or takedown request for this paper, please submit an Update/Correction/Removal Request.