<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>