RE: MSC-News: The loop operator


Subject: RE: MSC-News: The loop operator
From: Jan Docekal (jan.docekal#telelogic.se)
Date: Thu Aug 20 1998 - 06:46:41 GMT


The originator of this message is responsible for its content.
-----From Jan Docekal <jan.docekal#telelogic.se> to mscnews -----

Dear MSC-community,

There seems to be no (reasonbale) way to express what Dagbjorn Nogva
suggests, since recursion is not allowed. (5.4 MSC reference, Concrete
graphical grammar, 3rd paragraph "MSC references must not directly or
indirectly refer to their enclosing MSC (recursion).

Currently the "only" way to express a parallell "loop" is to use the par
operator (e.g in an MSC ref expr: A par A par A). This becomes tedious
at best. To use a comment is only a good idea if there is no intention
of using software tools to check consistency with the system that the
MSC describes, since most software tools will probably ignore the
comment.

It seems that Mr. Nogva has identified the potential for a parallel loop
construct. There is of course the possibility to change the requirement
that prohibits recursion, but this solution seems to be less appealing
(in this case) since the parallell loop will be less obvious in the
recursion case.

/Best regards,
Jan

> -----Original Message-----
> From: Dmitry Zhukov [SMTP:dmjr#ispras.ru]
> Sent: den 18 augusti 1998 16:02
> To: Dagbjorn Nogva
> Cc: mscnews#sdl-forum.org
> Subject: Re: MSC-news: The loop operator
>
> The originator of this message is responsible for its content.
> -----From Dmitry Zhukov <dmjr#ispras.ru> to mscnews -----
>
> Dear Dagbjorn,
>
> On Fri, 30 Jan 1998, Dagbjorn Nogva wrote:
>
> > Dear MSC-community,
> >
> > Does the loop operator denote a parallel loop or a sequential
> > loop? By parallel loop I mean that all iterations are executed
> > in parallel.
> >
> > As far as I can see, Z.120 doesn't say anything specific, however
> > I guess the answer is sequential loop, i.e. each iteration is
> > executed in sequence. If so, is it possible to specify a parallel
> > loop by combining the par operator and the loop operator in some
> > way? Or do I just have to make a comment?
>
> Another way to specify a parallel loop is to use
> recursive MSC definitions. The following example describes
> sending a message several times "in parallel":
>
> msc parallel_loop;
> inst sender, receiver;
>
> sender: instance;
> receiver: instance;
> all: alt begin;
> all: condition all_sent;
> alt;
> condition send_one_more;
> all: par begin;
> sender: out m to receiver;
> receiver: in m from sender;
> par;
> all: reference parallel_loop;
> par end;
> all: alt end;
> sender: endinstance;
> receiver: endinstance;
> endmsc;
>
> The question is if the formal MSC semantics allows
> such definitions.
>
> Best regards,
> Dmitry.
>
>
> -----End text from Dmitry Zhukov <dmjr#ispras.ru> to mscnews -----
> For help, email "majordomo#sdl-forum.org" with the body of your email
> as:
> help
> or (iff this does not answer your question) email:
> owner-mscnews#sdl-forum.org

-----End text from Jan Docekal <jan.docekal#telelogic.se> to mscnews -----
For help, email "majordomo#sdl-forum.org" with the body of your email as:
    help
or (iff this does not answer your question) email: owner-mscnews#sdl-forum.org



This archive was generated by hypermail 2a23 : Wed Jun 19 2013 - 13:16:38 GMT