[erlang-questions] OPL on Erlang (Was earlier "RE:Best practices in gen_fsm usage")

Guy Wiener wiener.guy@REDACTED
Sat Dec 17 21:13:05 CET 2011


Hello Torben, Avinash,
Sorry to join into the discussion late, but enthusiastically, nevertheless.
I actually worked on OPM-to-Erlang transformation some time ago.
 Unfortunately, it wasn't published, but I included some of the examples in
my PhD dissertation.  I still got some of the supporting material:
- A Prolog implementation of OPL, that allows writing OPL paragraphs and
querying/transforming them directly as Prolog programs.  It's very useful
for this kind of works.  Also generates OPD as Graphvis Dot files.
- An Erlang to Prolog, and vice versa, translator, using the Erlang
abstract form.  Can be used with the above framework.
- I should have my notes on transforming OPL to Erlang somewhere - If
you're interested, I'll attach it in a direct e-mail.

In any case, I'll be really interesting in contributing to the discussion!

Best,
  Guy Wiener.

On Sat, Dec 10, 2011 at 12:42 AM, Torben Hoffmann
<torben.lehoff@REDACTED>wrote:

>  Hi Avinash!
>
>
> On 9/12/11 5:41 , Avinash Dhumane wrote:
>
>  >>>>** **
>
> *From:* erlang-questions-bounces@REDACTED [
> mailto:erlang-questions-bounces@REDACTED<erlang-questions-bounces@REDACTED>]
> *On Behalf Of *Torben Hoffmann
>
> ****
>
> I think that Object Process Methodology (used lightly) and Message
> Sequence Charts are better ways of structuring your high level thoughts.**
> **
>
> >>>>** **
>
> ** **
>
> Hi Torben,****
>
> ** **
>
> Found a reflection of my voice in you!
>
> I had a hope that there was life out there... ;-)
>
>  ****
>
> ** **
>
> 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!). ****
>
> ** **
>
> 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”.
>
> 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!!
>
> 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.
>
>  To give some examples:****
>
> 1) A “process” of OPM is not an “Erlang process” – well, yes & no! ****
>
> 2) Moreover, an “OPM object” needs to find an expression in “Erlang
> process” – again, yes & no! ****
>
> 3) OPM maintains the duality of “objects and processes”, whereas Erlang
> wants to see every_thing_ as a “process”. ****
>
> 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.****
>
> 5) I am not confident enough to say something on “state” in OPM and
> “state” in Erlang.****
>
> I am not 100% in agreement with the way you map things here.
>
> 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.
>
> "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".
>
> 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.
>
> State - in my interpretation - maps almost directly how state of an Erlang
> process is handled.
>
>  ** **
>
> 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.
>
> Code a few programs and you will begin to see the world with different
> eyes... I promise!!
>
>
>  ****
>
> ** **
>
> I am currently stuck on integrating the spirit of OPM/OPL and spirit of
> Erlang AOS. ****
>
> ** **
>
> Is there some work going around in OPM and Erlang that can help me unlock
> spiritually?
>
> 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.
>
>   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.
>
> 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.
>
> 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.
>
> 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 ;-)
>
> Cheers,
> Torben
>
>  ****
>
> ** **
>
> Thank you****
>
> ** **
>
> Kind regards****
>
> ** **
>
> Avinash****
>
>
> _______________________________________________
> erlang-questions mailing listerlang-questions@REDACTED://erlang.org/mailman/listinfo/erlang-questions
>
>
> _______________________________________________
> erlang-questions mailing list
> erlang-questions@REDACTED
> http://erlang.org/mailman/listinfo/erlang-questions
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20111217/88247a2e/attachment.htm>


More information about the erlang-questions mailing list