- From: Alex Rousskov <rousskov@measurement-factory.com>
- Date: Tue, 1 Jul 2003 09:09:39 -0600 (MDT)
- To: Jeremy Carroll <jjc@hpl.hp.com>
- cc: www-qa@w3.org, connolly@w3.org
On Tue, 1 Jul 2003, Jeremy Carroll wrote: > I note that I find Connolly's > http://www.w3.org/2001/01/mp23 > "must is for agents" > compelling. The above URL says: I try to use the word MUST to constrain agents in processes, not to just make declarative statements; i.e. I think it's a misuse of RFC2119 to say things like "2 + 2 MUST be 4" or "every attribute value in an XML document MUST be quoted." Better to just say "2 + 2 is 4" and "every attribute value in an XML document is quoted." MUST should be reserved for cases like "you MUST be 4 feet tall to ride the rollercoaster." i.e. every MUST has an implicit "or else." It would be nice if we could somehow distinguish statements that are (or should be) "declarative" in nature from statements that (should) constrain agents behavior. To me, the distinction is very unclear. Moreover, the above examples seem to contradict the proposed "or else" criteria; I can easily render them with an "or else" part: 2 + 2 MUST be 4 or else the summator module violates rule X.Y of RFC 1234 and MUST NOT be auto-loaded. Every attribute value in an XML document MUST be quoted or else the document is invalid. See section X.Y for requirements on handling invalid XML documents. And, vice versa, the rollercoaster example can be rephrased as Rollercoaster riders are 4 feet tall Overall, it seems to me that the whole issue of "correct" RFC 2119 keyword usage is moot. There is no a single correct way and it is not important to have one. Related important matters are: - spec MUST define what Compliance Requirement (CR) is (i.e., how to isolate CRs from the rest of the spec) - spec MUST define Compliance in terms of CRs (i.e., given a spec subject, how to determine compliance) - spec MUST define Scope (i.e., what spec subjects are) Personally, I use a mixture of definitions (X is Y) and behavioral requirements (X MUST Y) in specs, but I am not sure I can define exactly when I use one versus the other. I simply use whatever seems natural to me in a given context. This subjectivity is not a problem, IMO, as long as CRs, Compliance, and Scope are defined by the spec. Alex. -- | HTTP performance - Web Polygraph benchmark www.measurement-factory.com | HTTP compliance+ - Co-Advisor test suite | all of the above - PolyBox appliance
Received on Tuesday, 1 July 2003 11:09:51 UTC