Department of Electrical and Computer Engineering


Hypertext Versioning (Versioned Hypermedia) in Molhado

The software artifacts produced during the development process are often logically related to each other. The logical relationships appear in many forms. They can be captured in the form of manually maintained cross-references,
organizational indexes, or table of contents. While composition relationships are used to organize software components with respect to their granularity, build dependencies specify dependencies between source objects and derived objects in a build process. Semantic dependencies exist among source code, requirements, designs, and implementations. Documents under developments or maintenance are changed and updated to produce the next revision. Therefore, the set of active logical relationships among them can also change over time as a result.

Acknowledging the importance of software relationship management, many researchers have explored the hypertext approach. However, the fact that existing hypermedia systems for software development do not focus on evolutionary aspects of relationship networks is a significant factor preventing their wider use in the software engineering domain.

To address these software traceability and logical relationship managment in software engineering tools, Molhado's versioned hypermedia infrastructure has been constructed. The distinguished characteristics are:

  1. Hyperlinks are explicit and facilitating systematic analysis, information retrieval, and visualization of logical relationship networks.

  2. Hyperlinks have variable arity to connect many documents.

  3. Molhado supports both coarse-grained linking (connecting documents as a whole) and fine-grained linking (connecting documents' fragments).

  4. The separation of the hypertext linking structure (called hypertext network) from component contents allows for multiple logical relationship networks on the same set of documents, without modifying their contents. This is particular important for program source code, whose lexical and syntactic rules hinder the use of embedded hyperlinks. The separation also gives developers more flexibility to have different relationship networks to complete particular tasks at hand without modifying documents.

  5. Molhado manages not only the evolution of hypertext networks but also of individual logical relationships.

  6. Anchors (endpoints) of hyperlinks are positioned at logical units which are also versioned at fine granularity. This facilitates consistency management tasks.

  7. To make the versioned hypermedia model compatible with W3C linking standard, we provided facilities to import
    and export a linkbase or a hypertext network from and to XLink format at any version.

  8. Molhado also supports HTML-style embedded links to improve the navigational tasks.

  9. Molhado addresses the user-interface issue in versioned hypermedia via its product versioning approach:

    • No version selection rules is involved in link traversal or hypertext manipulations since the current version is implicitly selected by users via interface operations. Therefore, the navigation becomes very natural and does not involve in selecting revisions of individual hypertext entities. When the user is ready to record the state of the project after modifying hypertext networks or components, a capture or commit command can be issued and a new version will be created. The user does not need to check in or check out components or hypertext entities individually.

  10. Traceability links are maintained among logical objects, rather than among physical software documents as in traditional traceability tools. The process of software tracing is improved since our model allows developers to work at the logical level.

More details on Molhado's versioned hypermedia infrastructure are here.