| T.R | Title | User | Personal Name
 | Date | Lines | 
|---|
| 62.1 | INFO - seq/set ofs are encoded by datatypes | GOSTE::CALLANDER |  | Wed Feb 28 1990 17:07 | 10 | 
|  |     SET OFs and SEQUENCE OFs are handled differently by the PM. Since the
    set of is a set of a single data type we parse and encode each piece
    based on the specified data types.
    
    For the SEQUENCE OFs we find out what the sequence of data types
    are and the PM then parses each piece and encodes them using the
    data types specified; in the order specified.
    
    jill
    
 | 
| 62.2 | Not according to the SRM | BYBLOS::TAMER |  | Thu Mar 01 1990 11:18 | 6 | 
|  | re .1
Are you saying that elements of a SEQUENCE OF can have different data types ? 
The SRM (page 250) says that "All elements of a Sequence Of are of the same base 
type" (similar statement appears under the Set Of data type section) 
 | 
| 62.3 | SEQUENCE OF has one base type | MAVIC::D_MOORE |  | Thu Mar 01 1990 13:21 | 28 | 
|  | 
  The SRM correctly states that SET OF and SEQUENCE OF each have one base data
  type.  There essentially is no semantic difference between them and we
  considered dropping one of them at one point.  However, there is enough use
  of SET OF and SEQUENCE OF for that to be infeasible.
  SET OF and SEQUENCE OF each allow a series of elements of one data type.
  Note that only SET OF and SEQUENCE OF can have "repetitions" in that one
  data type is listed but there can be more than one value (of that data type)
  in the series.
  SET can have more than one data type specified.  The order of the elements
  is not significant and elements can be missing in the series.  This makes
  the parsing of this data type ambiguous on input.  Therefore, a SET will not
  be supported on input by the Console.
  SEQUENCE and RECORD are nearly identical, the difference being that a RECORD
  has a presentation name associated with each member of the RECORD and a
  SEQUENCE does not.  Other than that they are the same.  If you list four
  members of a RECORD or a SEQUENCE, then there must be four elements in the
  series (the ILV construction) in the order specified.  Each must be of the
  listed data type and there can be no repetitions.
  An ECO to the SRM will be written adding these details to the SRM to make
  things more clear.  The TRM is currently quite permissive about some of
  these semantics but this is the intent.
							- Dave
 | 
| 62.4 | sorry for the confusion | GOSTE::CALLANDER |  | Fri Mar 02 1990 13:11 | 5 | 
|  |     sorry about that, I had meant sequence not sequence of. I am aware
    of sequence of going (hopefully) away.
    
    Thanks for the clarification Dave.
    
 | 
| 62.5 | Semantic difference | MARVIN::COBB | Graham R. Cobb (Wide Area Comms.), REO2-G/H9, 830-3917 | Mon Mar 05 1990 08:25 | 23 | 
|  | There certainly  *is*  a  semantic  difference between SET OF and SEQUENCE OF.
The  question of whether the order is significant is very important to the end
users  of  the  datatype (the manager and the entity being managed).  There is
probably  no  difference  as far as the code of any MCC component is concerned
but the two separate datatypes must be preserved.
Any MCC  component  could (if it wished!) completely reorder the elements of a
SET  OF.  Also, it should be illegal to have the same value present twice in a
SET  OF  (it is meaningless) -- either that or the PM should make sure it gets
rid  of  any duplicates (my agent code certainly gets rid of any duplicates in
CMIP  messages).   ADD  and  REMOVE are also meaningless for SEQUENCE OF (they
should only be permitted on SET and SET OF).  
In general  order  is  not  important and ADD and REMOVE are very useful.  For
these  reasons,  SET  OF  is much more commonly used than SEQUNCE OF.  However
there are legitimate reasons for wanting to use SEQUENCE OF.  For example, MOP
uses  SEQUENCE  OF to specify the file to use for a down-line load.  The files
are  looked  for  in  turn,  *in the order specified* (this is useful when the
files  live  on  remote  nodes).   This would not be possible to manage if the
datatype was SET OF (some component might re-order the set without telling the
manager).
Graham
 | 
