A network oriented information structure: Networks, semantics and structures

A network oriented information structure: Networks, semantics and structures

Compat. & Graphics Vol. 5, pp. 41-52 Pergamon Press Ltd.. 1980. Printed in Great Britain A NETWORK ORIENTED INFORMATION STRUCTURE: NETWORKS, SEMANTIC...

861KB Sizes 0 Downloads 35 Views

Compat. & Graphics Vol. 5, pp. 41-52 Pergamon Press Ltd.. 1980. Printed in Great Britain

A NETWORK ORIENTED INFORMATION STRUCTURE: NETWORKS, SEMANTICS AND STRUCTURES NENADMAROVAC Department of Mathematics Science, San Diego State University, San Diego,CA 92182, U.S.A. (Received 7 May 1980) Abstract--This paper describes a network-type information structure applied to store models, necessary for the analysis and design of networks of a general nature--such as electrical networks, queueing networks, critical path networks, etc.--within a computer memory. The paper presents a view on some general structural quantitative and qualitative properties of networks and illustrates how that view was transported to the organisationof the informationstructure. I. INTRODUCTION

they have been developed with the objectives, either to be efficient in organisation of the data for quick retrieval and manipulation, and/or to group efficiently parts of the structures in accordance with various attributes and associations existing between these parts. Although these structures are in general problemoriented they were not designed for application in one particular field. They could be labelled as syntatic type structures, because their main emphasis is on how some operations within the structures can be best performed. However, it is the author's opinion that the organisation of the data and the type and extent of additional features previously mentioned, in a data structure, depends very much upon the nature of the processes which are the subject of investigation by the programs in which the particular data structure is being used. It is, for example, quite reasonable to expect that a data structure used in programs for the design of ships' hulls will not be the best type for programs for networks analysis and vice versa. This may be for two reasons. First, the amount of the data associated with attributes of objects in networks, such as the values of network elements are relatively much smaller than the amount of the data associated with objects participating in ships' hulls. The elements of a ship's hull such as curved lines and surfaces, may require storing coordinates of many points which define these lines and surfaces. This difference of the amount of the data would affect ways in which the data is organised in these two respective data structures. The second and more probably the principal reason, is the difference in the physical constraints present in the design of networks on the one hand and of ships' hulls on the other. The design of a ship's hull is very geometrical and requires that once set, the shapes, distances and ratios remain fixed. On the other hand, the geometry of a network may be changed without any effect on its topology and on the processes in the network. Consider for example the use of interactive computer graphics for design. An element can be moved away from the rest of the network, provided that the lines, representing the connections between the element and the rest of the network, are simply stretched and pos-

Computer programs for the analysis and design of various physical systems operate on the representation of the system stored inside a computer. This representation is referred to as a model of the system under consideration. Such a model comprises the description and specification of all the relevant properties of its parts, and of their interactions within the system. Furthermore, it comprises a description of the effects of the environment upon the system and vic/~ versa. In short, the model includes all the information necessary for computer analysis and design of part or all of the system. The models themselves are in the form of data; computer programs process data. The data is either declared in the program, read into the computer or created during the run of the program. This data is not scattered at random throughout the computer memory, nor is it collected into a single pile inside the computer, but it is organised in such a way as to suit the nature of the systems being investigated and our interest in them. For example, the data can be organised into a set of variables and arrays (vector and matrices). An organisation of the data inside the computer memory is called a data structure. (a) Data structure Programs running in an interactive mode, i.e. in a mode in which a computer user interacts with a program during its run and governs the flow of processing, have a more complex data organisation. This is of particular relevance to programs for interactive computer graphics. The data structures in these programs not only store the data used for analysis or design, but also include some additional features to depict the organisational relationship between various parts of data. Many data structures have been created for application in interative programs, particularly for those used in interactive computer graphics. The trend has been to develop structures for general applications, (classical examples Roberts[l], Gray[2], MacCallum[3], Ross[4], Williams[5], Evans and van Dam[6], Rovner and Feldman [7], Dodd [8] and Johnson [9]). The main characteristics of these structures is that 41

42

N. MAROVAC

