next up previous contents
Next: Indexing and Functions Up: The External Representation of Previous: What is a Block   Contents

The Concept of External Representation

The concept of External Representation of designs can be best understood through its role in the operation of the http://designtheory.orgDesign Theory Resource Server (DTRS). DTRS has many faces, it will be an ever growing database of designs, application server, web server for design related online documents, software repository etc. The main purpose of the external representation is to provide a platform independent method for information exchange about designs. With other words, the external representation acts as a communication protocol specialized for ``talking about designs''. This protocol is used in communication between various components of DTRS and its users. Here the concept ``users'' covers both human and software agents. Some examples for such communicating agents: database back-end for storing designs, middle layers between the database and the web and/or application servers, a researcher uploading some particular collection of designs, a user searching for designs having given properties, a statistical application program directly accessing the DTRS database etc. While these agents are free to use any internal representation of designs, they must use the standard external representation when they communicate with each other.

The external representation is used in three main areas:

  1. An external representation is a formalism to encode various classes of designs as mathematical objects together with their most important properties. Many of these properties are complex mathematical objects in their own right.

  2. The external representation can define invariants of a given list of designs. The use of such invariants provides a method for formulating complex queries about designs. A query will be expressed in terms of list invariants and the reply to this query will be a list of designs satisfying these invariants.

  3. The external representation will be used as a specification tool to determine the content and, to some extent, the structure of the DTRS design database. Note, however, the database's internal representation can (and probably will) be quite different from this format.

Based on the above functionalities, we have determined the main technical requirements for an external representation as it follows.

Satisfying the requirements outlined above, one can think of many different implementations fitting the bill. We mention here two possibilities: the oldest, Lisp S-expressions; and the recently most popular, XML. Out of practical considerations, we have decided to use XML.

This document specifies an XML based implementation of the external representation for block designs. We focus mainly on the first area listed above, that is encoding block designs and their properties. The other two functionalities and other types of designs are subjects of further research and development.

We use the Relax NG [6] schema language for XML in compact syntax to specify the external representation. The reader can find the complete schema in Appendix A. It is also available as a separate file design.rnc for the purpose of direct computer use.

next up previous contents
Next: Indexing and Functions Up: The External Representation of Previous: What is a Block   Contents
Peter Dobcsanyi 2003-12-15