The Trellis Project

Hypermedia and human/computer interaction

The Trellis hypermedia project is an joint investigation between the UNC Computing Collaboratory and the Hypermedia Research Lab at Texas A&M University. Principal Investigators are David Stotts (UNC) and Richard Furuta (TAMU). The project was started in 1988 and continues to date looking at the theory and application of automata for structuring hyperdocuments and group collaboration protocols. In particular, many Trellis implementations are based on colored, timed Petri nets.

The Trellis system architecture is a client server system, with each document being an engine process that communicated via RPC with interface clients. Each client presents an application-specific view of the information stored an engine.

We have applied Trellis in several domains, including

To get reports on our Trellis projects, access the TAMU HRL server.

Pnet for moderated meeting protocol

referee B objection

browsable CSP program

CSP: three processes shown

CSP program: message sent to East

CSP program: East gets message

CSP program: message sent to X

CSP program: X gets message

Trellis: Software Process modeling

One application of Trellis is a process modeling environment that we are building with SERC support at UNC Chapel Hill. The model is based on timed colored place/transition nets, with heavy emphasis on hypertextual interaction... that is, the user has a hypertextual interface and drives execution of the model via direct interaction. Trellis is implemented as a client/server network. We have several different interface clients that interact with the models (the servers), giving different views of the information contained in models and allowing different forms of interaction with models.

Trellis contains mechanisms for expressing the relationships among agents, parallel threads of control, data capture and exchange among agents, hypermedia annotations and documentation, and for analysis of the state space of a process. It is an interpreted system, so processes can change... evolve... as simulation progresses. The colored net formalism on which Trellis is based is also appropriate for expressing CSCW protocols... interactions among the agents involved in a process.

Get the Trellis User Manual for detailed information on technology and usage of the system.

Get the whole system, Trellis release 2.0, to experiment; requires a SPARCstation (and Perl and tcl/tk).

Debit Net, for people processes

We have created Debit Nets, a new class of Petri-net-like automata for representing software processes. In modeling the activities normally undertaken during software development, it is important to allow some actions to proceed even if all its preconditions have not been met. Normal Petri net formalisms do not contains such semantics.

In Debit Nets, some arcs are designated debit arcs, shown with open arrowheads in the diagram. A debit arc indicates that its input place is not required to contain a token for the output transition to be enabled. When a transition fires, if a token is present in the place on a debit arc it will be consumed as normal; if a token is not present, an anti-token (shown as an open circle in the diagram) will be deposited in the place to record a debt. Later, a normal token will be required to combine with this anti-token to pay off the debt.

Demonstrations: try it yourself

We demonstrated applications of Trellis at the May 1994 SERC meeting, including a small idealized software development process as well as a control protocol for a moderated meeting. We are now looking for specific process data from affiliates to build significant and realistic models for further refinement of our model, techniques and methods. We are especially interested in working this year on ways to gather information for process improvement from a process and its models.

The current version of Trellis can be obtained from, directory pub/stotts. The system is compiled for SparcStations only, and also requires a Perl interpreter and tcl/tk libraries.