sibly reshaped. However, one may not be allowed to move a part of an element of a ship's hull, or the element itself, if the element is a solid body mechanically linked to the rest of the ship's hull. This may result in the tearing of the element or moving of the entire hull. On the other hand a short-circuit of a line representing an already existing connection in a network could be meaningless and the computer program which draws the network on the screen should warn the designer of his "meaningless" request, so that he can edit the request if he wishes. This and similar mechanical and topological constraints should be embedded in the structures which store models of the systems for design; this in turn suggests that the presence of constraints of different natures would result in different data structures [10]. With this in mind, a data structure specifically for networks has been designed. The particular network-type structure described in this paper is suitable for programs for general network analysis and design, which are to be run in a highly interactive mode. The structure is oriented to physical systems and this orientation differentiates it from other structures. It originated from considerations of specific physical configurations, such as networks and the physical processes in networks. In planning the organisation of the structure no consideration was given to the operations that would have to be performed on parts of the structure. It explicitly resembles networks. The structure represents a projection of a general network space onto an information structure space. This is because physical constraints which are present during the process of building models of networks are mainly topological ones and the view was taken that the computer program which is used to build a network model should be able quickly to obtain, at any time during the building of the model, complete explicit information of any possible topology in the network from simple examination of the topology in the data structure.t This provides the computer program with (network) semantic information which in turn enables the program to make decisions which are based on the network semantics and not just on geometrical projection of the network into a picture, part of which is eventually displayed on the screen if computer graphics are used. For this reason one can call this structure a network-type semantic information structure. tThe need for informationabout the network topology,during the process of buildingthe model of a network, can be shown in two very simple examples. If one decides to delete a line representing a connection between two parts of a network, the program should, from the topologyof the network, realize that this does not implyjust the deletion of the line but the splitting of the node to which the connection belonged into two separate nodes and furthermore splitting the initial network into two. To do this, again, the complete topologyof the initial network must be known. Another example would be, if the network designer, using interactive graphics, decides to move a part of the network in order to provide some space for the insertion of some additional network elements and connections. Here the program must quickly determine which lines (connections) must be stretched and/or reshaped in order to keep the moved part connected to the rest of the network.

Apart from the above, the structure proposed in this paper, makes a distinction between different types of associations, whereas other proposed structures represent all such associations in the same way. Here, the associations are collected into two groups. The first group comprises quantitative associations, i.e. it represents collectivity associations, which, for example, bring together all elements belonging to the same network. The other group of associations comprises socalled qualitative associations. They represent relations between objects in a network, as for example the influence of one element on another, elements which are connected to a common point in a network and so on. These two groups of associations are represented in a completely different way in the structure, as will be shown later. This paper is divided into four sections. The next section, Section 2, gives some basic definitions and sets out a view on some general quantitative and qualitative properties of networks. The idea behind this view is transported to the organisation of the data in Section 3. Section 4 presents a network-type data structure, its organisation and its implementation, as resulting from developments in Sections 2 and 3. 2. THE BASIC IDEA AND MATHEMATICALDEFINITIONS

In any network or in a system composed of a number of networks, we can recognise two distinct fundamental features: (i) Items; (ii) Physical relationships between the items, The term items includes various objects when the presence of these objects in the network/or in the system of networks, is explicitly relevant, or must be explicitly taken into account, and whose description is needed and must be stored. This depends on the type of network (or system of networks) under consideration and the particular interest we have in respect to it. The physical relationships between the items are a collection of information comprising the description of existence and the nature of various interactions between diverse items in the network. It also relates every interaction to items participating in it. For example, interconnections, mutual influences and mutual controls and dependencies between various network parts. If we consider the low frequency behaviour of a passive electrical network, in the items we would include the network elements and possibly the nodes (should the method of analysis take the nodes explicitly into account). The topological information concerning the interconnections between the network elements is included in the physical relationships. If, on the other hand we have an active electrical network and our interest is not only in the behaviour of the electrical network under consideration, but also in its geometrical representation (as with integrated circuit layout, or in the display of the network on the screen) then the topological information about the interconnections inside the network is not sufficient. The geometrical shape of each connection is important. Every connection has to be considered as a separate item and its geometric and electrical description

