From owner-freebsd-doc Sat Sep 21 11:46:16 2002 Delivered-To: freebsd-doc@freebsd.org Received: from mx1.FreeBSD.org (mx1.FreeBSD.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 8409D37B401; Sat, 21 Sep 2002 11:46:14 -0700 (PDT) Received: from khavrinen.lcs.mit.edu (khavrinen.lcs.mit.edu [18.24.4.193]) by mx1.FreeBSD.org (Postfix) with ESMTP id F209A43E7B; Sat, 21 Sep 2002 11:46:12 -0700 (PDT) (envelope-from wollman@khavrinen.lcs.mit.edu) Received: from khavrinen.lcs.mit.edu (localhost [IPv6:::1]) by khavrinen.lcs.mit.edu (8.12.3/8.12.5) with ESMTP id g8LIkBVo070105 (version=TLSv1/SSLv3 cipher=EDH-RSA-DES-CBC3-SHA bits=168 verify=OK); Sat, 21 Sep 2002 14:46:12 -0400 (EDT) (envelope-from wollman@khavrinen.lcs.mit.edu) Received: (from wollman@localhost) by khavrinen.lcs.mit.edu (8.12.3/8.12.5/Submit) id g8LIkB0X070102; Sat, 21 Sep 2002 14:46:11 -0400 (EDT) (envelope-from wollman) Date: Sat, 21 Sep 2002 14:46:11 -0400 (EDT) From: Garrett Wollman Message-Id: <200209211846.g8LIkB0X070102@khavrinen.lcs.mit.edu> To: standards@FreeBSD.org Cc: doc@FreeBSD.org Subject: POSIX options concordance in XML X-Fingerprint: A80D 04DD A9A7 F651 F53A A8E4 23E7 86E9 BEED 946E X-Key-Id: 1024D/BEED946E Sender: owner-freebsd-doc@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.org After spending about eight hours poring over two of the four volumes of 1003.1-2001, I have created a machine-readable (XML) description of all of the official and the interfaces which are associated with them. Currently, this covers all optional behavior described in the interface reference sections of XBD and XSI, with a few exceptions. Some interfaces are described in more detail than others. For example, the description of the Threads option simply states ``the header is required''; the description of the Barriers option (which is represented as a sub-option of Threads) states explicitly the names of types and functions which are required to be implemented in for this particular option. I expect that this concordance can be used in a number of ways: - Generating automatic option testing scripts and test-coverage reports. - Creating documentation of the implementation's choice of options. - Creating a script to interactively query any implementation as to choice of options (using the getconf utility). Some amount of conformance information has been encoded in the concordance, specifically for implementation-defined limits and constants required to have a specific value; however, this is not a substitute for a full conformance-testing suite. In particular, some elements of optional behavior are described in English rather than in machine-readable form. It might at some point be extended along this axis to cover mandatory interfaces as well as optional ones. (In fact, I think the schema is ready for this, but my wrists are not going to tolerate that.) I have not created an official schema, but it should be fairly obvious from the vocabulary and the structure of the file. If it proves useful, and I manage to write some of the tools I've described, I'll check this in to the tree. URL: PGP: -GAWollman To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-doc" in the body of the message