Browsing Semantics using Boolean Petri nets

A Petri net consists of places and transitions. The places contain zero or more tokens. Transitions take tokens from their input places and add tokens to their output places.

In a Boolean Petri net (BPN) all places always contain one token, which holds the value true or false. Instead of removing tokens transitions change the value in their input places into false, and the value in the output places into true. The figure below shows a BPN for a link from node n1 to nodes n1, n2 and n3. Node n1 remains accessible, while n2 and n3 become accessible. The value of the state of the hyperdocument for a node is the value of its token in the BPN.

In order to capture browsing semantics in general, we need to translate all possible actions into parts of a BPN.

  1. First we translate the link structure to a BPN, at each level of the towers. This generates as many BPN's as there are levels in the towers. (However, normally only one of the levels has links, except for instance in the Sepia system [SHHLSST92].)
  2. Then we describe the operations to switch between description levels, by adding transitions interconnecting the BPN's for the individual levels. Normally these operations are fairly simple, so they should fit into the BPN framework.
  3. We add transitions for operations to move between views in a city. If the city is infinite, it will still only have a finite number of anchors, so when we partition the city into sets of views with the same accessible anchors we get a finite set of partitions. From a behavioral point of view the views within a partition are equivalent.
  4. Finally we add transitions for zooming in and out of composite objects. These operations are typical for going from a browser-type representation of a composite object to one of the elements of the composite and vice versa. We assume that whatever composite constructor was used the behavior of the composite can be modeled by a BPN.
This translation ignores the possibility that anchors in basic nodes may not always be accessible, or that basic objects behave in a way that cannot be translated into BPN's. When simultaneously displayed nodes overlap on the screen the assumption is that all anchors in these nodes can be made accessible by moving windows. This behavior, outside the hypertext system, is not explicitly modeled.