Thread Links Date Links
Thread Prev Thread Next Thread Index Date Prev Date Next Date Index

Re: Position: ... Have Only One Level 1 Requirement: Containment



Bill & P1788

On 1 Aug 2011, at 12:26, G. William (Bill) Walster wrote:
> Please see the attached position description.  I believe it is worth consideration.
I believe it is indeed worth consideration, and to a large extent I agree with it. But it seems to me it's not that simple...  

Here are some issues on which we have taken decisions, and which translate into requirements:

1. What containment MEANS. Bill, you know I love csets, but they give a different meaning to "containment" from the theoretical basis P1788 has chosen. The meaning derives from the chosen basic theory of:
- what is a number?
- what is a function?
- what is the range of a function over a set? 
- what is an expression, and the evaluation of an expression?
I think there were disagreements over all these. Hence Level 1 must choose definitions for these before the requirement "Thou shalt contain" can even be formulated.

2. What operations (elementary functions) are required/recommended to be supported. No one objected to this being a proper concern of P1788, as it is of 754. I think we were wise to decide to specify each function EXACTLY and not leave it to languages to define (which they have a poor track record for, IMO). What if different languages, or compilers for the same language, have different versions of some of these, e.g. of x^y, of which we debated some pretty exotic variants? All that sits squarely in Level 1, IMO.

3. How to handle exceptional cases. I think it is, or promises to be, one of the triumphs of P1788 that a system for doing this has been lifted from level 2 or 3, again to sit squarely in Level 1, with a solid theoretical foundation. As with the operations, deciding to specify this system will be a huge boost to portability of interval algorithms & code.

There is a traditional software engineering distinction between functional and non-functional requirements. I don't think the above count as either functional or non-functional. I would call them "definitional requirements". It is necessary to define what objects we talk about before we decide how they should behave! Therefore it's essential for P1788 to contain items 1,2,3 at level 1.

But once that's out of the way, I basically agree: we should "Have Only One Level 1 Requirement: Containment". Which is a non-functional requirement, I suppose.

John Pryce