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:
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.