| 62.6 | Open mouth, insert foot | MAVIC::D_MOORE |  | Tue Mar 06 1990 16:07 | 14 | 
|  | 
  I did not mean to start any rumors.  I will try again:
  Graham, you're right, thanks.  That is exactly the reason why they are both
  in the SRM.  To allay any fears, the SET OF and SEQUENCE OF data types are
  in the SRM and will stay there. The statement about there being little
  difference between SET OF and SEQUENCE OF was from a DECmcc PM viewpoint.
  (Sorry, folks, I usually try not to make component-specific statements about
  data types.)  The PM does not do any reordering of the elements of a
  construction, so there is little difference from the standpoint of displaying
  those elements.  As Graham pointed out, there are semantic differences among
  the data types which should be taken into account when choosing which data
  type to use.
							- Dave
 | 
| 62.7 | Alarms FM will treat these data type differently! | TOOK::NAVKAL |  | Wed Mar 07 1990 10:29 | 21 | 
|  | RE: .0
	>Is the ordering the sole responsibility of the entity's
	>agent or do PM's, FM's, and AM's handle the two types differently ?
       Well from MCC alarms perspective, whenever we decide to handle these
       data types, the inequality operations and the ordering properties
       will certainly handled appropriately for the SET OF and the SEQUENCE
       OF data type.
       if say A and B belongs the data type SET OF, operation like IS A > B
       will not be permitted under Alarms RULE, where as A = B or A <> will
       be permitted.
       In short Alarms FM will certainly react differently to different
       Data Types.
       - Anil Navkal
Phil
 | 
| 62.8 | Questions about  "SEQUENCE" | BYBLOS::TAMER |  | Thu Mar 08 1990 14:13 | 26 | 
|  | Thanks for the previous replies.  SET OF and SEQUENCE OF are now clear to me.
However, I now have a couple of questions about SEQUENCE:
1. 	Is the MSL syntax for the "SEQUENCE" datatype correct the way it is 
	defined in the SRM ? The reason I ask, you say that "SEQUENCE" can
	consist of different data types and the MSL syntax for "SEQUENCE"
        says that <sequence-construct>:== "SEQUENCE"<base-type>
         
	I do not see from the above how the specific (and possibly different) 
        data types are specified in the sequence (and, based that, parsed).
2.	Let us suppose that the data types are somehow defined for 
        a SEQUENCE of Latin1String, Unsigned8, and SimpleName. Does the PM 
        allow the user to skip an element by enclosing its position with commas?
	e.g.: will both of these two commands be accepted by the TRM
			("jones", 5, apple)
				and
			("jones", , apple)
 
 | 
| 62.9 | INFO - no missing elements in constructed | GOSTE::CALLANDER |  | Thu Mar 08 1990 17:15 | 15 | 
|  |     
    Some of the area around set/sequence/set of/sequence of needs to
    be better clarified. Dave Moore is the owner of that chapter of
    the SRM. I believe that he can best clarify the difference. 
    
    What I can tell you, is that there is no way to "default" or omit
    and element from a constructed data type. This means, for example,
    if you define a record of 5 elements, the user must enter all 5
    every time. You can set a default for the entire record but not
    for specific elements within the record.
    
    (Also note that the definition in the SRM of sequence and sequence
    of are identical in everything except their name.)
    
    
 | 
| 62.10 | Ah, data types... | CAPN::SYLOR | Architect = Buzzword Generator | Fri Mar 09 1990 15:46 | 23 | 
|  | Re .7:
Currently in the Entity Model and NETMAN we have defined the operators < and >
on a type which is defined as a SET OF foo to mean proper subset and superset
respectively. (See Entity Model T1.0.0 section 8.36). It would seem that MCC
ought to support those operators on SET OF constructed types as well.
Re .8:
I think you are confusing MSL type definitions with ASN.1 type definitions. In
ASN.1, you can in fact define a SEQUENCE {  Integer, PrintableString, Boolen}
type.  In MSL you cannot. The closest thing to an ASN.1 SEQUENCE is an
MSL RECORD data type (which will form an ASN.1 SEQUENECE when encoded as ASN.1
but conceptually is a different type).
MSL has nothing like an ASN.1 SET { Integer PrintableString, Boolean}.
MSL's SEQUNCE OF and SET OF are however the same as ASN.1's SEQUENCE OF and 
SET OF type constructors.  They have only one base type.
So the bottom line is.... You can't define the type you used in youre example.
				Mark
 | 
