Subject: [savi] State machine comment on savi DHCP draft

From: "Joel M. Halpern" <[email-masked]>
Date: Wed, 21 Jul 2010 12:11:29 -0400

I have been reviewing the savi DHCP draft, to try to make sure I 
understand what is actually written.

Unfortunately, I am finding the state machine hard to follow.  I believe 
that this is both a technical issue (there are things that need to be 
specified that aren't) and an editorial issue (better readability 
improves the odds of implementors getting it right.)  I have held off 
expressing concern about this up till now largely because I was having 
trouble formulating a clear enough comment to be useful.  (I did not 
think it appropriate of me to say "make it better", without giving some 
clear idea of what I though "better" looked like.)

To start with, it is very important that events be extremely specific. 
Thus, in most of the specs I deal with (in the IETF and elsewhere), 
there are different events names for different timer expirations, and if 
we need to distinguish between a control message arriving whose contents 
match the cache, and one whose contents don't match, these events are 
given different names.

Hence, what I have usually see is first a list of the states to be 
supported, and an explicit and clear list of all the events that are of 
note.

Then, for each state, you list each event, and exactly what happens in 
that state.  If a timer is started, you state which timer is started, 
and with what interval.  Note that an important point then is to 
indicate, for the appropriate transitions, when the timer is canceled. 
(This is one of the common errors in these kinds of FSMs, where timers 
are allowed to fire after they are irrelevant.

It is also a good idea to list those events which are ignored.  It is 
not necessary to list the events which can not occur.  (Some folks 
actually do insist on listing that explicitly, in order to check the 
completeness and accuracy of the FSM.

This does make the tabular summary somewhat longer.  But it will make 
the machine significantly more readable.

Yours,
Joel

---

From: "Guang Yao" <[email-masked]>
Date: Thu, 22 Jul 2010 08:20:15 +0800

Hi, Joel

Thanks to your valuable advice. The state machine statement will be modified
accordingly, as soon as possible.

Best regards,
Guang

> -----Original Message-----
> From: [email-masked] [mailto:[email-masked]] On Behalf Of
Joel
> M. Halpern
> Sent: Thursday, July 22, 2010 12:11 AM
> To: SAVI Mailing List
> Subject: [savi] State machine comment on savi DHCP draft
> 
> _______________________________________________
> savi mailing list
> [email-masked]
> https://www.ietf.org/mailman/listinfo/savi

---

From: "Guang Yao" <[email-masked]>
Date: Fri, 23 Jul 2010 16:09:11 +0800

Folks,

We have modified the document according to the suggestion of Joel. Please
check if it is clear enough now.

Thanks to any advice.

Best regards,
Guang

> From: Guang Yao [mailto:[email-masked]]
> Sent: Thursday, July 22, 2010 8:20 AM
> To: 'Joel M. Halpern'
> Cc: 'SAVI Mailing List'
> Subject: RE: [savi] State machine comment on savi DHCP draft
> 
> Hi, Joel
>