A network oriented informationstructure; networks, semantics and structures

43

stored. The topological information concerning the in- action (as indicated by the arrow on the relationship terconnections between elements and nodes, stating line). which elements and nodes are connected (and possibly Figure l(b) shows the same situation except that here by which connections, but neglecting any interest in the we wish to know more about the quantitative and qualiproperties of the connections themselves) must, tative properties of each interaction. Every interaction however, still be included in the physical relationships becomes an item. Additional items represented on Fig. between the items. The same line of thought applies to l(b) by the images denoted as HOi's and FMi's are house the mutual dependence and controlability between the ownerships and family ownerships respectively. network elements. Although the control effect of every We can see that although every interaction becomes an controlled element is regarded as an item and its des- item possessing its own properties, its existence, nature cription stored as such, the controlability matrix stating and items participating in the interaction are indicated by which element controls the other and by what control the flow of the relationship line. effect, is included in the physical relationships. The items in a systemt are collected into a set and we In short, the items include all physical and abstract will denote this set by objects, in a network or system of networks, possessing their own descriptions and whose existence in the netI = {j: _i has the property _d} (2.1) work must be explicitly noted as required by the type of the network and our interest in it. The physical relationships indicate the existence of various relevant inter- where the property _d is as defined before, i.e. / is a actions between the items. The items form a quantitative physical or abstract object in a system under conproperty and the physical relationships a qualitative sideration, when the presence of i must be explicitly property of the network or system of networks. taken into account as required by the type of the system To clarify the idea with another simple example from and our interest in it, and the description of i has to be everyday life; suppose we want to describe life in a separately stored. street on the level of human beings and houses. The men, The set I is partitioned into the subsets Ak where women, children and families could all be included in members of subsets can be set themselves and so on, and the items. The inter'actions between the items would take an hierarchical tree structure of sets is formed within the the form of family memberships and house ownerships. set !. This partitioning of set _/and grouping of subsets Information specifying the existence of an interaction; Ak into an hierarchinal tree structure of sets depends on the nature of the interaction (family membership or the importance of the difference in the nature and the house ownership) and which items participate in which hierarchical levels of the items. We can now write: interaction would incorporate the physical relationship between the items. ] = {Ak: Ak is either an item or a set of items with the If we are, however, interested in the details about same nature and at the same hierarchical level} (2.2) every family membership (father, mother, son, etc.) and every house ownership (bought on a mortgage, how where many years to pay and so on) then each family memberu Ak =/. (2.3) ship and house ownership to be separately described. It k-becomes an item and its description stored. However, the pure indication of a family membership (linking a Although the sets Ak are obtained by partitioning set_/, the person/item/through a membership/item/to a family relations between sets A._kkthemselves are rather more /item/) and a house ownership (linking a house complex and take the form of set of sets. Membership of a /item/through an ownership/item/to a family/item/) set which is a member of a set A__.kkdoes not imply is still represented in the physical relationships between membership of the set Akk. the items. For example, if we consider a system of networks and This is illustrated in Fig. 1, which is divided into two let us say we have the following items: parts. In both parts images denoted as Hi's represent (i) networks; items of type houses, images denoted as Fi's represent (ii} network elements; items of type families and images of Pi's represent items (iii) network nodes; of type persons. (iv} connections. Figure l(a) depicts these items and physical relationships between items. The relationships are represented Following the line of development given above, we have by lines. This is sufficient when all we need to know is a set _/which is to be defined as indication of the existence of an interaction (the existence of the relationship line), the nature of it (the type ] = {]: _i is networklelementlnodelconnection}. of line; dashed line, solid line, and so on) and the items participating in the interaction (items at the ends of the The set of items I can be partitioned into the set of relationship line) and possibly the direction of the inter- networks Nt, the set of element _E, the set of nodes Nd and the set of connections _C, where tSystem when applied in this text refers to a general network Nt u E U Nd U C=!. or a system of general networks.

44

NI MAROVAC

) //

I

© a.

? I

HO1

I

=.

H04

HO3

]

I

/

\

/

\

/

i \

/

I

/

+

x

