🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.specification
Article #292

Re: Specifying a ring in LOTOS

#292
From: Jan Rekers
Date: Fri, 02 Oct 1992 09:04
78 lines
2903 bytes
In article <1992Oct1.141058.19700@hasler.ascom.ch> dubuis@tech.ascom.ch writes:
>In article 7536@rulway.LeidenUniv.nl, rekers@elc2 (Jan Rekers) writes:
>> 
>> I wish to define a ring of processes with the following layout:
>> 
>>                      1
>>                     / \
>>                    c   a
>>                   /     \
>>                  3 - b - 2
>
>Here follows my solution:
>
>specification ring : noexit
>behaviour
>  hide b,c in
>    (
>    hide a in
>      ( node1 [c,a]
>        |[a]|
>        node2 [a,b]
>      )
>      |[c,b]|
>      node3 [b,c]
>    )
>where
>  process node1 [p,q] : noexit :=
>     p ; q ; node1 [p,q]
>  endproc
>  process node2 [p,q] : noexit :=
>     p ; q ; node2 [p,q]
>  endproc
>  process node3 [p,q] : noexit :=
>     q ; p ; node3 [p,q]
>  endproc
>endspec

The solution works as it should, but it is somehow asymetrical.

It does a perfect job in hiding the action ``a'', which should be
private between nodes 1 and 2 from any behaviour of node 3.

However, it does not prevent node 2 to perform an action ``c''
which should be used only to communicate between nodes 1 and 3,
neither does it forbid node 1 to break in the communication of 
action ``b'' between nodes 2 and 3.

From the specification of the nodes themselves, I understand that such
disruptions will never occur, but I think that they should be prevented
at top-level with the |[...]| operator.

According to me, LOTOS should have a possibility to separate the
declaration of processes from the declaration of their interaction
with other processes. That would allow for more symetrical solutions
for the above problem. Something like this:

hide a, b, c in
  declare processes
    n1 := node[c,a],
    n2 := node[a,b],
    n3 := node[b,c]
  with communications
    n1 |[a]| n2,
    n2 |[b]| n3,
    n3 |[c]| n1

Don't fuss about the syntax just invented, just about the idea's
behind it. Did I just made a perfect fool of myself?

Kind regards,				Jan Rekers

J. Rekers, Department of Computer Science, Leiden University
P.O. box 9512, 2300 RA Leiden, the Netherlands
email: rekers@rulwi.LeidenUniv.nl
-- 
J. Rekers, Department of Computer Science, Leiden University
P.O. box 9512, 2300 RA Leiden, the Netherlands
email: rekers@rulwi.LeidenUniv.nl
Technical Details
Message-ID: <1992Oct2.090402.18074@rulway.LeidenUniv.nl>
Path: arc1-ca.pugleaf.net!sparky!uunet!mcsun!sun4nl!rulway.LeidenUniv.nl!elc2!rekers
References: <1992Oct1.085838.7536@rulway.LeidenUniv.nl> <1992Oct1.141058.19700@hasler.ascom.ch>

Show Full Headers
Complete Article Headers
Newsgroups: comp.specification
Path: arc1-ca.pugleaf.net!sparky!uunet!mcsun!sun4nl!rulway.LeidenUniv.nl!elc2!rekers
From: rekers@elc2 (Jan Rekers)
Subject: Re: Specifying a ring in LOTOS
Message-ID: <1992Oct2.090402.18074@rulway.LeidenUniv.nl>
Sender: root@rulway.LeidenUniv.nl (System PRIVILEGED Account)
Nntp-Posting-Host: rulwielc2.leidenuniv.nl
Organization: Dept. of Math. and CS, Leiden University, the Netherlands
References: <1992Oct1.085838.7536@rulway.LeidenUniv.nl> <1992Oct1.141058.19700@hasler.ascom.ch>
Date: Fri, 2 Oct 92 09:04:02 GMT
Lines: 78