next up previous contents
Next: Saving a graph Up: Working with Graphs Previous: Working with Graphs

Rigi Standard Format


Rigi Standard Format (RSF) is the main file format for rigiedit. There are two major dialects of RSF: unstructured and structured. In general, external tools, conceptual modelers, and parsers provide unstructured RSF for rigiedit, and rigiedit saves the graph as structured RSF, including spatial information such as the subsystem hierarchy.

The following describes unstructured RSF.

An RSF file or stream consists of a sequence of triples, one triple on a line. Blank lines and comment lines starting with # are allowed. The format for a triple is three optionally quoted strings; the quotes are useful if the string contains whitespace characters:
verb subject object

The RSF files contain information such as actual software artifacts (and are described below). Domain-model files specify the valid verbs for these token-level RSF files (§gif).

An RSF triple can represent an arc between two nodes to the graph editor:
arcType startNodeName endNodeName

For example, using a domain model that has Function and Data type nodes interconnected by call and data access arcs, a token-level RSF stream then contains triples like:

    call    main          printf  
    call    main          listcreate  
    data    main          FILE  
    data    listcreate    List  

As well, an RSF triple can bind values to attributes of nodes:
nodeAttribute nodeName attributeValue

For example, you might note the defining file and line number where the definition of a function occurs:

    file      listcreate    "list.c"
    lineno    listcreate    10

Such information would allow you to write a Tcl procedure that opens a text editor at the function definition.

A particularly important triple assigns the type of a node:
type nodeName nodeType

For example, to note function names:

    type    listcreate    Function

tex2html_wrap_inline4844 Note: Binding values to attributes of arcs and naming arcs are not supported in unstructured RSF.

next up previous contents
Next: Saving a graph Up: Working with Graphs Previous: Working with Graphs

James Uhl
Wed Jul 10 14:13:22 PDT 1996