FM4 &

~

I

/

I 1

\

\

I I

t~ 5

I

\

/

/

4

I I i FM6

It I

0 b.

Fig. 1.

We can mutually Every Nb ~ Nt where

form now an hierarchical tree structure of disjoint sets. member of the network set, i.e. a network owns its element set _E~ and its node set Nd~

U _El = E and UNdi = Nd. i

i

- -

Furthermore, every member of its node set, i.e. a node ND~j E Nd~ owns a connection set C~j where again U Cij = _C~and U C~ = C.

/

i

Although a network N. owns its set of elements and nodes, any member in its set of nodes or elements is not a member of the network set.

3. THE DATA STRUCTURE

The data structure inside the computer stores the descriptive model of a process (in our case a network or a system of networks) under consideration. It comprises a set of blocks (atoms) of consecutive locations in the computer memory and the linkages which interweave these blocks. These blocks represent objects (items) in the system and store quantitative descriptions of properties of these objects. We will refer to them as object blocks. Each object block is divided into fields which consist of one or more memory locations. These fields store values of attributes of the item represented by the block. To simplify and standardise accessing and processing of the values of attributes, all blocks representing items of the same type have the same field structure. The simplification obtained by standardising the field structure in objects blocks corresponding to items of the

A network oriented informationstructure; networks, semantics and structures same nature and same class is quite obvious. For example, if we are searching for a value of resistance in an object block corresponding to a resistor, it is automatically assumed that the value is stored always in the same position in the object block irrespective of which resistor is currently being considered. However, the standardisation of the field structure in object blocks goes further than just keeping the same field structure in all object blocks corresponding to items of the same type. If two items are of the same nature but of a different class, values of similar attributes should be stored in the same fields in corresponding object blocks. For example, when we consider a resistor and a capacitor, the value of the resistance of the first and the value of the capacitance of the second should be stored in the same fields in corresponding object blocks. Furthermore, we can extend this standardisation to some extent even when we have items of a completely different nature and when we deal with attributes which are similar for these items. For example, considering a network and a network element in the case of representation of networks on the screen. The geometrical coordinates of the network and the element should be stored in the same fields in their respective object blocks. The linkages which interweave the blocks are in the form of pointers, which are fields storing the addresses of parts of other blocks, or of the same block. The arrangement of these pointers depicts the relationships between blocks in the data structure which in turn illustrate the relationships between items in the system. 3.1 The network items and the object blocks The set of object blocks in the data structure will be denoted as /~ = {/~:/~ is an object block in the data structure representing the computer descriptive model of the system under considerationt}. The interactive design or analysis is a highly dynamic process which requires fast identification of the parts of the structure corresponding to the various objects in the system and vice versa. This and the requirement that the topology of the data structure should be analogous to the topology of the system under consideration requires that every item in the system should correspond to one and only one object block and vice versa. Hence a one-to-one mapping of the set ! into the set/t may be made, i.e.

P: I-* B

45

generation of an object block in the data structure, and also stores the relevant description of the item in the object block. This one-to-one mapping of the set ! into the set /~, holds for the subsets of I at all hierarchical levels i.e.

P: Ak-* Ok where U

Ok=B.

k

This means that the partitioning of set _/into subsets Ak which forms the hierarchical tree structure within the set _/_cooresponds to the partitioning of set /~ into subsets Ok forming the hierarchical tree structure within set /3 analog to the structure within set !. 3.2 Sets in the data structure There are two distinct types of linkages between the object blocks in the data structure. The first types considered in this section are called quantity rings or set rings. They are used to represent sets of items, i.e. collections of items into sets. Grouping a number of items into set A in the system corresponds to grouping the same number of objects blocks into set/1 in the data structure. The object blocks forming set /~ are those corresponding to the items forming set A. A set-ring links all object blocks in set/~ to an object block which owns or defines set /~. This object block corresponds to the item which owns or defines set ,4. For example a node defines a set of connections forming the node; or a network owns a set of elements comprising all elements in the network. A set-ring has the form of a closed ring, starting and finishing in the object block which owns the set, it threads through all object blocks in the set. The set-rings are nested in accordance with the hierarchical tree structure existing among the sets of object blocks (and items). If, for example, set Ak belongs to item _C which is a member of set B which corresponds to set Ok belonging to object block/) which is a member of set (~:~, i.e. m

P: Ak ~Ok, and P: _C-~/), p: _B--I~G,

