[Pgi-wg] OGF PGI Requirements - Flexibility and clarity versus Rigidity and confusion

Etienne URBAH urbah at lal.in2p3.fr
Fri Apr 30 10:24:01 CDT 2010


Balazs, Morris, Luigi, Johannes and all,


Concerning the capture and discussion of the requirements :


I think that the main problem is NOT the large number of requirements, 
but the fact that many original requirements were formulated in a very 
confusing manner.

In particular, many original requirements simultaneously present :
A) mainly, the WAY the Execution Service would perform a desired 
functionality,
B) sometimes, the INTERFACE which a Client would use to access this 
functionality,
C) implicitly, the NEED for this functionality.

This causes us to lose much time in useless discussions, because this 
requires to use following process :
-  First, focus on C) to precisely define the functionality, and assess 
its usefulness,
-  Second, focus on B) to define the Client interface,
-  Third, verify that there is no garbage from A) left anymore.

Working on the original explicit, implicit or hidden requirements found 
inside the documents, this is exactly the process which I personally 
followed, splitting complex confusing requirements into simpler and 
clearer ones.
This permitted that requirements which I personally wrote down could be 
often quickly understood, discussed, and even sometimes quickly labeled 
YES (positively agreed) or NO (No agreement yet).


For the many requirements which are still unclear, I therefore urge you 
to accept that I split them into simpler smaller requirements :

-  Apparently, it will increase the total number of requirements,

-  But in fact, after an easy work, that will increase the percentage of 
requirements labeled YES and diminish the percentage of requirements 
labeled UNCLEAR.


As example, please study following requirement, labeled 'Still UNCLEAR 
after 10 mn discussion' :

-  JD20  (115)  Job Description document should offer a new re-usable 
structure to define 'scalabletime' requests optionally depending on 
benchmark results.


I will split it into the 4 following requirements :


-  Description of the needed functionality :

    JD20.1  For 'Wall clock time' and 'CPU time' limits, the Execution 
Service SHOULD accept Client requirements independently of the speed of 
the Computing Resource on which the Activity will run


-  Description of the conceptual Client interface :

    JD20.2  For 'Wall clock time' and 'CPU time' limits, the Job 
Description document SHOULD offer a new re-usable structure permitting 
to describe requirements independently of the speed of the Computing 
Resource on which the Activity will run


-  First option for a precise description of the Client interface :

    JD20.3  For 'Wall clock time' and 'CPU time' limits, the re-usable 
structure permitting to describe requirements independently of the speed 
of the computing resource on which the Activity will run SHOULD be the 
ordered pair (Value, Unit) where :
    - 'Value' is the max number of operations allowed for the Activity,
    - 'Unit'  is as unit suitable for a total number of operations, from 
a closed list to be refined (such as 'Specint2006 * hours' or 'Billions 
of floating point operations')
    This method is already used by BOINC and has proved it robustness.


-  Second option for a precise description of the Client interface :

    JD20.4  For 'Wall clock time' and 'CPU time' limits, the re-usable 
structure permitting to describe requirements independently of the speed 
of the computing resource on which the Activity will run SHOULD be a 
'scalabletime' specified by a (Value, BenchmarkType, BenchmarkValue) 
triplet as described in chapter 7.2 of the Specification Draft


I am absolutely certain that these 4 simple requirements will be quickly 
understood.
I am quite sure that we will immediately obtain a YES for JD20.1 and 
JD20.2, and perhaps quickly a YES to either JD20.3 or JD20.4 (and a NO 
to the other one).


In the same way of thinking, I will re-propose following dropped 
requirements.  With sometimes an improved title, they describe the NEED 
for a precise Client interface, WITHOUT specifying the precise component 
which will implement them :

-  IS10  For requests querying Status of finished Activity, the 
Information functionality MUST accept, as input parameter, 1 Activity ID

-  IS12  For requests querying Activity Status, the Information 
functionality MUST accept, as input parameter, complex queries on 
Activities expressed according to the GLUE2 model without explicit 
specification of the Activity IDs.  The Information functionality MAY 
support multiple query languages in addition to the mandatory one.

-  LB4   For all requests, the Query functionality for Activity Logs 
MUST accept, as input parameter, 1 Activity ID

-  LB6   For all requests, the Query functionality for Activity Logs 
MUST accept, as input parameter, complex queries on Activities expressed 
according to the GLUE model without explicit specification of the 
Activity IDs.  The Logging and Bookkeeping functionality MAY support 
multiple query languages in addition to the mandatory one.


Besides, I just detected that we forgot to study following requirement, 
which was mentioned in my mail dated 26 April 2010.  Is it possible to 
associate spreadsheet ID 172 to it ?

-  IS14  In order to prevent overloading the Execution Service (which 
has performance requirements for Activity Management), the Information 
functionality SHOULD be separated from the Execution Service


Thank you in advance for accepting that, when starting with original 
confusion :
- rigidity prevents improvement and favors endless confusion,
- flexibility favors improvement and then clarity.


Best regards.

-----------------------------------------------------
Etienne URBAH         LAL, Univ Paris-Sud, IN2P3/CNRS
                       Bat 200   91898 ORSAY    France
Tel: +33 1 64 46 84 87      Skype: etienne.urbah
Mob: +33 6 22 30 53 27      mailto:urbah at lal.in2p3.fr
-----------------------------------------------------

-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 5073 bytes
Desc: S/MIME Cryptographic Signature
Url : http://www.ogf.org/pipermail/pgi-wg/attachments/20100430/e72c8cef/attachment.bin 


More information about the Pgi-wg mailing list