Marc,

let us know when you have a new diff, so that I can have a look at the 
new version too.

Olivier.
[EMAIL PROTECTED] wrote:
>  Charles,
>
> 1) I've adapted the code (will send a new diff Monday, maybe with a new
> name (see point 3))
>
> 2) you're right, but as explained before, I just doubled the effort for
> the test attribute (not totally knowing my way in the code for now) and
> there again the same argument applies. For the moment, both are silently
> ignored if there is no next attribute, as are probably most other
> attribute/typing mistakes.
> Changing the code to warn for all such cases is probably best done with
> a formal syntax+grammar check, but I don't feel positioned to provide
> that.
>
> 3) When reading the code, beware:
> -  for the script, the chance is a real number from 0=never to 1=always;
>
> - in the code, chance is, because of efficiency reasons, an integer from
> 0 to RAND_MAX (as documented on the variable definition)
> This way, there are no float operations and only a compare to zero is
> needed.
> In fact I first just programmed first with floats and a test a<=b, but
> this has to be done on every branch and it was quite easy to optimise.
>
> So, in the code chance=0 indeed means always, and is the opposite of
> chance="0" in  the script!
>
> If you know a decent name for the variable that indicates this
> interpretation better, I'm willing to change the name to help avoid
> confusion.
>
> 4) The behaviour you describe should be the goal (equivalent to whether
> the test on a variable fails/succeeds). Now, it is this part of the code
> on the variable test for which I don't really get what it tries to do,
> and so how to mimic the same for the chance test.
> In fact, I have the impression that the code part for the variable test
> shouldn't be there in the first place, as branching should only be
> looked at after you know what you received, and thus what state is
> triggered, and not while searching the match. But of course, I might be
> wrong in that, as, to be honest, understanding all this code correctly
> is not that easy.
>
> Best regards,
>
>    MarcVD
>
> -----Original Message-----
> From: Charles P Wright [mailto:[EMAIL PROTECTED]
> Sent: 01 December 2006 14:56
> To: [EMAIL PROTECTED]
> Cc: [email protected]
> Subject: Re: [Sipp-users] statistical (conditional) branching
>
> Marc,
>
> This seems like a really useful feature, particularly for turning a
> Markov user-model into a SIPp XML file.
> I've looked at the code a bit, but have not actually run it.  I just
> have four comments/questions:
>
> (1) In scenario.c on line 783, you may want to replace the atof function
> with the get_double wrapper that I have written.   get_double uses
> strtod
> and checks the return value, so that erroneous XML won't trip users up
> as much.
> (2) It seems that chance only makes sense if there is a next field,
> maybe a check for that should be added?
> (3) If chance is not specified, you set it to zero, why not 1?  I can
> see from the code that a chance of zero means do it all the time, but
> why not pick 1, which would have the same effect.  Additionally, then a
> chance of zero, would really be a probability of zero instead of a magic
> value.
> (4) I am not 100% sure about the optional receive behavior you are
> mentioning.  It seems like that if an optional receive happens, and
> there is a next, and chance is false, you should go to the next message
> (as if the next was not there in the first place).  Is this what
> happens, or is it something more insidious?
>
> Charles
>
> [EMAIL PROTECTED] wrote on 12/01/2006 06:56:45
> AM:> Peter,
>   
>> you're totally right that normally you don't want to use this on an
>> optional receive and that it can be replaced by an unconditional jump
>> + pause or nop.
>>
>> That's why I find it so strange that in the code part I described
>> earlier, there is that weird special handling of the conditional
>> branch (test="x"), for which finally the same arguments apply. So this
>>     
>
>   
>> way, I at least pointed out that there can be a difference in
>> behaviour between those two features, although users will probably see
>>     
>
>   
>> them as totally similar.
>>
>>   Best regards,
>>
>>   MarcVD
>>
>> From: Peter Higginson [mailto:[EMAIL PROTECTED]
>> Sent: 01 December 2006 11:24> To: [EMAIL PROTECTED];
>>     
> [EMAIL PROTECTED]> Cc: [email protected]> Subject: RE:
> [Sipp-users] statistical (conditional) branching
>
>   
>> Hi Marc,
>>
>> I have not looked at the code yet - I will I'm sure because it seems>
>> a
>>     
> useful feature.
>   
>> I would have though that you would probably not want it in combination
>>     
>
>   
>> with receive optional. The idea of the next in optional is that you go
>>     
>
>   
>> there only when you get the optional packet - the "normal" flow is in
>> effect to ignore optional packets (although I think the state machine
>> steps) so I suppose that is a valid result.
>>
>> You would be better if you wanted a statistical response to an
>> optional packet to jump out to a 100ms pause and put the chance in
>> that. That way you get two possible responses.
>>
>> Peter
>>
>> Peter Higginson
>> Newport Networks Ltd,
>> Direct line 01494 470694
>> http://www.newport-networks.com/
>>
>> From: [EMAIL PROTECTED] [mailto:sipp-users-
>> [EMAIL PROTECTED] On Behalf Of
>> [EMAIL PROTECTED]>
>>     
> Sent: 01 December 2006 10:00> To: [EMAIL PROTECTED]> Cc:
> [email protected]> Subject: [Sipp-users] statistical
> (conditional) branching
>   
>> Hello all,
>> to have sipp behave somewhat more like a "normal" sip client being
>> used by a human, I added statistical branching in the code.
>> In more detail: wherever you can have a conditional branch on a
>> variable being set (test="4"), you can also branch based on a
>> statistical decision using the attribute "chance" (e.g. chance="0.>
>>     
> 90").
> Chance can have a value between 0 (never) and 1 (always),
>   
>> "test" and "chance" can be combined, i.e. only branching when the test
>>     
>
>   
>> succeeds and the chance is good.
>> With this, you can have a variable reaction in a given scenario (e.>
>>     
> g..
> answer the call or reject with busy), or run around in a loop
>   
>> (e.g. registrations) and break out of it after some random number of>
>>     
> iterations.
>   
>> About the code:
>> As the feature is very similar to the conditional branch, I added it>
>> on
>>     
> the code wherever conditional branching was handled.
>   
>> There is one exception to this, where maybe it's not quite ok: in the
>> receive handling code around lines 2950-2990 in call.cpp, where I
>> couldn't get any clue on what exactly the goal/usage of that code part
>>     
>
>   
>> was. Maybe the author of the "test" feature could have a look at
>> that?? Anyhow,  the only possible problem the strange code part could
>> have, is with optional receives with a statistical branch in it where
>> the statistical decision would give a NO answer (everybody is warned
>> by this;-) Anyhow, it should be working without problems on pause,
>> nop, send and non-optional receives.
>> <<sipp.2006-11-08.chance.diff>>
>> Best regards,
>>
>>    MarcVD
>>
>> (-: from Marc VAN DIEST (BELGACOM ANS/NTA) +32 2 244 5078 ;-)
>>
>> **** DISCLAIMER **** http://www.belgacom.be/maildisclaimer
>>
>> ----------------------------------------------------------------------
>> --- Take Surveys. Earn Cash. Influence the Future of IT> Join
>>     
> SourceForge.net's Techsay panel and you'll get the chance to share your>
> opinions on IT & business topics through brief surveys - and earn cash>
> http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDE
> V>
> _______________________________________________> Sipp-users mailing
> list> [email protected]>
> https://lists.sourceforge.net/lists/listinfo/sipp-users
>
> **** DISCLAIMER ****
> http://www.belgacom.be/maildisclaimer
>
> -------------------------------------------------------------------------
> Take Surveys. Earn Cash. Influence the Future of IT
> Join SourceForge.net's Techsay panel and you'll get the chance to share your
> opinions on IT & business topics through brief surveys - and earn cash
> http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
> _______________________________________________
> Sipp-users mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/sipp-users
>
>   


-- 
Olivier
HP OpenCall Software
http://www.hp.com/go/opencall/


-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Sipp-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/sipp-users

Reply via email to