then, the object block which is the owner of set contains a part called the set-ring start. It is a start for the set-ring representing set 1~ and object block/5 is on tSets and members of sets referring to the system and the that set-ring. Object block L3 itself contains another items in the system are denoted by a bar under the name and the set-ring start for the set-ring representing set Ok. sets and members of sets referring to the structure corresponding Although the set-ring starts exist in this structure, they to the system are denoted by a bar over the name. are not separate blocks nor are they created solely as *Where set Ak may be a set of connections belongingto a node (_C)which iS a member of a set of nodes (_B)belongingto a set-ring starts. They are only part of an object block, which represents and stores the description of an exisnetwork.

P denotes a set of procedures in a program which translates the creating of an item in the system into the

46

N. MAROVAC

ting item in the system. A set-ring start then, merely states the fact that the object block containing the setring start, amongst other things, owns or defines a set. A more detailed description of the realization of the set-rings is given in Section 4. 3.3 The relational linkages in the data structure The second type of linkages between the object blocks are called relational linkages. They are qualitative linkages in the sense that they depict the nature of interactions between items in the system. They are used to represent physical relationships by linking object blocks in the structure, corresponding to the items between which exists a certain type of iteraction. Before discussing relational linkages further, the following definitions are necessary. When we consider items involved in an interaction we can separate them into three groups. This division and the existence of each group depends on our interest in the interaction. The first of these groups, which is always present, consists of items which are directly participating in the interaction. These items are called participants. An example of this group would be all elements in a network connected to the same node. The second group consists of only one item per interaction, and this item defines or owns the interaction. It is present only if we need to distinguish the interaction, and the item which in one sense or another defines the interaction. However, if our treatment of the system does not explicitly require the existence of these defining items we could dispense with them. An example of this item would be a node itself, as a representation of inter-connections of all elements connected to the node. We take nodes into account if we need them, but we can omit them, as for example, in the case of mesh analysis of a network. The items in this group will be called

de#nitors. The third group comprises items which are introduced in order to describe both qualitatively and quantitatively the involvement of each participant in the interaction. The items in this group are referred to as descriptors. If we are not interested in the details of the interaction these items do not exist. An example of these items would be connections in cases when we need to consider geometrical and network type attributes of every connection in a network. Let us illustrate these three groups on our already met example, i.e. life on a street and let us take family membership as the illustrative interaction. All persons belonging to one family are participants, as they participate in the life of the family. The family, to which they belong, itself would represent the definitor of the particular tSuppose that the family memberships (the item) denoted on the Fig. 2(d) as FM2 is qualified as "son-in-law"; we can alternatively qualify it as shown in Fig. 3. The family membership FM2 is qualified as a new family membership FM2' "husband of" through the family membership FMI "daughter". It results again in the "son-in-law" but now we are showing through which "daughter" of the family this family membership has been created.