| 62.11 | RE .10 | BYBLOS::TAMER |  | Fri Mar 09 1990 16:17 | 15 | 
|  | Re .10
My first question in .8 was in response to the fourth paragraph in .3 by Dave
Moore which stated that RECORD and SEQUENCE are essentialy the same except for
the field name at the user interface. Well, I think Dave was talking about the 
MSL not ASN.1 therefore I could not see how to define a sequence (SEQUENCE) of 
different data types when the MSL syntax is: "SEQUENCE" <base-type>.
Anyways, I think that RECORD is more useful to me but the restriction of 
requiring all fields, at input,  everytime the user wants to update any is very
user-unfriendly to say the least. So far, I have not heard any explanation
for the restriction let alone acknowledgements that it is a restriction.
 
Cheers,
Phil
 | 
| 62.12 | RECORDS are not meant for attribute grouping | CAPN::SYLOR | Architect = Buzzword Generator | Mon Mar 12 1990 09:55 | 9 | 
|  | Ah, the restriction that you could not modify individual fields in a record
was intentional. If you need to modify fields, then make each field an
attribute in its own right. If you need to refer to them as a unit, make
the unit an attribute group.
The model is that an attribute is a single atomic value that is
manipulated as a whole unit. The SET ADD and REMOVE operations all treat
the attribute as a single unit. They are incapable of "sub addressing" 
individual fields in a record.
 | 
| 62.13 | INFO - TRY enforces all fields in record to modify | GOSTE::CALLANDER |  | Mon Mar 12 1990 12:47 | 3 | 
|  |     The TRM does enforce this rule, to modify a record you must supply
    all fields. This means values must be supplied ,,, isn't excepted.
    
 | 
| 62.14 | SET OF SEQUENCE | RIVAGE::MCDONALD |  | Tue Jan 15 1991 09:24 | 5 | 
|  |     Is it possible to have a SET OF type, where type is a RECORD? 
    
    How could  an ASN1 "SET OF SEQUENCE { x, y, z}"  (where x,y,z are of
    different types)   be defined in MSL?
    Carol
 | 
| 62.15 | Setof Record okay | TOOK::HAO |  | Tue Jan 15 1991 10:51 | 4 | 
|  |     Yes, SET OF will support RECORD as a base type.
    
    Christine
    
 | 
| 62.16 | bug in eft kit for set of record | GOSTE::CALLANDER |  | Tue Jan 15 1991 14:23 | 11 | 
|  |     
    well....Actually the EFT kit has a bug in it such that set_of records
    can not be parsed. sorry about that but the kit about to come out
    does fix the problem.
    
    As to how to enter the sequence_of, I read some where there was
    a bug in the msl translator that caused an error on entering a real
    sequence of (more than one base type). I will ask the PL for that
    group the current status, and an example if it works now.
    
    
 | 
| 62.17 | RECORD is a easy to use SEQUENCE | CAPN::SYLOR | Architect = Buzzword Generator | Sun Jan 20 1991 22:00 | 12 | 
|  |     Re .14:
    
    SEQUENCE {x, y, z} isn't the same as the SEQUENCE OF (even though ASN.1
    gives them the same universal tag, sigh). The closest MSL type is
    RECORD. The only difference is that RECORD assigns a context tag to
    each field, while the bare ASN.1 SEQUENCE depends on their order
    (if each field is required) or depends on the definer being "very
    smart" and defining distinguishable tags for each field. The RECORD
    type constructor simply regularizes all those complex rules to a simple
    rule that always allows the fields to be distinguished. I expect that
    we'll have to support a "raw SEQUENCE" type constructor in ASN.1
    eventually.                                       
 |