<HTML><BODY style="word-wrap: break-word; -khtml-nbsp-mode: space; -khtml-line-break: after-white-space; ">Thanks,<DIV><BR class="khtml-block-placeholder"></DIV><DIV>I had obviously totally overlooked the processes aspect!</DIV><DIV><BR class="khtml-block-placeholder"></DIV><DIV>So, for example in a session-full web application, the initial logical step would be to define one process per connected user and see if in addition to that some other services could be made concurrent by adding processes. The supervision tree is less clear for me, especially in a web application. I suppose if you distribute processes on several nodes, you want to make sure the connected user process is notified in case of a problem and the faulty process gets restarted somewhere.</DIV><DIV><BR class="khtml-block-placeholder"></DIV><DIV>Related to this, I will also have some questions about fault tolerance, but this will be the subject of another mail.</DIV><DIV><BR class="khtml-block-placeholder"></DIV><DIV>Alex</DIV><DIV><BR class="khtml-block-placeholder"><DIV><DIV><DIV>Le 22 oct. 07 à 16:07, Vance Shipley a écrit :</DIV><BR class="Apple-interchange-newline"><BLOCKQUOTE type="cite"><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">Andrew,</DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; min-height: 14px; "><BR></DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">As a Concurrency Oriented Programming Language (COPL) the first</DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">thing I believe you want to do is to decide what processes you</DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">will use.<SPAN class="Apple-converted-space">  </SPAN>After modeling the concurrency aspects the next thing</DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">I do is to model the supervision heirarchy.<SPAN class="Apple-converted-space">  </SPAN>Only after this is</DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">done do I reason about what a user API will look like.</DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; min-height: 14px; "><BR></DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><SPAN class="Apple-tab-span" style="white-space:pre">    </SPAN>-Vance</DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; min-height: 14px; "><BR></DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">On Mon, Oct 22, 2007 at 02:47:44PM +0200, Alexander Lamb wrote:</DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">} <SPAN class="Apple-converted-space">  </SPAN>Indeed, in the object oriented world, I would start by finding what my<SPAN class="Apple-converted-space"> </SPAN></DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">} <SPAN class="Apple-converted-space">  </SPAN>classes might be and the relationship between them. Gradually I would add<SPAN class="Apple-converted-space"> </SPAN></DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">} <SPAN class="Apple-converted-space">  </SPAN>functions (class or instance methods) to the classes in order to provide<SPAN class="Apple-converted-space"> </SPAN></DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">} <SPAN class="Apple-converted-space">  </SPAN>solid foundations on top of which I can write an application.</DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; min-height: 14px; "><BR></DIV> </BLOCKQUOTE></DIV><BR><DIV> <SPAN class="Apple-style-span" style="border-collapse: separate; border-spacing: 0px 0px; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; text-align: auto; -khtml-text-decorations-in-effect: none; text-indent: 0px; -apple-text-size-adjust: auto; text-transform: none; orphans: 2; white-space: normal; widows: 2; word-spacing: 0px; "><SPAN class="Apple-style-span" style="border-collapse: separate; border-spacing: 0px 0px; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; text-align: auto; -khtml-text-decorations-in-effect: none; text-indent: 0px; -apple-text-size-adjust: auto; text-transform: none; orphans: 2; white-space: normal; widows: 2; word-spacing: 0px; "><SPAN class="Apple-style-span" style="border-collapse: separate; border-spacing: 0px 0px; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; text-align: auto; -khtml-text-decorations-in-effect: none; text-indent: 0px; -apple-text-size-adjust: auto; text-transform: none; orphans: 2; white-space: normal; widows: 2; word-spacing: 0px; "><DIV>--</DIV><DIV>Alexander Lamb</DIV><DIV>Founding Associate</DIV><DIV>RODANOTECH Sàrl</DIV><DIV><BR class="khtml-block-placeholder"></DIV><DIV>4 ch. de la Tour de Champel</DIV><DIV>1206 Geneva</DIV><DIV>Switzerland</DIV><DIV><BR class="khtml-block-placeholder"></DIV><DIV>Tel:  022 347 77 37</DIV><DIV>Fax: 022 347 77 38</DIV><DIV><BR class="khtml-block-placeholder"></DIV><DIV><A href="http://www.rodanotech.ch">http://www.rodanotech.ch</A></DIV><DIV><BR class="khtml-block-placeholder"></DIV></SPAN></SPAN><BR class="Apple-interchange-newline"></SPAN> </DIV><BR></DIV></DIV></BODY></HTML>