interactions. If we are only considering persons as linked together by family type association we can dispense with the family as a separate item, but if we want to identify the family and show family associations relative to the family, then we introduce the family as the item and as the definitor of that particular set of family type interactions. The descriptors of every separate family interaction would be introduced to describe the attributes of the association of every person to the family (son, father, son-in-law, etc.). They are omitted when all we want to have is an indication as to which person belongs to which family without bothering to know the qualities of every association separately. The four separate cases, i.e. existence of participants only, existence of participants and definitors, existence of participants and descriptors and existence of all three groups of items together are illustrated in Figs. 2(a), (b), (c) and (d) respectively. It is important to point out that some descriptors can be common between different participants. This is the case when we wish to show not only the quality of the interaction between a participant and the definitor (or between two participants) but when we need to show the association between one participant and the definitor (or between two participants) through the associations of one or more other participants.t This resembles the concept of a function, i.e. if y =.t'(x) and x = @(t) y = ~(t) = i[,p(t)]. Let us now return to the study of relational linkages in the data structure. A relational linkage consists of two parts. The first part, which is always present in every relational linkage, called the descriptive part, is a sequence of up-pointers. Each up-pointer in the sequence belongs to either an object block corresponding to a participant, or an object block corresponding to a descriptor. These two blocks will be referred to as participant block and descriptor block respectively. The descriptive part of every relational linkage has as many branches as there are participants. A branch starts at the up-pointer in a participant block and threads through up-pointers belonging to relevant descripter blocks up to the object block corresponding to the definitor of the interaction. This object block is called the definitor block. If the system does not include descriptors for a group of interactions then the descriptive parts of relational linkages corresponding to these interactions go directly from each participant to the definitor blocks corresponding to particular interactions. Analogous to that, if definitors of a group of interactions are omitted, then the descriptive parts of the associated relational linkages degenerate to a bi-directional net linking together all participants involved in an interaction in the group. The second part of a relational linkage, called the relational part, is a sequence of link-pointers. Each linkpointer belongs to either a participant block or to the definitor block. The relational part of the linkage starts at the link-pointer belonging to the definitor block and

A network oriented information structure; networks, semantics and structures

©

47

©

a.

/

\

I

f--~

\

I

b.

