Re: create statement


Subject: Re: create statement
gotzhein#informatik.uni-kl.de
Date: Fri Apr 11 2003 - 13:04:54 GMT


Dear Rick,

In fact, the problem is an interesting one, and more complex than I
first thought. Let me observe the following:

- If an agent instance creates another agent instance, it is
  important that this creation be defined INDEPENDENTLY OF THE CONTEXT
  of the creating agent instance. In Eckhardts ex1, for instance:
  -> ex1: "A" can create "B" or "C" instances (NOT agent SET instances, BUT agent
          instances), this occurs within "A", so "A" is certainly aware of this
          context.
  -> ex1: similar for "A" creating "A" instances
  -> ex1: "A" should NOT be able to create "D" instances by referring to the
          instance set; reason: "A" is not aware
          of this context; the definition of D_type may be within the scope of
          A_type (and therefore A_inst), but at that point, it is not clear
          whether and where D_type is instantiated. In this case, D_type could be
          used instead, which would lead to the creation of an implicit agent set,
          if necessary (see Z.100).
          Remark: How is the connection structure derived in this case?

- We had a similar problem almost 3 years ago with implicit transitions.
  In the old standard, this was solved by transformations. When SDL'2000
  was defined, it turned out that the transformations would have to be
  context dependent, so a STATIC transformation was ruled out, and the
  problem was shifted to the dynamic semantics, and solved. Here, I see
  the same problem.

SYSTEM ex4;
  BLOCK TYPE A_type;
    BLOCK TYPE B_type;
    BLOCK B_set_inst: B_type; // in fact, B_set_inst containing some B_inst
                              // are created when A_type is instantiated
  ENDBLOCK TYPE A_type;
  BLOCK TYPE D_type;
    ...
  ENDBLOCK TYPE D_type;
  a) b)
ENDSYSTEM
  with
  a) BLOCK A_set_inst: A_type;
  b) BLOCK A_set_inst: A_type;
     BLOCK D_set_inst: D_type;

Some scenarios from the view point of A_inst (within A_set_inst),
where "+ = legal, ? = to be clarified":
+ create A_set_inst: another A_inst is created within A_set_inst
+ create B_set_inst: another B_inst is created within B_set_inst
? create D_set_inst
  a) illegal, because there is no D_set_inst within the scope of
     A_set_inst
  b) another D_inst is created within D_set_inst
  A_inst cannot distinguish these two cases. How to be resolved??
+ create A_type: same as create A_set_inst (derived syntax)
+ create B_type: same as create B_set_inst (derived syntax)
? create D_type:
  a) i) an implicit instance set of D_type created on system level, and
         an agent instance created (as in create D_set_inst)??
     ii) a new D_set_inst created within A_inst (nesting)??
  b) i) an agent instance created in D_set_inst??
     ii) a new D_set_inst created within A_inst (nesting)??

Best regards,
Reinhard

------------------------------------------------------------------------------
Prof. Dr. Reinhard Gotzhein Tel.: (+49) 631/205-3426
Fachbereich Informatik Fax : (+49) 631/205-3956
Universitaet Kaiserslautern, Postfach 3049 gotzhein#informatik.uni-kl.de
D-67653 Kaiserslautern, Germany http://rn.informatik.uni-kl.de/~gotzhein/



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