Annotation of 43BSDReno/contrib/isode-beta/doc/practical-osi1/a-abstract.tex, revision 1.1

1.1     ! root        1: %\begin{bwslide}
        !             2: %\part {ABSTRACT SYNTAX}\bf
        !             3: %\end{bwslide}
        !             4: 
        !             5: 
        !             6: \begin{bwslide}
        !             7: \part  {ABSTRACT SYNTAX}\bf
        !             8: 
        !             9: \vskip.5in
        !            10: \diagram[p]{figureA-26}
        !            11: \end{bwslide}
        !            12: 
        !            13: 
        !            14: \begin{bwslide}
        !            15: \ctitle {ABSTRACT SYNTAX}
        !            16: 
        !            17: \begin{nrtc}
        !            18: \item  UTILIZED THROUGHOUT THE UPPER LAYERS
        !            19: \item  NOT A LAYER ITSELF
        !            20: \item  IMPORTANT TO UNDERSTANDING REMAINING UPPER LAYERS
        !            21: \end{nrtc}
        !            22: \end{bwslide}
        !            23: 
        !            24: 
        !            25: \begin{bwslide}
        !            26: \ctitle {ABSTRACT SYNTAX\\PURPOSE}
        !            27: 
        !            28: \begin{nrtc}
        !            29: \item  DEFINES STRUCTURE FOR UNITS OF DATA BEING EXCHANGED
        !            30: \item  INSURES EQUIVALENT UNDERSTANDING OF DATA ON BOTH ENDS OF A CONNECTION
        !            31: \item  \underline{BOTTOM LINE}: SEPARATES PROTOCOL STRUCTURE FROM 
        !            32:                        INTERNAL STRUCTURE
        !            33: \end{nrtc}
        !            34: \end{bwslide}
        !            35: 
        !            36: 
        !            37: %\begin{bwslide}
        !            38: %\ctitle {ABSTRACT DATA TYPES}
        !            39: %
        !            40: %\begin{nrtc}
        !            41: %\item   REMOTE OPERATIONS ARE A MECHANISM BY WHICH LOOSELY COUPLED SYSTEMS
        !            42: %        INTERACT
        !            43: %
        !            44: %\item   BUT, REMOTE OPERATIONS ARE ONLY ONE PART OF A LARGER PICTURE HOWEVER
        !            45: %
        !            46: %\item   THE FUNDAMENTAL CONCEPT IS THAT OF THE \emph{ABSTRACT DATA TYPE}
        !            47: %\end{nrtc}
        !            48: %\end{bwslide}
        !            49: 
        !            50: 
        !            51: \begin{bwslide}
        !            52: \ctitle {CHARACTERISTICS}
        !            53: 
        !            54: \begin{nrtc}
        !            55: \item  GENERALLY HAVE FORMAL DESCRIPTIONS
        !            56: \item  \underline{BIG ADVANTAGE}: CAN BE HANDLED WITH PROTOCOL ``TOOLS''
        !            57: \item  THIS WILL BE AN IMPORTANT CONCEPT AS WE PROCEED
        !            58: \end{nrtc}
        !            59: \end{bwslide}
        !            60: 
        !            61: 
        !            62: %\begin{bwslide}
        !            63: %\ctitle {DATA REPRESENTATIONS}
        !            64: %
        !            65: %\begin{nrtc}
        !            66: %\item ABSTRACT
        !            67: %      \begin{nrtc}
        !            68: %      \item   TYPES OF DATA DESCRIBED INDEPENDENT OF INTERNAL REPRESENTATION
        !            69: %      \end{nrtc}
        !            70: %\item CONCRETE
        !            71: %      \begin{nrtc}
        !            72: %      \item   AN ACTUAL \underline{INTERNAL} DATA INSTANCE 
        !            73: %                      {\em (FORM NOT DEFINED BY OSI)}
        !            74: %      \end{nrtc}
        !            75: %\end{nrtc}
        !            76: %\end{bwslide}
        !            77: 
        !            78: 
        !            79: \begin{bwslide}
        !            80: \ctitle {PROPERTIES OF ABSTRACT DATA TYPES:\\ REPRESENTATION}
        !            81: 
        !            82: \begin{nrtc}
        !            83: \item   DATA STRUCTURES IN PROGRAMMING LANGUAGES HAVE A \emph{CONCRETE}
        !            84:         REPRESENTATION
        !            85:     \begin{nrtc}
        !            86:     \item       WHICH IS DEFINED BY THE PROGRAMMING LANGUAGE AND THE
        !            87:                 UNDERLYING HARDWARE
        !            88: 
        !            89:     \item       e.g., BYTE-ORDERING, WORD SIZE, etc.
        !            90:     \end{nrtc}
        !            91: 
        !            92: \item   THE CORRESPONDING ABSTRACT DATA TYPE IS DEFINED IN AN
        !            93:         IMPLEMENTATION-INDEPENDENT FASHION
        !            94:     \begin{nrtc}
        !            95:     \item       TERMED THE \emph{ABSTRACT SYNTAX}
        !            96:     \end{nrtc}
        !            97: 
        !            98: \item   AN APPLICATION CAN EXPECT THIS TO BEHAVE CONSISTENLY REGARDLESS OF THE
        !            99:         HARDWARE ON WHICH IT IS RUNNING
        !           100: \end{nrtc}
        !           101: \end{bwslide}
        !           102: 
        !           103: 
        !           104: \begin{bwslide}
        !           105: \ctitle {TRANSFER SYNTAX}
        !           106: 
        !           107: \begin{nrtc}
        !           108: \item  RULES USED TO MAP BETWEEN
        !           109:        \begin{nrtc}
        !           110:        \item   ABSTRACT SYNTAX, and
        !           111:        \item   ``BITS ON THE WIRE''
        !           112:        \end{nrtc}
        !           113: \item  USED TO PRODUCE UNAMBIGUOUS REPRESENTATION OF DATA ON A CONNECTION
        !           114: \item  OVERCOMES DIFFERENCES IN MACHINE ARCHITECTURES FOR COMMUNICATIONS
        !           115: \end{nrtc}
        !           116: \end{bwslide}
        !           117: 
        !           118: 
        !           119: \begin{bwslide}
        !           120: \ctitle {SCENARIO}
        !           121: 
        !           122: \begin{nrtc}
        !           123: \item  CONCRETE DATA VALUES ARE MAPPED TO ABSTRACT SYNTAX FOR DATA TYPES
        !           124: \item  TRANSFER SYNTAX IS APPLIED TO THE COMBINED ABSTRACT SYNTAX AND
        !           125:        THE DATA VALUES
        !           126: \item  RESULTS IN UNAMBIGUOUS DATA STREAM TO BE TRANSMITTED
        !           127:        \begin{nrtc}
        !           128:        \item   CALLED: {\em SERIALIZING}
        !           129:        \end{nrtc}
        !           130: \item  {\em REVERSE PROCESS FOR RECEIVED DATA}
        !           131: \end{nrtc}
        !           132: \end{bwslide}
        !           133: 
        !           134: 
        !           135: %\begin{bwslide}
        !           136: %\ctitle {PROPERTIES OF ABSTRACT DATA TYPES:\\ OBJECT MODEL}
        !           137: %
        !           138: %\begin{nrtc}
        !           139: %\item   SINCE OPERATIONS INTRODUCE A LEVEL OF INDIRECTION,
        !           140: %        USING ABSTRACT DATA TYPES RATHER THAN CONCRETE DATA STUCTURES
        !           141: %        PERMITS ACCESS TO DATA STRUCTURES WITHOUT REGARD TO THEIR ACTUAL
        !           142: %        IMPLEMENTATION
        !           143: %\end{nrtc}
        !           144: %\end{bwslide}
        !           145: 
        !           146: 
        !           147: %\begin{bwslide}
        !           148: %\ctitle {PROPERTIES OF ABSTRACT DATA TYPES:\\ OPERATIONS}
        !           149: %
        !           150: %\begin{nrtc}
        !           151: %\item   ACCESS TO AN ABSTRACT DATA TYPE IS DEFINED BY A SET OF PRIMITIVE
        !           152: %        ACTIONS
        !           153: %
        !           154: %\item   EACH PRIMITIVE ACTION IS TERMED AN \emph{OPERATION}
        !           155: %
        !           156: %\item   THIS SET OF OPERATIONS DEFINES THE COMPLETE BEHAVIOR OF AN ABSTRACT
        !           157: %        DATA TYPE
        !           158: %\end{nrtc}
        !           159: %\end{bwslide}
        !           160: 
        !           161: 
        !           162: \begin{bwslide}
        !           163: \ctitle {SYNTAXES}
        !           164: 
        !           165: \begin{nrtc}
        !           166: \item  {\em ASN.1} IS THE ONLY ABSTRACT SYNTAX DEFINED TODAY
        !           167:        \begin{nrtc}
        !           168:        \item   {\em ABSTRACT SYNTAX NOTATION 1}
        !           169:        \end{nrtc}
        !           170: \item  {\em BER} IS THE ONLY TRANSFER SYNTAX DEFINED TODAY
        !           171:        \begin{nrtc}
        !           172:        \item   {\em BASIC ENCODING RULES}
        !           173:        \end{nrtc}
        !           174: %\item THAT IS, {\em DEFINED IN OSI}
        !           175: \end{nrtc}
        !           176: \end{bwslide}
        !           177: 
        !           178: 
        !           179: \begin{bwslide}
        !           180: \ctitle {ABSTRACT SYNTAX NOTATION ONE (ASN.1)}
        !           181: 
        !           182: \begin{nrtc}
        !           183: \item  DESCRIPTIVE LANGUAGE USED TO DEFINE DATA TYPES
        !           184: \item  DEFINES
        !           185:        \begin{nrtc}
        !           186:        \item   SET OF PRIMITIVE DATA TYPES
        !           187:        \item   FACILITY TO CONSTRUCT NEW ELEMENTS
        !           188:        \end{nrtc}
        !           189: \item  A FORMAL DESCRIPTION LANGUAGE
        !           190:        \begin{nrtc}
        !           191:        \item   HAS A FORMAL GRAMMER
        !           192:        \end{nrtc}
        !           193: \item  GRAMMAR IS DYNAMICALLY EXTENTABLE
        !           194: \item  USED TO SPECIFY NEW PROTOCOLS
        !           195:        \begin{nrtc}
        !           196:        \item   INTENDED TO BE ``CLEAR--TO--READ''
        !           197:        \item   NOT SPECIFIC TO MACHINE--ORIENTED STRUCTURES AND RESTRICTIONS
        !           198:        \end{nrtc}
        !           199: \end{nrtc}
        !           200: \end{bwslide}
        !           201: 
        !           202: 
        !           203: %\begin{bwslide}
        !           204: %\ctitle {ASN.1 IS IMPORTANT}
        !           205: %
        !           206: %\begin{nrtc}
        !           207: %\item UNDERSTANDING ASN.1 IS A PREREQUISITE TO UNDERSTANDING THE 
        !           208: %      OSI UPPER LAYERS AND TO BUILDING OSI APPLICATIONS
        !           209: %\end{nrtc}
        !           210: %\end{bwslide}
        !           211: 
        !           212: 
        !           213: %\begin{bwslide}
        !           214: %\ctitle {ASPHALT SYNTAX NOTATION ONE}
        !           215: %
        !           216: %\em{BECAUSE IT IS NOT CONCRETE}
        !           217: %
        !           218: %\end{bwslide}
        !           219: 
        !           220: 
        !           221: \begin{bwslide}
        !           222: \ctitle {BASIC ENCODING RULES (BER)}
        !           223: 
        !           224: \begin{nrtc}
        !           225: \item  RULES FOR ENCODING ASN.1 VALUES AS STREAMS OF BITS
        !           226: \item  DEFINES
        !           227:        \begin{nrtc}
        !           228:        \item   SMALL SET OF GENERAL ENCODING RULES
        !           229:        \item   RULES CAN BE APPLIED RECURSIVELY TO ENCODE COMPLEX TYPES
        !           230:        \end{nrtc}
        !           231: \item  TAG, LENGTH, VALUE (TLV) ENCODING SCHEME
        !           232: \item  VERY GENERAL
        !           233: \item  NOT AS PERFORMANT AS OTHER TECHNOLOGIES
        !           234: \end{nrtc}
        !           235: \end{bwslide}
        !           236: 
        !           237: 
        !           238: \begin{bwslide}
        !           239: \ctitle {BER IS NOT AS IMPORTANT}
        !           240: 
        !           241: \begin{nrtc}
        !           242: \item  SPECIFICS ARE NOT AS IMPORTANT AS ASN.1
        !           243: \item  UNDERSTANDING THE CONCEPTS IS IMPORTANT
        !           244: \item  FEW NEED TO UNDERSTAND THE DETAILS
        !           245: \end{nrtc}
        !           246: \end{bwslide}
        !           247: 
        !           248: 
        !           249: \begin{bwslide}
        !           250: \ctitle {FUTURE SYNTAXES}
        !           251: 
        !           252: \begin{nrtc}
        !           253: \item  MORE SYNTAXES MAY BE DEFINED IN THE FUTURE
        !           254: \item  MORE ABSTRACT SYNTAXES:
        !           255:        \begin{nrtc}
        !           256:        \item   {\em ASN.2, ASN.3, \ldots ?}
        !           257:        \end{nrtc}
        !           258: \item  OTHER TRANSFER SYNTAXES:
        !           259:        \begin{nrtc}
        !           260:        \item   COMPRESSION
        !           261:        \item   ENCRYPTION
        !           262:        \end{nrtc}
        !           263: \end{nrtc}
        !           264: \end{bwslide}
        !           265: 
        !           266: 
        !           267: \begin{bwslide}
        !           268: \ctitle {ASN.1 NOTATION}
        !           269: 
        !           270: \begin{nrtc}
        !           271: \item  MODULES GROUP AND NAME RELATED DEFINITIONS:
        !           272: \begin{quote}\small\begin{verbatim}
        !           273: <<module>> DEFINITIONS ::=
        !           274: BEGIN
        !           275: 
        !           276: <<linkage>>
        !           277: 
        !           278: <<declarations>>
        !           279: 
        !           280: END
        !           281: \end{verbatim}\end{quote}
        !           282: \item  LINKAGE REFERENCES DECLARATIONS IN OTHER MODULES
        !           283: \item  DECLARATIONS ARE THE DEFINITIONS FOR THIS MODULE:
        !           284:        \begin{nrtc}
        !           285:        \item   TYPES --- DATA STRUCTURES
        !           286:        \item   VALUES --- INSTANCES OF TYPES
        !           287:        \item   MACROS --- LANGUAGE EXTENSIONS
        !           288:        \end{nrtc}
        !           289: \end{nrtc}
        !           290: \end{bwslide}
        !           291: 
        !           292: 
        !           293: \begin{bwslide}
        !           294: \ctitle {EXAMPLE --- MODULE NAME}
        !           295: 
        !           296: \begin{quote}\small\begin{verbatim}
        !           297: DirectorySystemProtocol {joint-iso-ccitt ds(5) modules(1) dsp(12)}
        !           298: DEFINITIONS ::=
        !           299: 
        !           300: ...
        !           301: \end{verbatim}\end{quote}
        !           302: \end{bwslide}
        !           303: 
        !           304: \begin{bwslide}
        !           305: \ctitle{EXAMPLE --- LINKAGE}
        !           306: 
        !           307: \begin{quote}\small\begin{verbatim}
        !           308: ...
        !           309: 
        !           310: EXPORTS
        !           311:     directorySystemAC, chainedReadASE, ... ;
        !           312: 
        !           313: IMPORTS
        !           314:     distributedOperations, directoryAbstractService
        !           315:         FROM UsefulDefinitions {joint-iso-ccitt ds(5) modules(1) 
        !           316:                                               usefulDefinitions(0)} ;
        !           317: 
        !           318: ...
        !           319: \end{verbatim}\end{quote}
        !           320: \end{bwslide}
        !           321: 
        !           322: 
        !           323: \begin{bwslide}
        !           324: \ctitle {DECLARATION CONVENTIONS}
        !           325: 
        !           326: \begin{nrtc}
        !           327: \item  TYPES
        !           328:        \begin{nrtc}
        !           329:        \item   NAMES START WITH UPPERCASE LETTERS
        !           330:        \begin{quote}\small\begin{verbatim}
        !           331:        TimeLimit
        !           332:        \end{verbatim}\end{quote}
        !           333:        \end{nrtc}
        !           334: \item  VALUES
        !           335:        \begin{nrtc}
        !           336:        \item   NAMES START WITH LOWERCASE LETTERS
        !           337:        \begin{quote}\small\begin{verbatim}
        !           338:        actualTimeLimit
        !           339:        \end{verbatim}\end{quote}
        !           340:        \end{nrtc}
        !           341: \item  MACROS
        !           342:        \begin{nrtc}
        !           343:        \item   NAMES ARE ALL UPPER CASE
        !           344:        \begin{quote}\small\begin{verbatim}
        !           345:        SIGNED
        !           346:        \end{verbatim}\end{quote}
        !           347:        \item   APPEAR LIKE OTHER ASN.1 KEYWORDS
        !           348:        \end{nrtc}
        !           349: \end{nrtc}
        !           350: \end{bwslide}
        !           351: 
        !           352: 
        !           353: %\begin{bwslide}
        !           354: %\ctitle {NOTE}
        !           355: %
        !           356: %\begin{nrtc}
        !           357: %\item TYPES
        !           358: %      \begin{nrtc}
        !           359: %      \item   SIMPLE
        !           360: %      \item   OBJECT IDENTIFIERS
        !           361: %      \item   CONSTRUCTOR TYPES
        !           362: %      \item   TAGGED TYPES
        !           363: %      \item   META TYPES
        !           364: %      \item   ENCRYPTED
        !           365: %      \item   EXTERNAL
        !           366: %      \item   SUBTYPES
        !           367: %      \end{nrtc}
        !           368: %\item VALUES
        !           369: %      \begin{nrtc}
        !           370: %      \item   ?
        !           371: %      \end{nrtc}
        !           372: %\end{nrtc}
        !           373: %\end{bwslide}
        !           374: 
        !           375: 
        !           376: \begin{bwslide}
        !           377: \ctitle{EXAMPLE --- TYPES \& VALUES}
        !           378: 
        !           379: \begin{quote}\small\begin{verbatim}
        !           380: Multiple-defined-contexts ::= BOOLEAN
        !           381: 
        !           382: simple Multiple-defined-contexts ::= FALSE -- or TRUE
        !           383: 
        !           384: ContentLength ::= INTEGER
        !           385: 
        !           386: RegistrationMailType ::= 
        !           387:     INTEGER {
        !           388:         non-registered-mail (0),
        !           389:         registered-mail (1),
        !           390:         registered-mail-to-address-in-person (2)
        !           391:     }
        !           392: 
        !           393: mymail RegistrationMailType ::=
        !           394:         registered-mail  -- or 1
        !           395: \end{verbatim}\end{quote}
        !           396: \end{bwslide}
        !           397: 
        !           398: 
        !           399: \begin{bwslide}
        !           400: \ctitle{EXAMPLES --- TYPES \& VALUES (cont.)}
        !           401: \begin{quote}\small\begin{verbatim}
        !           402: Attribute-Groups ::=
        !           403:         BITSTRING {
        !           404:             storage (0), security (1), private (2)
        !           405:         }
        !           406: 
        !           407: groups Attribute-Groups ::=
        !           408:         { storage, private }   -- or '101'B
        !           409: \end{verbatim}\end{quote}
        !           410: \end{bwslide}
        !           411: 
        !           412: 
        !           413: %\begin{bwslide}
        !           414: %\ctitle{EXAMPLES --- TYPES \& VALUES (cont.)}
        !           415: %\begin{quote}\small\begin{verbatim}
        !           416: %Content ::= 
        !           417: %        OCTET STRING
        !           418: %
        !           419: %BilateralInfo ::=
        !           420: %        ANY
        !           421: %\end{verbatim}\end{quote}
        !           422: %\end{bwslide}
        !           423: 
        !           424: 
        !           425: \begin{bwslide}
        !           426: \ctitle{EXAMPLES --- TYPES \& VALUES (cont.)}
        !           427: \begin{quote}\small\begin{verbatim}
        !           428: SecurityContext ::=
        !           429:         SET OF SecurityLabel
        !           430: 
        !           431: MessageDeliveryEnvelope ::=
        !           432:         SEQUENCE {
        !           433:             message-delivery-identifier
        !           434:                 MessageDeliveryIdentifier,
        !           435: 
        !           436:             message-delivery-time
        !           437:                 MessageDeliveryTime,
        !           438: 
        !           439:             other-fields
        !           440:                 OtherMessageDeliveryFields
        !           441: }
        !           442: \end{verbatim}\end{quote}
        !           443: \end{bwslide}
        !           444: 
        !           445: 
        !           446: %\begin{bwslide}
        !           447: %\ctitle{EXAMPLES --- TYPES \& VALUES (cont.)}
        !           448: %\begin{quote}\small\begin{verbatim}
        !           449: %MessagesWaiting ::=
        !           450: %        SET {
        !           451: %                urgent [0]
        !           452: %                    DeliveryQueue,
        !           453: %                normal [1]
        !           454: %                    DeliveryQueue,
        !           455: %                nonUrgent [2]
        !           456: %                    DeliveryQueue
        !           457: %        }
        !           458: %
        !           459: %queue MessagesWaiting ::= 
        !           460: %        {
        !           461: %            urgent { ... }, normal { ... }, nonUrgent { ... }
        !           462: %        }
        !           463: %\end{verbatim}\end{quote}
        !           464: %\end{bwslide}
        !           465: 
        !           466: 
        !           467: %\begin{bwslide}
        !           468: %\ctitle{EXAMPLES --- TYPES \& VALUES (cont.)}
        !           469: %\begin{quote}\small\begin{verbatim}
        !           470: %PerMessageSubmissionFields ::=
        !           471: %    SET {
        !           472: %...
        !           473: %        content-type
        !           474: %            ContentType,
        !           475: %
        !           476: %        content-identifier
        !           477: %            ContentIdentifier OPTIONAL,
        !           478: %
        !           479: %        priority
        !           480: %            Priority DEFAULT normal,
        !           481: %
        !           482: %        per-message-indicators
        !           483: %            PerMessageIndicators DEFAULT {},
        !           484: %...
        !           485: %    }
        !           486: %\end{verbatim}\end{quote}
        !           487: %\end{bwslide}
        !           488: 
        !           489: 
        !           490: %\begin{bwslide}
        !           491: %\ctitle{EXAMPLES --- TYPES \& VALUES (cont.)}
        !           492: %\begin{quote}\small\begin{verbatim}
        !           493: %PDU ::= 
        !           494: %    CHOICE {
        !           495: %        FTAM-Regime-PDU,
        !           496: %        File-PDU,
        !           497: %        Bulk-Data-PDU
        !           498: %    }
        !           499: %
        !           500: %SecurityPolicyIdentifier ::=
        !           501: %        OBJECT IDENTIFIER
        !           502: %
        !           503: %\end{verbatim}\end{quote}
        !           504: %\end{bwslide}
        !           505: 
        !           506: 
        !           507: \begin{bwslide}
        !           508: \ctitle {CONCRETE REPRESENTATION}
        !           509: 
        !           510: \vskip.15in
        !           511: \begin{verbatim}
        !           512: struct mail_address {
        !           513:     char   *local;
        !           514:     char   *domain;
        !           515: 
        !           516:     unsigned char options;
        !           517: #define default_local 0x01
        !           518: #define default_host  0x02
        !           519: };
        !           520: \end{verbatim}
        !           521: \end{bwslide}
        !           522: 
        !           523: 
        !           524: \begin{bwslide}
        !           525: \ctitle {ABSTRACT REPRESENTATION}
        !           526: 
        !           527: \vskip.15in
        !           528: \begin{verbatim}
        !           529: Mail-Address ::=
        !           530:         [APPLICATION 2]
        !           531:             IMPLICIT SEQUENCE {
        !           532:                 local[0]
        !           533:                     IMPLICIT GraphicString,
        !           534: 
        !           535:                 domain[1]
        !           536:                     IMPLICIT GraphicString,
        !           537: 
        !           538:                 options[2]
        !           539:                     IMPLICIT BITSTRING {
        !           540:                         default-local(0), default-host(1)
        !           541:                     }
        !           542:                     DEFAULT { default-local, default-host }
        !           543:             }
        !           544: \end{verbatim}
        !           545: \end{bwslide}
        !           546: 
        !           547: 
        !           548: \begin{bwslide}
        !           549: \ctitle{MACROS}
        !           550: 
        !           551: \begin{nrtc}
        !           552: \item  ALLOW ASN.1 LANGUAGE TO BE DYNAMICALLY EXTENDED
        !           553: \item  INTENDED TO CAPTURE {\em SOME} ADDITIONAL SEMANTICS
        !           554: \item  ACTUALLY EXTEND THE ASN.1 GRAMMAR
        !           555: \item  VERY POWERFUL
        !           556: \item  \underline{VERY PROBLEMATIC}
        !           557: \end{nrtc}
        !           558: \end{bwslide}
        !           559: 
        !           560: 
        !           561: \begin{bwslide}
        !           562: \ctitle {MACROS --- EXAMPLE}
        !           563: \begin{quote}\small\begin{verbatim}
        !           564: <<macro> MACRO ::=
        !           565: 
        !           566: BEGIN
        !           567: 
        !           568: TYPE NOTATION  ::= <<type syntax>>
        !           569: 
        !           570: VALUE NOTATION ::= <<value syntax>>
        !           571: 
        !           572: <<supporting syntax>>
        !           573: 
        !           574: END
        !           575: \end{verbatim}\end{quote}
        !           576: \end{bwslide}
        !           577: 
        !           578: 
        !           579: \begin{bwslide}
        !           580: \ctitle {MACROS --- PROBLEMS}
        !           581: 
        !           582: \begin{nrtc}
        !           583: \item  ACTUALLY CHANGE GRAMMAR RULES OF ASN.1
        !           584:        \begin{nrtc}
        !           585:        \item   ``NORMAL'' LANGUAGE MACROS ARE JUST TEXT SUBSTITUTIONS
        !           586:        \end{nrtc}
        !           587: \item  REQUIRE ASN.1 PARSER TO ACCOMMODATE DYNAMIC GRAMMAR CHANGES
        !           588: \item  INTEGRAL PART OF ASN.1
        !           589: \item  DIFFICULT TO ``MANUALLY'' EXPAND
        !           590: \end{nrtc}
        !           591: \end{bwslide}
        !           592: 
        !           593: 
        !           594: \begin{bwslide}
        !           595: \ctitle {MACROS --- PROBLEMS (cont.)}
        !           596: 
        !           597: \begin{nrtc}
        !           598: \item  MACROS THEMSELVES ARE NOT ENOUGH
        !           599:        \begin{nrtc}
        !           600:        \item   ENTIRE SEMANTICS NOT CONVEYED IN NOTATION
        !           601:        \item   REQUIRES FRONT END TO AUGMENT INPUT BACK END
        !           602:        \end{nrtc}
        !           603: \item  REQUIRES SELF--MODIFYING FRONT END COMPILER
        !           604: \end{nrtc}
        !           605: \end{bwslide}
        !           606: 
        !           607: 
        !           608: \begin{bwslide}
        !           609: \ctitle{EXAMPLES --- MACROS}
        !           610: \begin{quote}\small\begin{verbatim}
        !           611: OPERATION MACRO ::=
        !           612:     BEGIN
        !           613:     TYPE NOTATION  ::= "ARGUMENT" NamedType Result Errors | empty
        !           614:     VALUE NOTATION ::= value (VALUE INTEGER)
        !           615:     Result         ::= "RESULT" NamedType | empty
        !           616:     Errors         ::= "ERRORS" { ErrorNames } | empty
        !           617:     
        !           618:     NamedType      ::= identifier type | type
        !           619:     ErrorNames     ::= IdentifierList | empty
        !           620:     IdentifierList ::= identifier | IdentifierList "," identifier
        !           621:     END
        !           622: 
        !           623: users OPERATION
        !           624:     RESULT     IA5List
        !           625:     ERRORS     { congested, unableToOpenFile }
        !           626:     ::= 2
        !           627: \end{verbatim}\end{quote}
        !           628: \end{bwslide}
        !           629: 
        !           630: 
        !           631: %\begin{bwslide}
        !           632: %\ctitle{EXAMPLES --- MACROS (cont.)}
        !           633: %\begin{quote}\small\begin{verbatim}
        !           634: %ERROR MACRO ::=
        !           635: %    BEGIN
        !           636: %    TYPE NOTATION  ::= "PARAMETER" NamedType | empty
        !           637: %    VALUE NOTATION ::= value (VALUE INTEGER)
        !           638: %    
        !           639: %    NamedType      ::= identifier type | type
        !           640: %    END
        !           641: %
        !           642: %unableToOpenFile
        !           643: %    ERROR
        !           644: %    PARAMETER IA5List
        !           645: %    ::= 2
        !           646: %\end{verbatim}\end{quote}
        !           647: %\end{bwslide}
        !           648: 
        !           649: 
        !           650: \begin{bwslide}
        !           651: \ctitle{TRANSFER SYNTAX \\ BASIC ENCODING RULES (BER)}
        !           652: 
        !           653: \begin{nrtc}
        !           654: \item  INDEPENDENT OF MACHINE-DEPENDENT STRUCTURES \& RESTRICTIONS
        !           655: \item  TAGGED DATA, {\em TAG--LENGTH--VALUE (TLV) APPROACH}
        !           656: \item  VARIABLE LENGTH ENCODINGS IN MINIMAL OCTETS
        !           657: \item  SOLID TECHNOLOGY
        !           658:        \begin{nrtc}
        !           659:        \item   NOT A CONCERN FOR MOST IMPLEMENTORS
        !           660:        \end{nrtc}
        !           661: \end{nrtc}
        !           662: \end{bwslide}
        !           663: 
        !           664: 
        !           665: \begin{bwslide}
        !           666: \ctitle {TLV ENCODINGS}
        !           667: 
        !           668: \begin{nrtc}
        !           669: \item  USE OF TLV IS CONTROVERSIAL
        !           670: \item  LESS EXTENSIBLE SCHEMES ARE MORE PERFORMANT
        !           671: \item  EACH FIELD IS VARIABLE LENGTH
        !           672: \item  FIELDS MAY BE OF ARBITRARY COMPLEXITY
        !           673: \end{nrtc}
        !           674: \end{bwslide}
        !           675: 
        !           676: 
        !           677: \begin{bwslide}
        !           678: \ctitle {TLV}
        !           679: 
        !           680: \vskip.5in
        !           681: \diagram[p]{figureA-27}
        !           682: \end{bwslide}
        !           683: 
        !           684: 
        !           685: \begin{bwslide}
        !           686: \ctitle {COMPLEX ENCODINGS}
        !           687: 
        !           688: \begin{nrtc}
        !           689: \item  COMPLEX ASN.1 TYPES COMPOSED OF SEVERAL LESS COMPLEX TYPES
        !           690: \item  EVENTUALLY BREAK DOWN TO SIMPLE ASN.1 TYPES
        !           691: \item  BER APPLIED TO SIMPLE TYPES RECURSIVELY TO AN ARBITRARY 
        !           692:                LEVEL OF COMPLEXITY
        !           693: \end{nrtc}
        !           694: \end{bwslide}
        !           695: 
        !           696: 
        !           697: %\begin{bwslide}
        !           698: %\ctitle {ENCODING DETAILS}
        !           699: %
        !           700: %\begin{nrtc}
        !           701: %\item BIT ORDERING
        !           702: %      \begin{nrtc}
        !           703: %      \item   ``BIT 8'' IS HIGH ORDER
        !           704: %      \item   ``BIT 1'' IS LOW ORDER
        !           705: %      \end{nrtc}
        !           706: %\item INTEGERS
        !           707: %      \begin{nrtc}
        !           708: %      \item   OF ANY VALUE, {\em TWOS--COMPLEMENT}
        !           709: %      \item   POSITIVE ONLY, {\em UNSIGNED}
        !           710: %      \end{nrtc}
        !           711: %\end{nrtc}
        !           712: %\end{bwslide}
        !           713: 
        !           714: 
        !           715: %\begin{bwslide}
        !           716: %\ctitle {TAG FIELD}
        !           717: %
        !           718: %\begin{nrtc}
        !           719: %\item PAIR
        !           720: %      \begin{nrtc}
        !           721: %      \item   CLASS OF ASN.1 TYPE
        !           722: %              \begin{nrtc}
        !           723: %              \item   UNIVERSAL
        !           724: %              \item   APPLICATION
        !           725: %              \item   CONTEXT-SPECIFIC
        !           726: %              \item   PRIVATE
        !           727: %              \end{nrtc}
        !           728: %      \item   IDENTIFIER OF ASN.1 TYPE
        !           729: %              \begin{nrtc}
        !           730: %              \item   ARBITRARY LENGTH
        !           731: %              \end{nrtc}
        !           732: %      \end{nrtc}
        !           733: %\item INDICATION IF VALUE IS PRIMITIVE OR CONSTRUCTED
        !           734: %\end{nrtc}
        !           735: %\end{bwslide}
        !           736: 
        !           737: 
        !           738: %\begin{bwslide}
        !           739: %\ctitle {TAG FIELD}
        !           740: %
        !           741: %\vskip.5in
        !           742: %\diagram[p]{figureA-29}
        !           743: %\end{bwslide}
        !           744: 
        !           745: 
        !           746: %\begin{bwslide}
        !           747: %\ctitle{PRIMATIVE TYPES}
        !           748: %
        !           749: %\begin{tabular}{ll}
        !           750: %INTEGER               & [UNIVERSAL 2] \\
        !           751: %BOOLEAN               & [UNIVERSAL 1] \\
        !           752: %NULL          & [UNIVERSAL 5] \\
        !           753: %OCTET STRING  & [UNIVERSAL 4] \\
        !           754: %BIT STRING    & [UNIVERSAL 3] \\
        !           755: %%\\
        !           756: %%OBJECT IDENTIFIER \\
        !           757: %%EXTERNAL \\
        !           758: %%ANY \\
        !           759: %\end{tabular}
        !           760: %\end{bwslide}
        !           761: 
        !           762: 
        !           763: %\begin{bwslide}
        !           764: %\ctitle{CONSTRUCTOR TYPES}
        !           765: %
        !           766: %\begin{tabular}{lll}
        !           767: %SET & [UNIVERSAL 17] & Fixed size set of items of distinct types \\
        !           768: %SET OF & [UNIVERSAL 17] & Variable size set of items of the same type \\
        !           769: %SEQUENCE & [UNIVERSAL 16] & Record \\
        !           770: %SEQUENCE OF & [UNIVERSAL 16] & Array or list \\
        !           771: %%CHOICE & & One out of a set of possible types \\
        !           772: %%TAGGED & & For creating a type with a new tag \\
        !           773: %\end{tabular}
        !           774: %\end{bwslide}
        !           775: 
        !           776: 
        !           777: %\begin{bwslide}
        !           778: %\ctitle {LENGTH FIELD}
        !           779: %
        !           780: %\begin{nrtc}
        !           781: %\item INDICATES LENGTH OF VALUE FIELD
        !           782: %      \begin{nrtc}
        !           783: %      \item   ACTUAL LENGTH (${2}^{1008}-1$ MAXIMUM)
        !           784: %      \item   INDEFINITE LENGTH
        !           785: %              \begin{nrtc}
        !           786: %              \item   END OF STREAM HAS A SPECIAL MARKER
        !           787: %              \end{nrtc}
        !           788: %      \end{nrtc}
        !           789: %\end{nrtc}
        !           790: %\end{bwslide}
        !           791: 
        !           792: 
        !           793: %\begin{bwslide}
        !           794: %\ctitle {VALUE FIELD}
        !           795: %
        !           796: %\begin{nrtc}
        !           797: %\item SIMPLE TYPES
        !           798: %      \begin{nrtc}
        !           799: %      \item   {\em SIMPLE} VALUE
        !           800: %      \end{nrtc}
        !           801: %\item CONSTRUCTOR TYPES
        !           802: %      \begin{nrtc}
        !           803: %      \item   MULTIPLE SIMPLE ENCODINGS AS VALUE
        !           804: %      \item   DETERMINING LENGTH IN ADVANCE IS TOUGH PART
        !           805: %      \item   INDEFINITE LENGTH USED FOR THIS
        !           806: %              \begin{nrtc}
        !           807: %              \item   MAKES SENDING EASY
        !           808: %              \item   RECEIVING MORE DIFFICULT
        !           809: %              \end{nrtc}
        !           810: %      \end{nrtc}
        !           811: %\end{nrtc}
        !           812: %\end{bwslide}
        !           813: 
        !           814: 
        !           815: \begin{bwslide}
        !           816: \ctitle {VALUE FIELD\\SIMPLE EXAMPLE --- INTEGER 26}
        !           817: 
        !           818: \vskip.5in
        !           819: \diagram[p]{figureA-28}
        !           820: \end{bwslide}
        !           821: 
        !           822: 
        !           823: \begin{bwslide}
        !           824: \ctitle {VALUE FIELD\\CONSTRUCTOR EXAMPLE}
        !           825: 
        !           826: \begin{quote}\small\begin{verbatim}
        !           827: Constructor ::=
        !           828:     SEQUENCE {
        !           829:         name
        !           830:             Name,
        !           831: 
        !           832:         value
        !           833:             Value
        !           834:     }
        !           835: \end{verbatim}\end{quote}
        !           836: \end{bwslide}
        !           837: 
        !           838: 
        !           839: \begin{bwslide}
        !           840: \ctitle {CONSTRUCTOR EXAMPLE (cont.)}
        !           841: 
        !           842: \vskip.5in
        !           843: \diagram[p]{figureA-30}
        !           844: \end{bwslide}
        !           845: 
        !           846: 
        !           847: %\begin{bwslide}
        !           848: %\ctitle {VALUE ``ANY'' FIELDS}
        !           849: %
        !           850: %\begin{nrtc}
        !           851: %\item OPAQUE FIELD
        !           852: %\item SENDING APPLICATION
        !           853: %      \begin{nrtc}
        !           854: %      \item   MUST ``KNOW'' WHAT TO SUPPLY
        !           855: %      \item   SUPPLIED DATA MUST ALREADY HAVE BER APPLIED
        !           856: %      \end{nrtc}
        !           857: %\item RECEIVING APPLICATION
        !           858: %      \begin{nrtc}
        !           859: %      \item   CAN EASILY DECODE BER
        !           860: %      \item   MUST ``KNOW'' WHAT IT IS TO MAKE USE OF DATA
        !           861: %      \end{nrtc}
        !           862: %\end{nrtc}
        !           863: %\end{bwslide}
        !           864: 
        !           865: 
        !           866: %\begin{bwslide}
        !           867: %\ctitle       {ENCRYPTED}
        !           868: %
        !           869: %\begin{nrtc}
        !           870: %\item MENTIONED FOR CURIOSITY SAKE
        !           871: %\item REQUIRES BILATERAL AGREEMENT ON USE
        !           872: %\item DOESN'T PREVENT APPLICATION FROM PERFORMING ENCRYPTION ITSELF
        !           873: %\end{nrtc}
        !           874: %\end{bwslide}
        !           875: 
        !           876: 
        !           877: %\begin{bwslide}
        !           878: %\ctitle {IMPORTANT POINT}
        !           879: %
        !           880: %\begin{nrtc}
        !           881: %\item BER TRANSFER SYNTAX CAN BE PARSED WITHOUT REFERENCE TO THE ABSTRACT
        !           882: %      SYNTAX, ASN.1
        !           883: %\end{nrtc}
        !           884: %\end{bwslide}
        !           885: 
        !           886:        
        !           887: %\begin{bwslide}
        !           888: %\ctitle {MAKING ASN.1 WORK}
        !           889: %
        !           890: %\begin{nrtc}
        !           891: %\item NEED TOOLS TO FACILITATE DEVELOPMENT OF APPLICATIONS
        !           892: %\item GENERATION OF ENCODERS, DECODERS \& PRINTERS FOR ABSTRACT SYNTAX
        !           893: %\end{nrtc}
        !           894: %\end{bwslide}
        !           895: 
        !           896: 
        !           897: %\begin{bwslide}
        !           898: %\ctitle {TOOLS}
        !           899: %
        !           900: %\begin{nrtc}
        !           901: %\item FOR ENCODING \& DECODING
        !           902: %      \begin{nrtc}
        !           903: %      \item   SEMANTICS OF DATA SUPPLIED BY ASN.1 DESCRIPTION
        !           904: %      \item   LOCAL STORAGE STRATEGY
        !           905: %              \begin{nrtc}
        !           906: %              \item   FIXED
        !           907: %              \item   DECLARATIONS
        !           908: %              \item   ACTION ROUTINES
        !           909: %              \end{nrtc}
        !           910: %      \end{nrtc}
        !           911: %\end{nrtc}
        !           912: %\end{bwslide}
        !           913: 
        !           914: 
        !           915: %\begin{bwslide}
        !           916: %\ctitle {AN APPROACH\\STRUCTURE GENERATOR}
        !           917: %
        !           918: %\begin{nrtc}
        !           919: %\item FROM ASN.1 DEFINITION, PRODUCE DATA STRUCTURES FOR
        !           920: %      {\em CONCRETE} STORAGE OF VALUES
        !           921: %\item STRUCTURES WILL BE USED BY ENCODERS \& DECODERS
        !           922: %\item APPLICATION WILL MANIPULATE STRUCTURES AS WELL
        !           923: %\end{nrtc}
        !           924: %\end{bwslide}
        !           925: 
        !           926: 
        !           927: %\begin{bwslide}
        !           928: %\ctitle {AN APPROACH:\\ENCODER/DECODER GENERATOR}
        !           929: %
        !           930: %\begin{nrtc}
        !           931: %\item GENERATE MODULES TO ENCODE \& DECODE ABSTRACT SYNTAX TO \& FROM
        !           932: %      CONCRETE DATA STRUCTURES GENERATED IN PREVIOUS STEP
        !           933: %\item ALSO GENERATE ``PRETTY PRINTERS'' FOR DISPLAYING PROTOCOL
        !           934: %\end{nrtc}
        !           935: %\end{bwslide}
        !           936: 
        !           937: 
        !           938: %\begin{bwslide}
        !           939: %\ctitle {REFERENCES}
        !           940: %
        !           941: %\begin{description}
        !           942: %\item[ISO/IEC 8324:]  Specification of Abstract Syntax Notation One (ASN.1)
        !           943: %\item[ISO/IEC 8323:]  Specification of Basic Encoding Rules for Abstract 
        !           944: %                      Syntax Notation One (ASN.1)
        !           945: %\end{description}
        !           946: %\end{bwslide}

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.