[PRll ~

\

/

~ /

©

© C.

/

\

/

\

/

\

FI'I1

I

/

I I

/

N

\

1'l

FH2

I

!

I

6

I

d.

Ft43

r~6

0

t

0 Fig. 2.

threads through the link-pointers belonging to those participant blocks representing participants in the particular interaction. The order in which participant blocks are placed in the relational part of the linkage is not important, and the relational part of the linkage ends at the last participant block whose link-pointer is empty. If the definitor of an interaction is not included in the consideration, then the relational part of the linkage can either be omitted or else it starts in any participant block and threads through all other participant blocks in the linkage. There are three differences between the relational part and the descriptive part of a relational linkage: (a) The descriptive part of a linkage is always present

which is not the case with the relational part. The relational parts of relational linkages are introduced only for convenience. When searching for all participants involved in an interaction, it is very simple to start from the definitor block and follow the flow of the link pointers. If the relational part of the linkage does not exist, then a search has to be performed through all participant blocks in the data structure. It is necessary to find if the descriptive part of the relational linkage of every participant in the structure leads to the particular definitor. The space used for relational parts of relational linkages in the data structure is more than off-set by savings in the computer memory space and the computer execution time used by the software procedures when searching for

48

N. MAROVAC

/

/

/ /

\

I

I I

/

I

~14

I

t

\

/

N I

FH5 4

[

",

I

\

I } I I I

FM3

I

©

I

(5 Fig. 3.

items participating in an interaction, if relational parts do not exist. This is especially relevant if there are more than two items participating in an interaction; (b) The direction of flow of pointers. Pointers in a relational part of a relational linkage thread from the definitor block, starting in its link-pointer, through linkpointers in participant blocks. The flow of pointers in a descriptive part is in the opposite direction, from participant blocks towards the definitor block. The flow starts in the up-pointer of participant block and threads through up-pointers of descriptor blocks in that branch of the descriptive part. The flow ends in the up-pointer belonging to the descriptor block preceding the definitor block (this up-pointer points normally to the "identifier" of the definitor block); (c) The order in the sequence of threading in the relational part is irrelevant, but the order of threading in a sequence in the descriptive part is important and must be kept because it indicates the hierarchy of the flow of the interaction. The concept of relational parts and descriptive parts of relational linkages is illustrated in Fig. 4 which demonstrates relational linkages for the case given in Fig. 1. The notations from Fig. 1 are used here to denote corresponding object blocks. Notations d, p and dsc are added to stress the types of blocks as definitor blocks, participant blocks and descriptor blocks respectively. Full lines denote relational parts and dashed lines denote descriptive parts of relational linkages. Vertical arrows denote up-pointers and horizontal arrows denote linkpointers. 4. IMPLEMENTATIONANDREALISATIONOF THE STRUCTURE An item representing a network element with two terminals is shown on Fig. 5(a); its corresponding object block on Fig. 5(b). The structure of the object block comprises an identifier called description word (DW), the relevant data to describe the item stored in the block and the set-ring link (SRL).

The description word stores an indication of the type and length of the block and occupies a memory register. The data is stored in a variable number of registers, depending on the type and class of the item, following the description word. The data may include one or more set-ring starts if the item corresponding to the object block owns one or more sets. The set-ring link follows the data and is the last field in the block. SRL is a "jump" pointer to the next object block on the same set-ring. The jump mode of the jump pointer corresponds to the operational code of the JUMP instruction in accordance with the instruction repertoire of the machine and programming language used. This ensures continuous processing (traversing) of the blocks when the data stored in object blocks is in the form of executable instructions. This is very useful in the application of the information structure for either computer graphics (when the jump corresponds to a display jump operational code) or in the dynamic chaining of procedures. In the latter case the blocks represent procedures or activities and the jump is the operational code of the language used. In order to ensure the continuous processing of the blocks when the data in objects blocks is in the form of sequences of executable instructions, the entry to an object block is not at the description words (which is never in the form of excutable instructions) but at the register immediately following it. Link-pointers and up-pointers, as parts of relational linkages, are variable parts depending on the number and the nature of interactions in which the item corresponding to the object block is involved, as well as our need to include relational parts or not. Because of this variability, up- and link-pointers are not included in the actual structure of object blocks: they are merely attached to object blocks preceding description words and so do not disturb the structure of the blocks. When both types of pointers are present, link-pointers precede " up-pointers. Every pointer occupies one register. Suppose that the item in question in Fig. 5(a) is in-

A network oriented information structure; networks, semantics and structures

I

. . . . .

t

I

J

(dsc)

dsc

49

J F-

. . . .

I I

(d)

t

Y I

. . . .

I

I

I

I

I

(dsc)

I_1

FM 3

I

(dsc)

I

I

J

,F I

1

I

(p)

I

(p)

]

F i g . 4.

T2 °

TI

a.

T7

~//

T2 DW data SRL b.

Fig. 5.

volved only in connectivity interactions. Having two terminals its object block will be included in two connectivity relational linkages, thus the reason for two link-pointers and two up-pointers. On Fig. 5(b) linkpointers are denoted by horizontal arrows and up-pointers by vertical arrows. TI and T2 stand for the first and the second terminal respectively. If the relational parts of the connectivity relational linkages are omitted then the link-pointers do not exist. The complete demonstration of the application of the network-type data structure is given in an example of a network shown in Fig. 6. In the figure Eli's denote network elements, Ndi's denote nodes, Ln/s denote lines (connections), T/s element terminals, Jc denotes a junction, and the dashed line depicts the control effect by which element El, influences element Elz. Corresponding

N. MAROVAC

5O

corresponding to the network includes set-ring starts for both set-rings. Set-rings are denoted by full lines. Only descriptive parts of relational linkages are present and they are denoted by dashed lines. The data structure in Fig. 8 is based on the following consideration of the same system. Set _I in this case is defined as

data structures are presented in Figs. 7 and 8. For Fig. 7 we consider the system in Fig: 6 as a set 1 =/d:_/is network/element/node}. Set _i is portioned into three sets l = N t U El U Nd.

_i: _i is network/element/node/ 1 -/= tconnection feature/control effecty

However, we have only one network as a member of the network set Nt. Furthermore we can distinguish a set of elements and a set of nodes and they are represented by corresponding set-rings. Both set-rings are owned by the network and we can see in Fig. 7 that the object block

This set _/is partitioned as _/= Nt U El U Cf U Ctrls

Nd2 Ln 6/k~k

/

,,r2

/~

I ~

~7

Nd.

/Ln~

~

X Ln5

o

T2 Ln i Jc Ln 2 TI

TI

~

T2

Fig. 6. Network DW

data SRS

.

(elementl

data

I

SRS (nodes)

I

q I

I I~ El1

I I

E~

1 I'

~//6/ontrol _j--~

-I I

El 3

E1

71 ii -JI

-Jl

.]I data

I data

~

SRL

SRL

data 1

I I. . . . . . .

J

I

DW

SRL

data

