[Search for users] [Overall Top Noters] [List of all Conferences] [Download this site]

Conference azur::mcc

Title:DECmcc user notes file. Does not replace IPMT.
Notice:Use IPMT for problems. Newsletter location in note 6187
Moderator:TAEC::BEROUD
Created:Mon Aug 21 1989
Last Modified:Wed Jun 04 1997
Last Successful Update:Fri Jun 06 1997
Number of topics:6497
Total number of notes:27359

759.0. "MSL question" by LEVERS::LEVENSON () Wed Feb 27 1991 19:44

Can I have a RECORD defined in MSL, with one of the fields being a
SEQUENCE OF or a SET OF?

E.g.,

TYPE
	XxxRec = 44 RECORD
		field1 = 1 : Unsigned8;
		field2 = 2 : SEQUENCE OF Unsigned8;
		    END

Also, are there any other known limitations on nesting of constructed types?

thanks,
Herman
T.RTitleUserPersonal
Name
DateLines
759.1That RECORD will work just fine....BOEHM::CAREYThu Feb 28 1991 13:4515
    
    Your RECORD looks just fine.
    
    The most complex record I've worked with is a RECORD which contains as
    one of its fields a Variant RECORD which contains as one of its fields
    a SET OF Unsigned8s.  It is ugly, but it works fine.
    
    The ILV code limits construction nesting to 12 levels I think (it may
    be 10).  If you think you have an attribute deeper than that in your
    management model, you would do well to re-evaluate it.  We could extend
    our ILV capabilities, but it is VERY difficult to interpret attributes
    nested that deeply, so usability is almost certainly compromised.
    
    -Jim Carey
    
759.2Oops...BOEHM::CAREYThu Feb 28 1991 13:467
    
    Oops, I just re-read this.
    
    It as a RECORD containing a SET OF Variant RECORDS, each of which 
    contains a SET OF Unsigned8s.  Even uglier than I thought.
    
    
759.3latest kit for most constructed of constructedGOSTE::CALLANDERFri Mar 01 1991 20:0214
    this probably will NOT work in the kit that you have unless you
    have the absolute latest and greatest, and even then it will only
    work if it is a record and NOT a variant records. Currently variant
    records are supported on output only, if you try to define this
    as an input arg you will fail.
    
    We have done a lot of work in the nested construted data type space
    hopefully we got them all, but I admit I am not ready to bet my
    job on it yet. If you do find out that it doesn't work, please contact
    me off-line and I will look into it (BTW: I am out of town for about
    a week).
    
    jill
    
759.4 ILV and ASN have their own limitsTOOK::KOHLSRuth KohlsMon Mar 04 1991 13:4027
ILV - ASN limitations:  

These limitations are ILV or ASN implementation limits, in addition to
the limits that Jill Callander and others have mentioned (in 
various places) for Console handling of datatypes.

Constructions may be nested 12 deep, including the Put_param_begin as 
the first level.  This limit is a limit on nesting, not on the total 
number of constructions.  A Put_cons_begin in List_value Mode opens 
2 levels. 

The maximum buffer ILV-ASN will permit is 32500 bytes.  It reserves
10 bytes at the end, so the minimum buffer it will accept is 10 bytes.
An "empty" encoding will use 4 bytes (a begin-end construction pair
with identifier).  When planning the sizes of buffers for ILV encodings,
you will need 2-4 bytes per value, and 4 bytes more per construction,
for identifier and length encoding, etc.
    
Why 12, 32500, 10?  I don't know.  Part of the answer is that ILV-ASN
does not do dynamic memory or memory management of any type, and the
context area you pass ILV or ASN is fixed size and structure.

I would like to know if you all out there are cramped by these limits.
Please let me know, either here in the MCC notes file, or by mail to
TOOK::KOHLS.

Ruth