<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    Hi Avinash!<br>
    <br>
    On 9/12/11 5:41 , Avinash Dhumane wrote:
    <blockquote cite="mid:001e01ccb62c$c88e3180$59aa9480$@com"
      type="cite">
      <meta http-equiv="Content-Type" content="text/html;
        charset=ISO-8859-1">
      <meta name="Generator" content="Microsoft Word 12 (filtered
        medium)">
      <style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
@font-face
        {font-family:Consolas;
        panose-1:2 11 6 9 2 2 4 3 2 4;}
@font-face
        {font-family:"Segoe UI";
        panose-1:2 11 5 2 4 2 4 2 2 3;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";
        color:black;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
pre
        {mso-style-priority:99;
        mso-style-link:"HTML Preformatted Char";
        margin:0in;
        margin-bottom:.0001pt;
        font-size:10.0pt;
        font-family:"Courier New";
        color:black;}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
        {mso-style-priority:34;
        margin-top:0in;
        margin-right:0in;
        margin-bottom:0in;
        margin-left:.5in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";
        color:black;}
span.apple-style-span
        {mso-style-name:apple-style-span;}
span.HTMLPreformattedChar
        {mso-style-name:"HTML Preformatted Char";
        mso-style-priority:99;
        mso-style-link:"HTML Preformatted";
        font-family:Consolas;
        color:black;}
span.EmailStyle20
        {mso-style-type:personal-reply;
        font-family:"Segoe UI","sans-serif";
        color:#1F497D;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
      <div class="WordSection1">
        <p class="MsoNormal">>>>><o:p> </o:p></p>
        <p class="MsoNormal"><b><span
style="font-size:10.0pt;font-family:"Tahoma","sans-serif";color:windowtext">From:</span></b><span
style="font-size:10.0pt;font-family:"Tahoma","sans-serif";color:windowtext">
            <a class="moz-txt-link-abbreviated" href="mailto:erlang-questions-bounces@erlang.org">erlang-questions-bounces@erlang.org</a>
            [<a class="moz-txt-link-freetext" href="mailto:erlang-questions-bounces@erlang.org">mailto:erlang-questions-bounces@erlang.org</a>] <b>On Behalf
              Of </b>Torben Hoffmann<br>
            <br>
          </span><o:p></o:p></p>
        <p class="MsoNormal">I think that Object Process Methodology
          (used lightly) and Message Sequence Charts are better ways of
          structuring your high level thoughts.<o:p></o:p></p>
        <p class="MsoNormal">>>>><o:p> </o:p></p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal">Hi Torben,<o:p></o:p></p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal">Found a reflection of my voice in you!</p>
      </div>
    </blockquote>
    I had a hope that there was life out there... ;-)<br>
    <blockquote cite="mid:001e01ccb62c$c88e3180$59aa9480$@com"
      type="cite">
      <div class="WordSection1">
        <p class="MsoNormal"><o:p></o:p></p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal">I am contemplating to compile a
          specification of what a system is and does as stated using
          OPM/OPL, into (and run on) an Erlang AOS (Application
          Operating System, as Joe puts it!). <o:p></o:p></p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal">There is some “impedance” mismatch between
          the “symbols” (ideas) of OPL and Erlang, though in spirit, I
          (want to) believe that Erlang AOS is a perfect (i.e.
          isomorphic) vehicle for materializing a “OPL system”. </p>
      </div>
    </blockquote>
    I concur - I think OPM/OPL's way of describing systems fits very
    with the way Joe refers to Erlang... the most object oriented
    language out there!!<br>
    <br>
    The major hurdle to get past when using OPM as an Erlanger is that
    processes in OPM does not map to the Erlang processes as you also
    state it.<br>
    <blockquote cite="mid:001e01ccb62c$c88e3180$59aa9480$@com"
      type="cite">
      <div class="WordSection1">
        <p class="MsoNormal">To give some examples:<o:p></o:p></p>
        <p class="MsoNormal">1) A “process” of OPM is not an “Erlang
          process” – well, yes & no! <o:p></o:p></p>
        <p class="MsoNormal">2) Moreover, an “OPM object” needs to find
          an expression in “Erlang process” – again, yes & no! <o:p></o:p></p>
        <p class="MsoNormal">3) OPM maintains the duality of “objects
          and processes”, whereas Erlang wants to see every_thing_ as a
          “process”. <o:p></o:p></p>
        <p class="MsoNormal">4) For OPM, “objects” are the things that
          are shaped and take shape, and “processes” are the things that
          shape the objects – i.e. “shape” is both a verb and noun. In
          Erlang, what gets shaped is also a process, and what shapes is
          obviously a process.<o:p></o:p></p>
        <p class="MsoNormal">5) I am not confident enough to say
          something on “state” in OPM and “state” in Erlang.<o:p></o:p></p>
      </div>
    </blockquote>
    I am not 100% in agreement with the way you map things here.<br>
    <br>
    Let's start with "OPM object" which I think is best represented as
    an Erlang process - I seem to recall that Joe also uses this
    "mapping" when refering to Erlang as an object-oriented language.<br>
    <br>
    "OPM processes" are functions in Erlang - when there are no
    side-effects for an argument to a function then the "OPM process"
    consumes the object. With side-effects in play the "OPM process"
    merely affects the "OPM object".<br>
    <br>
    It might be that there is a lot of talk about that everything in
    Erlang is processes, but the functions are there too and they play a
    significant rôle regardless of how you view the language.<br>
    <br>
    State - in my interpretation - maps almost directly how state of an
    Erlang process is handled. <br>
    <blockquote cite="mid:001e01ccb62c$c88e3180$59aa9480$@com"
      type="cite">
      <div class="WordSection1">
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal">My present view of world is as shown (&
          determined) by classic C with Unix-IPC. I don’t know other
          worlds. I haven’t made much of progress in Erlang AOS either,
          beyond few readings of Joe’s thesis paper. </p>
      </div>
    </blockquote>
    Code a few programs and you will begin to see the world with
    different eyes... I promise!!<br>
    <br>
    <blockquote cite="mid:001e01ccb62c$c88e3180$59aa9480$@com"
      type="cite">
      <div class="WordSection1">
        <p class="MsoNormal"><o:p></o:p></p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal">I am currently stuck on integrating the
          spirit of OPM/OPL and spirit of Erlang AOS. <o:p></o:p></p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal">Is there some work going around in OPM and
          Erlang that can help me unlock spiritually?</p>
      </div>
    </blockquote>
    Not that I am aware of - you could talk to Dov about it. I discussed
    a few things with him some years ago, but I did not have enough time
    on my hands to explore the topic further.<br>
    <blockquote cite="mid:001e01ccb62c$c88e3180$59aa9480$@com"
      type="cite">
      <div class="WordSection1">
        <p class="MsoNormal"> Or, may I receive some help from you on
          how you materialize a OPM-thought system into an Erlang
          system? Some directions are good enough – I know otherwise
          this is a topic of a full volume.</p>
      </div>
    </blockquote>
    If you have a simple OPM example then you can send it to me on- or
    off-line and then I will outline how I would map it to Erlang
    following the general observations I made above. That exercise will
    be interesting.<br>
    <br>
    At the moment I am using a small subset of OPM to document the
    interactions between the entities of the systems I am developing.
    Just objects and processes since that is enough to convey the major
    points of the architecture - if I had to use UML or similar I would
    have to do at least two diagrams in order to get both some static
    and dynamic structure conveyed.<br>
    <br>
    But please fire away and then I will help you get some more Erlang
    semantics under your skin - I must guide aspiring Erlangers in order
    to keep my ordination as Erlang Priest ;-)<br>
    <br>
    Cheers,<br>
    Torben<br>
    <blockquote cite="mid:001e01ccb62c$c88e3180$59aa9480$@com"
      type="cite">
      <div class="WordSection1">
        <p class="MsoNormal"><o:p></o:p></p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal">Thank you<o:p></o:p></p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal">Kind regards<o:p></o:p></p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal">Avinash<o:p></o:p></p>
      </div>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap="">_______________________________________________
erlang-questions mailing list
<a class="moz-txt-link-abbreviated" href="mailto:erlang-questions@erlang.org">erlang-questions@erlang.org</a>
<a class="moz-txt-link-freetext" href="http://erlang.org/mailman/listinfo/erlang-questions">http://erlang.org/mailman/listinfo/erlang-questions</a>
</pre>
    </blockquote>
  </body>
</html>