Re: Receiver of a signal


Subject: Re: Receiver of a signal
From: Eckhardt Holz (holz#informatik.hu-berlin.de)
Date: Fri Dec 22 2000 - 12:51:36 GMT


Hi,

answer (d) is the right answer. I did some historical investigations
on some older versions of SDL-2000 and found that we actually did have
initially answer (a) as the right answer. This was back in time when
agents where still caled "active entities". There were some rules
stating
that a signal arriving at an agent is delivered to the agents state
machine
in case there is a channel for this signal to the state machine,
otherwise
an appropriate channel is selected and the signal is delivered to a
contained
agent.This does of course require some kind of signal distribution
inside an
agent (router).
These rules were removed/restricted with the introduction of typed PIDs
and of the
implicit interface.(cf TDT 614 and TDT 620 of the 1999 Toulouse
meeting).
The basic idea now is: If you adress something by a PId or typed PId,
then
you do mena the state machine of the agent with that PId.
 
On the other side in Oslo we had a short discussion on
additional adressing schemes (with gates and interfaces) so may be we
should
look into this, whether this could fulfill your intuition.

Eckhardt

Merry Christmas and a Happy New Year to verybody on the list
Rick Reed TSE schrieb:
>
> Assume an agent A that contains an agents A1 and a state machine (called A -
> of course).
>
> Assume a channel C from an agent B leading to A that joins two channels C1
> to A1 and CA to A.
>
> Assume that C1 conveys S1 to A1 and CA conveys SA. C conveys S1 and SA to
> agent A.
>
> Assume that B creates two (or more) instances of A and contains a string of
> Pids storing the Pid values for A instances.
>
> VALUE TYPE Pidstring INHERITS String<Pid>;
> DCL apid Pidstring;
>
> What happens for the output in B
>
> OUTPUT S1 TO apid[1];
>
> Is S1
>
> a) delivered to the boundary of the instance of A, and then delivered
> according to the internal channels of A?
>
> or
>
> b) delivered to the state machine of the instance of A?
>
> or
>
> c) not allowed because there is a static error?
>
> or
>
> d) not output but the exception InvalidReference raised?
>
> Intuitively I would think that (a) is the correct answer.
>
> However, it seems to me from Z.100 that the answer is (d). The reason is the
> OUTPUT does a compatibility check between the signal and the dynamic sort of
> the pid expression, apid[1] which is an interface pid sort. If the pid
> expression is not of sort Pid (for example, if the string type was VALUE
> TYPE Pidstring INHERITS String<A>; ), a static check is made against the
> interface pid sort and the answer is (c).
>
> The compatibility check is defined such that it includes all the signals to
> the state machine of A. However, it does not include incoming signals on
> gates on the agent diagram that are not received by the agent state machine.
> (see 12.1.2)
>
> I therefore conclude that to send a signal S1 to the agent A1 in a specified
> instance of A, it is also necessary to have the Pid of the instance of A1.
>
> This is counter-intuitive to me, and requires a lot of additional Pid
> handling.
>
> Does everyone agree with my interpretation of Z.100?
>
> If yes, is that what we intended?
>
> If no, explain what happens and why my interpretation is wrong and/or what
> errors exist in Z.100.
>
> --
> Rick Reed - rickreed#tseng.co.uk
> Tel:+44 1455 55 96 55 Fax:+44 1455 55 96 58 Mob.:+44 7970 50 96 50




This archive was generated by hypermail 2a23 : Mon May 05 2008 - 20:30:55 GMT