- From: Mark Skall <mark.skall@nist.gov>
- Date: Tue, 23 Oct 2001 17:12:22 -0400
- To: Alex Rousskov <rousskov@measurement-factory.com>
- Cc: www-qa@w3.org
- Message-Id: <5.0.0.25.2.20011023160310.02131840@mailserver.nist.gov>
At 01:13 PM 10/23/01 -0600, Alex Rousskov wrote: >On Tue, 23 Oct 2001, Mark Skall wrote: > > > We may be better at reading human language that XML or RDF, but > > are we better at interpreting what was meant by the language? > >IMO, we are no worse at interpreting human language than interpreting >[large pieces of] XML or RDF. Is there any reason to believe >otherwise? We are not machines. XML and RDF are designed to make >machine's tasks easier. It always puzzles (not to say annoys) me that >more and more interfaces designed for _human_ interaction are >switching to XML because of the "everything should be in XML!" crap. Specifications are not designed for human interaction. They are designed to communicate requirements in the most precise way possible. The fact that human interaction is required after the spec is promulgated only goes to prove that the English language has not worked as a precise way to communicate requirements. > > Standards need to be read and interpreted by implementers. Any > > language that more precisely defines requirements is better than > > one that doesn't. > >Not necessarily. Assembly language defines requirements better than C >language. C language is better when it comes to reading and >interpreting a program. Assembly language is a completely inappropriate way to define requirements. Assembly languages (and higher level programming languages as well) detail how something is done, not what must be done. Formal languages were developed precisely to define requirements (what must be done). Z, SMV, and PVS are examples of these. They are used primarily for mission-critical systems. However, the fact that we use formal requirements languages for precise definition of mission-critical systems shows that we don't use English, but rather a formal language to specify requirements, when we can't afford to make a mistake. Why not eliminate mistakes for all software development? The answer is because it costs too much to do it right and to use sophisticated mathematical languages to define requirements. XML is a compromise. It's not as precise as these languages but much easier to use and less costly to develop specs using it. > > Also, any language that allows implementers to automatically > > generate test assertions (like XML) is a useful specification > > language. > >Only if assertion generation is the primary goal of writing the specs. >I do not think it is. It's certainly one of the goals. Test assertions help enunciate the requirements. Many times these assertions are written in XML. If assertions in XML better help us understand requirements, then the spec written in XML will allow us to essentially skip or greatly reduce the effort of developing the test assertions. >Besides, it is often possible to automatically >generate test assertions without using XML. If assertion generation is >the primary goal, we should use Prolog or other logic-based systems to >write specifications. Again, to me it seems like we are trying to make >machines' work easier at the expense of human effort required to write >and understand the specs. > > > I've always believed that standards are read by implementers and > > standards committee members, not users. Thus, readability is an > > issue only as far as it can lead to precise and correct > > implementations. > >So far, implementers and standards committee members have been humans. >I see no proof that, in general, good specs in XML lead to more >precise and correct implementations than good specs in English. If >nothing else, an XML-based specs are likely to solicit fewer comments >from non-gurus outside of the WG that do not speak XML freely. > >Also, in general, specs are read and interpreted by many humans that >are not committee members or implementors. For example, thousands of >network administrators have to interpret HTTP specs to troubleshoot >their problems and assign blames. > >There are always simple edge-cases, of course, but QA WG should be >concerned with the "big picture" issues only. > >Alex. **************************************************************** Mark Skall Chief, Software Diagnostics and Conformance Testing Division Information Technology Laboratory National Institute of Standards and Technology (NIST) 100 Bureau Drive, Stop 8970 Gaithersburg, MD 20899-8970 Voice: 301-975-3262 Fax: 301-590-9174 Email: skall@nist.gov ****************************************************************
Received on Tuesday, 23 October 2001 17:11:04 UTC