Communicating Software Specifications using XML: OpenSpec

Dr. Martin v. Mohrenschildt


In an ideal world, software specifications are machine readable (can be parsed) much of the tedious verification tasks could be automated by tools. But even if the specification can be processed by one specific tool it is often worthless to other tools not to mention that machine readable specifications are normally not easily read by humans.

The first step to solve these obstacles is to develop and define a standard which allows communicate, meaning exchange semantical as well as typesetting information of software specifications, between different tools and word processing systems including browsers.

The Extensible Markup Language XML allows to represent semantical as well as formatting information of a document. Purpose of this paper is to propose a standard called OpenSpec based on XML.

The OpenSpec standard is designed to communicate formal and semi formal software specifications. Further, OpenSpec allows to have different ''views" of the same document. The presented approach is not restricted to one particular type of specification notation but is intended to be acceptable to ``all" approaches to formal and informal specifications. Special consideration is given to support tabular specifications. We developed several software tools to support parsing writing and transforming OpenSpec documents.