I J

Fig. 7.

SRL

]

A network oriented information structure: networks, semantics and structures

51

Network

Control effect

__L-- I

_ __j,

._;':

I

---, i

L.

--

~,{2 ~2.~. }, D'~ I

- ; 4 " ~ 7 zl

, ~ T1

I H T1I

°w

~';

I I "--'17 T1

,

-2i

['/T1

L_22__

J

1 Fig. 8.

where Cf are connectivity features which are in this case either lines (connections) or junctions and Ctrls are control effects by which one element influences other elements. Again the set Nt has only one member, the network. However, this time the network owns three sets: the set of network elements El; the set of nodes Nd; and the set of control effects between network elements Ctrls. The last mentioned set has only one member and that is the effect element El, has on element EI~. The set of connectivity features Cf is partitioned in

three separate sub-sets, i.e. Cf = CfNdl U CfNa2 U CfN~3 where CfNal, CfN~ and CfNd3 are owned by nodes Ndl, Nd2 and Nd3 respectively and include all connectivity features (lines and junctions) comprised in each particular node. To obtain hierarchy of connections nodes are associated with element terminals; node Nd~ with the terminal T2 of the element EI~, node Nd2 with terminal TI of the element El2 and node Nd3 with the terminal T2 of the element El4.

52

N. MA~v~

We can note the difference in the directions of the presentation of the control effect between elements El~ and EI2 in Figs. 6, 7 and 8. In Fig. 6 the arrow points from element Ell to El2 as the element Ell controls the element El2. However, in Figs. 7 and 8 the arrow on the descriptive part of the linkage points from the controlled element EI~ to the element Ell to show which is the controlling element. It is obvious from Fig. 8 that looking into the representation of the data structure we can very simply reconstruct the network.

The research described in this paper was supported by a Science Research Council Grant.

5. CONCLUSION From a study of some general network structural properties, network oriented information structure named "a network-type information structure" has been developed. This structure is well suited for representation of general networks in interactive computer programs for computer aided design of these networks. An example of the implementation and application of the structure is a single data-display structure for a software system for general network analysis using interactive computer graphics.

5. R. Williams, A survey of data structures for computer graphics systems. Computing Surveys 3(I), 1-21 (March 1971). 6. D. Evans & A. van Dam, Proc. IFIP Cong. Vol. 1, pp. 557564. North Holland Amsterdam (1968). 7. P. D. Rovner & J. A. Feldman, The LEAP language and data structure. Proc. IFIP Congress, Vol. 1, pp. 579-585. North Holland, Amsterdam (1968). 8. G. D. Dodd, APL---A language for associative data handling in PL/1. Proc. AFIPS, FJCC, pp. 677--684. Spartan Books, New York (1966). 9. C. I. Johnson, Principles of interactive systems. IBM System J. Nos 3 and 4, 147-172 (1968). 10. N. Marovac & W. S. Elliott, A Network oriented language--A new approach to network design using interactive graphics. Comput. Graphics 2(1), 23-30 (1977). I1. N. Marovac, SYGNA--A complete software system for general network analysis using iteractive computer graphics. 4th DECUS European Conf. Strasburg, France, (Sept. 1972). 12. N. Marovac, A single data-display structure: A new view on interactive graphics in CAD. ComputerJ. 16(2) (1980).

REFERENCES

1. L. G. Roberts, Graphical communication and control languages. Second Congress on the Information System Sciences, pp. 211-217. Spartan Books, New York (1965). 2. J. C. Gray, Compound data structure for computer aided design; a survey. Proc. ACM Nat. Conf. (1967). 3. K. J. MacCallum, The general ring processor. Progress Rep. Sept. 1967 to Ministry of Technology "Application of interactive computer displays to ship design" (1967). 4. D. Ross, ICES System Design. MIT Press, Cambridge, Mass.

(1966).

Acknowledgements--I should like to express my thanks to Prof. W. S. Elliott, Prof. of Computing, Department of Computing and Control, Imperial College, for his help and encouragement in preparing this paper. I should also like to thank Dr. R. D. Spence, Department of Electrical Engineering, Imperial College, for his valuable comments.