|
|
1.1 ! root 1: % -*- LaTeX -*- (really SLiTeX) ! 2: ! 3: \begin{bwslide} ! 4: \part {UNDERLYING SERVICES}\bf ! 5: ! 6: \begin{nrtc} ! 7: \item ABSTRACT SYNTAX NOTATION ONE (ASN.1) ! 8: ! 9: \item THE REMOTE OPERATIONS SERVICE ! 10: ! 11: \item THE BINDING SERVICE ! 12: ! 13: \item A DISCIPLINE FOR MEAL PREPARATION ! 14: \end{nrtc} ! 15: \end{bwslide} ! 16: ! 17: ! 18: \begin{note}\em ! 19: this part of the presentation corresponds to ! 20: the definition of abstract syntax notation one ([ISO~8824]) ! 21: and both the old- and new-style ros ! 22: (namely [X.410] and [ISO~9072/1]), ! 23: along with chapter~3 of The Applications Cookbook ! 24: \end{note} ! 25: ! 26: ! 27: \begin{bwslide} ! 28: \part* {ABSTRACT SYNTAX NOTATION ONE (ASN.1)}\bf ! 29: ! 30: \begin{nrtc} ! 31: \item UNIVERSAL LANGUAGE TO DESCRIBE DATA WITH STRONG TYPING ! 32: ! 33: \item RICH, EXTENSIBLE SYNTAX ! 34: ! 35: \item USEFUL FOR SPECIFICATION OF NEW PROTOCOLS ! 36: \begin{nrtc} ! 37: \item ``CLEAR TO READ'' SPECIFICATIONS (ha!) ! 38: ! 39: \item NOT TIED TO MACHINE-ORIENTED STRUCTURES AND RESTRICTIONS ! 40: \end{nrtc} ! 41: ! 42: \item REPRESENTATION CURRENTLY USED BY ALL OSI APPLICATIONS ! 43: \end{nrtc} ! 44: \end{bwslide} ! 45: ! 46: ! 47: \begin{bwslide} ! 48: \ctitle {SYNTAX} ! 49: ! 50: \begin{nrtc} ! 51: \item FORMAT OF A MODULE: ! 52: \begin{verbatim} ! 53: <<module>> DEFINITIONS ::= ! 54: BEGIN ! 55: ! 56: <<linkage>> ! 57: ! 58: <<declarations>> ! 59: ! 60: END ! 61: \end{verbatim} ! 62: ! 63: \item LINKAGE IS USED TO REFERENCE DECLARATIONS IN OTHER MODULES ! 64: ! 65: \item THREE KINDS OF DECLARATIONS ! 66: \begin{nrtc} ! 67: \item TYPES: DATA STRUCTURES ! 68: ! 69: \item VALUES: INSTANCES OF TYPES ! 70: ! 71: \item MACROS: LANGUAGE EXTENSION ! 72: \end{nrtc} ! 73: \end{nrtc} ! 74: \end{bwslide} ! 75: ! 76: ! 77: \begin{bwslide} ! 78: \ctitle {SOME EXAMPLES:\\ LINKAGE} ! 79: ! 80: \vskip.5in ! 81: \begin{verbatim} ! 82: MTSAbstractService { ! 83: joint-iso-ccitt mhs-motis(6) mts(3) modules(0) ! 84: mts-abstract-service(3) ! 85: } DEFINITIONS ::= ! 86: ! 87: BEGIN ! 88: IMPORTS OBJECT, PORT FROM AbstractServiceNotation { ! 89: joint-iso-ccitt mhs-motis(6) asdc(2) modules(0) ! 90: notation(1) ! 91: } ! 92: ! 93: ... ! 94: ! 95: END ! 96: \end{verbatim} ! 97: \end{bwslide} ! 98: ! 99: ! 100: \begin{bwslide} ! 101: \ctitle {SOME EXAMPLES:\\ TYPES AND VALUES} ! 102: ! 103: \vskip.5in ! 104: \begin{verbatim} ! 105: Multiple-defined-contexts ::= ! 106: BOOLEAN ! 107: ! 108: simple Multiple-defined-contexts ::= ! 109: FALSE -- or TRUE ! 110: ! 111: ContentLength ::= ! 112: INTEGER ! 113: ! 114: RegistrationMailType ::= ! 115: INTEGER { ! 116: non-registered-mail (0), ! 117: registered-mail (1), ! 118: registered-mail-to-addressee-in-person (2) ! 119: } ! 120: ! 121: mymail RegistrationMailType ::= ! 122: registered-mail --or 1 ! 123: \end{verbatim} ! 124: \end{bwslide} ! 125: ! 126: ! 127: \begin{bwslide} ! 128: \ctitle {SOME EXAMPLES:\\ TYPES AND VALUES (cont.)} ! 129: ! 130: \vskip.5in ! 131: \begin{verbatim} ! 132: RandomNumber ::= ! 133: BIT STRING ! 134: ! 135: Attribute-Groups ::= ! 136: BITSTRING { ! 137: storage(0), security(1), private(2) ! 138: } ! 139: ! 140: groups Attribute-Groups ::= ! 141: { storage, private } -- or '101'B ! 142: \end{verbatim} ! 143: \end{bwslide} ! 144: ! 145: ! 146: \begin{bwslide} ! 147: \ctitle {SOME EXAMPLES:\\ TYPES AND VALUES (cont.)} ! 148: ! 149: \vskip.5in ! 150: \begin{verbatim} ! 151: Content ::= ! 152: OCTET STRING ! 153: ! 154: NULL ! 155: ! 156: SEQUENCE ! 157: ! 158: SET ! 159: ! 160: BilateralInfo ::= ! 161: ANY ! 162: \end{verbatim} ! 163: \end{bwslide} ! 164: ! 165: ! 166: \begin{bwslide} ! 167: \ctitle {SOME EXAMPLES:\\ TYPES AND VALUES (cont.)} ! 168: ! 169: \vskip.5in ! 170: \begin{verbatim} ! 171: Name ::= ! 172: SEQUENCE OF ! 173: ISO8571-FADU.Node-Name ! 174: ! 175: SecurityContext ::= ! 176: SET OF SecurityLabel ! 177: ! 178: MessageDeliveryEnvelope ::= ! 179: SEQUENCE { ! 180: message-delivery-identifier ! 181: MessageDeliveryIdentifier, ! 182: ! 183: message-delivery-time ! 184: MessageDeliveryTime, ! 185: ! 186: other-fields ! 187: OtherMessageDeliveryFields ! 188: } ! 189: \end{verbatim} ! 190: \end{bwslide} ! 191: ! 192: ! 193: \begin{bwslide} ! 194: \ctitle {SOME EXAMPLES:\\ TYPES AND VALUES (cont.)} ! 195: ! 196: \vskip.5in ! 197: \begin{verbatim} ! 198: MessagesWaiting ::= ! 199: SET { ! 200: urgent[0] ! 201: DeliveryQueue, ! 202: ! 203: normal[1] ! 204: DeliveryQueue, ! 205: ! 206: nonUrgent[2] ! 207: DeliveryQueue, ! 208: } ! 209: ! 210: queue MessagesWaiting ::= ! 211: { ! 212: urgent { ... }, normal { ... }, nonUrgent { ... } ! 213: } ! 214: \end{verbatim} ! 215: \end{bwslide} ! 216: ! 217: ! 218: \begin{bwslide} ! 219: \ctitle {SOME EXAMPLES:\\ TYPES AND VALUES (cont.)}\small ! 220: ! 221: \vskip.5in ! 222: \begin{verbatim} ! 223: PerMessageSubmissionFields ::= ! 224: SET { ! 225: ... ! 226: ! 227: content-type ! 228: ContentType, ! 229: ! 230: content-identifier ! 231: ContentIdentifier ! 232: OPTIONAL, ! 233: ! 234: priority ! 235: Priority ! 236: DEFAULT normal, ! 237: ! 238: per-message-indicators ! 239: PerMessageIndicators ! 240: DEFAULT {}, ! 241: ! 242: ... ! 243: } ! 244: \end{verbatim} ! 245: \end{bwslide} ! 246: ! 247: ! 248: \begin{bwslide} ! 249: \ctitle {SOME EXAMPLES:\\ TYPES AND VALUES (cont.)} ! 250: ! 251: \vskip.5in ! 252: \begin{verbatim} ! 253: PDU ::= ! 254: CHOICE { ! 255: FTAM-Regime-PDU, ! 256: File-PDU, ! 257: Bulk-Data-PDU ! 258: } ! 259: ! 260: SecurityPolicyIdentifier ::= ! 261: OBJECT IDENTIFIER ! 262: ! 263: ISO8571-FADU.Node-Name ! 264: \end{verbatim} ! 265: \end{bwslide} ! 266: ! 267: ! 268: \begin{bwslide} ! 269: \ctitle {SOME EXAMPLES:\\ MACROS} ! 270: ! 271: \vskip.5in ! 272: \begin{verbatim} ! 273: OPERATION MACRO ::= ! 274: BEGIN ! 275: TYPE NOTATION ::= "ARGUMENT" NamedType Result Errors | empty ! 276: VALUE NOTATION ::= value (VALUE INTEGER) ! 277: Result ::= "RESULT" NamedType | empty ! 278: Errors ::= "ERRORS" { ErrorNames } | empty ! 279: ! 280: NamedType ::= identifier type | type ! 281: ErrorNames ::= IdentifierList | empty ! 282: IdentifierList ::= identifier | IdentifierList "," identifier ! 283: END ! 284: ! 285: users OPERATION ! 286: RESULT IA5List ! 287: ERRORS { congested, unableToOpenFile } ! 288: ::= 2 ! 289: \end{verbatim} ! 290: \end{bwslide} ! 291: ! 292: ! 293: \begin{bwslide} ! 294: \ctitle {SOME EXAMPLES:\\ MACROS (cont.)} ! 295: ! 296: \vskip.5in ! 297: \begin{verbatim} ! 298: ERROR MACRO ::= ! 299: BEGIN ! 300: TYPE NOTATION ::= "PARAMETER" NamedType | empty ! 301: VALUE NOTATION ::= value (VALUE INTEGER) ! 302: ! 303: NamedType ::= identifier type | type ! 304: END ! 305: ! 306: unableToOpenFile ! 307: ERROR ! 308: PARAMETER IA5List ! 309: ::= 2 ! 310: \end{verbatim} ! 311: \end{bwslide} ! 312: ! 313: ! 314: \begin{bwslide} ! 315: \part* {THE REMOTE OPERATIONS SERVICE}\bf ! 316: ! 317: \begin{nrtc} ! 318: \item STANDARDIZED OSI MECHANISM FOR SPECIFYING TRANSACTIONS ! 319: ! 320: \item CURRENTLY ONLY CONNECTION-ORIENTED\\ ! 321: (i.e., ONLY CO-ROS IS DEFINED) ! 322: ! 323: \item TERMINOLOGY: ROS-USER, ROS-PROVIDER ! 324: \end{nrtc} ! 325: \end{bwslide} ! 326: ! 327: ! 328: \begin{bwslide} ! 329: \ctitle {EXAMPLE INTERACTIONS:\\ INVOKE} ! 330: ! 331: \vskip.5in ! 332: \diagram[p]{figure25} ! 333: \end{bwslide} ! 334: ! 335: ! 336: \begin{bwslide} ! 337: \ctitle {EXAMPLE INTERACTIONS:\\ RESULT} ! 338: ! 339: \vskip.5in ! 340: \diagram[p]{figure26} ! 341: \end{bwslide} ! 342: ! 343: ! 344: \begin{bwslide} ! 345: \ctitle {EXAMPLE INTERACTIONS:\\ ERROR} ! 346: ! 347: \vskip.5in ! 348: \diagram[p]{figure27} ! 349: \end{bwslide} ! 350: ! 351: ! 352: \begin{bwslide} ! 353: \ctitle {EXAMPLE INTERACTIONS:\\ USER REJECTION} ! 354: ! 355: \vskip.5in ! 356: \diagram[p]{figure28} ! 357: \end{bwslide} ! 358: ! 359: ! 360: \begin{bwslide} ! 361: \ctitle {EXAMPLE INTERACTIONS:\\ PROVIDER REJECTION} ! 362: ! 363: \vskip.5in ! 364: \diagram[p]{figure29} ! 365: \end{bwslide} ! 366: ! 367: ! 368: \begin{bwslide} ! 369: \ctitle {RO-INVOKE SERVICE} ! 370: ! 371: \begin{nrtc} ! 372: \item UNCONFIRMED SERVICE:\\ RO-INVOKE.REQUEST, RO-INVOKE.INDICATION ! 373: ! 374: \item PARAMETERS ! 375: \[\begin{tabular}{ll} ! 376: OPERATION NUMBER& integer\\ ! 377: OPERATION CLASS& (a)synchronous (local)\\ ! 378: \ \ \ (optional)& \\ ! 379: ARGUMENT& asn.1 type (APDU)\\ ! 380: INVOCATION IDENTIFIER& integer\\ ! 381: LINKED-INVOCATION ID& integer\\ ! 382: PRIORITY (optional)& integer (local) ! 383: \end{tabular}\] ! 384: ! 385: \item ARGUMENT IS OPTIONAL IN NEW-STYLE ROS ! 386: ! 387: \item THE LINKED-INVOCATION IDENTIFIER IS NOT PRESENT IN OLD-STYLE ROS ! 388: ! 389: \item APDU IS THE USER-SUPPLIED DATA STRUCTURE, AN APPLICATION PROTOCOL DATA ! 390: UNIT ! 391: \end{nrtc} ! 392: \end{bwslide} ! 393: ! 394: ! 395: \begin{bwslide} ! 396: \ctitle {RO-RESULT SERVICE} ! 397: ! 398: \begin{nrtc} ! 399: \item UNCONFIRMED SERVICE:\\ RO-RESULT.REQUEST, RO-RESULT.INDICATION ! 400: ! 401: \item PARAMETERS ! 402: \[\begin{tabular}{ll} ! 403: INVOCATION IDENTIFIER& integer\\ ! 404: RESULT& asn.1 type (APDU)\\ ! 405: PRIORITY (optional)& integer (local) ! 406: \end{tabular}\] ! 407: ! 408: \item RESULT IS OPTIONAL IN NEW-STYLE ROS ! 409: \end{nrtc} ! 410: \end{bwslide} ! 411: ! 412: ! 413: \begin{bwslide} ! 414: \ctitle {RO-ERROR SERVICE} ! 415: ! 416: \begin{nrtc} ! 417: \item UNCONFIRMED SERVICE:\\ RO-ERROR.REQUEST, RO-ERROR.INDICATION ! 418: ! 419: \item PARAMETERS ! 420: \[\begin{tabular}{ll} ! 421: INVOCATION IDENTIFIER& integer\\ ! 422: ERROR NUMBER& integer\\ ! 423: PARAMETER (optional)& asn.1 type (APDU)\\ ! 424: PRIORITY (optional)& integer (local) ! 425: \end{tabular}\] ! 426: \end{nrtc} ! 427: \end{bwslide} ! 428: ! 429: ! 430: \begin{bwslide} ! 431: \ctitle {RO-U-REJECT SERVICE} ! 432: ! 433: \begin{nrtc} ! 434: \item UNCONFIRMED SERVICE:\\ RO-U-REJECT.REQUEST, RO-U-REJECT.INDICATION ! 435: ! 436: \item PARAMETERS ! 437: \[\begin{tabular}{ll} ! 438: INVOCATION IDENTIFIER& integer\\ ! 439: REASON& integer\\ ! 440: ! 441: PRIORITY (optional)& integer (local) ! 442: \end{tabular}\] ! 443: \end{nrtc} ! 444: \end{bwslide} ! 445: ! 446: ! 447: \begin{bwslide} ! 448: \ctitle {RO-P-REJECT SERVICE} ! 449: ! 450: \begin{nrtc} ! 451: \item PROVIDER-INITIATED SERVICE:\\ RO-P-REJECT.INDICATION ! 452: ! 453: \item PARAMETERS ! 454: \[\begin{tabular}{ll} ! 455: INVOCATION IDENTIFIER& integer\\ ! 456: \ \ \ (optional)& \\ ! 457: REASON& integer\\ ! 458: APDU (optional)& asn.1 type\\ ! 459: \end{tabular}\] ! 460: ! 461: \item INVOCATION IDENTIFIER MAY NOT BE PRESENT IF: ! 462: \begin{nrtc} ! 463: \item PROBLEM IS NOT RELATED TO A PARTICULAR INVOCATION, OR ! 464: ! 465: \item THE INFORMATION IS UNAVAILABLE ! 466: \end{nrtc} ! 467: ! 468: \item IF THE LOCAL PROVIDER COULD NOT SEND AN INVOCATION (OR RESULT OR ERROR) ! 469: THEN APDU IS THE ASSOCIATED USER-SUPPLIED ARGUMENT ! 470: \end{nrtc} ! 471: \end{bwslide} ! 472: ! 473: ! 474: \begin{bwslide} ! 475: \ctitle {REASONS FOR REJECTIONS} ! 476: ! 477: \begin{nrtc} ! 478: \item FOUR CLASSES OF REJECTIONS ! 479: \begin{nrtc} ! 480: \item GENERAL PROBLEMS ! 481: ! 482: \item INVOKE PROBLEMS ! 483: ! 484: \item RETURN RESULT PROBLEMS ! 485: ! 486: \item RETURN ERROR PROBLEMS ! 487: \end{nrtc} ! 488: \end{nrtc} ! 489: \end{bwslide} ! 490: ! 491: ! 492: \begin{bwslide} ! 493: \ctitle {GENERAL PROBLEMS:\\ DETECTED BY THE ROS-PROVIDER} ! 494: ! 495: \begin{nrtc} ! 496: \item UNRECOGNIZED APDU ! 497: ! 498: \item MISTYPED APDU ! 499: ! 500: \item BADLY STRUCTURED APDU ! 501: \end{nrtc} ! 502: \end{bwslide} ! 503: ! 504: ! 505: \begin{bwslide} ! 506: \ctitle {INVOKE PROBLEMS:\\ DETECTED BY THE ROS-USER} ! 507: ! 508: \begin{nrtc} ! 509: \item DUPLICATE INVOCATION ! 510: ! 511: \item UNRECOGNIZED OPERATION ! 512: ! 513: \item MISTYPED ARGUMENT ! 514: ! 515: \item RESOURCE LIMITATION ! 516: ! 517: \item INITIATOR RELEASING\footnote{not allowed in old-style ros} ! 518: ! 519: \item UNRECOGNIZED LINKED ID$^*$ ! 520: ! 521: \item LINKED RESPONSE UNEXPECTED$^*$ ! 522: ! 523: \item UNEXPECTED CHILD OPERATION$^*$ ! 524: \end{nrtc} ! 525: \end{bwslide} ! 526: ! 527: ! 528: \begin{bwslide} ! 529: \ctitle {RETURN RESULT PROBLEMS:\\ DETECTED BY THE ROS-USER} ! 530: ! 531: \begin{nrtc} ! 532: \item UNRECOGNIZED INVOCATION ! 533: ! 534: \item RESULT RESPONSE UNEXPECTED ! 535: ! 536: \item MISTYPED RESULT ! 537: \end{nrtc} ! 538: \end{bwslide} ! 539: ! 540: ! 541: \begin{bwslide} ! 542: \ctitle {RETURN ERROR PROBLEMS:\\ DETECTED BY THE ROS-USER} ! 543: ! 544: \begin{nrtc} ! 545: \item UNRECOGNIZED INVOCATION ! 546: ! 547: \item ERROR RESPONSE UNEXPECTED ! 548: ! 549: \item UNRECOGNIZED ERROR ! 550: ! 551: \item UNEXPECTED ERROR ! 552: ! 553: \item MISTYPED PARAMETER ! 554: \end{nrtc} ! 555: \end{bwslide} ! 556: ! 557: ! 558: \begin{bwslide} ! 559: \ctitle {REMOTE OPERATION MACROS} ! 560: ! 561: \begin{nrtc} ! 562: \item THE DEFINITIONS FOR REMOTE OPERATIONS USE THE ASN.1 MACRO FACILITY ! 563: ! 564: \item ALTHOUGH PROBLEMATIC FOR PARSERS, IT RESULTS IN VASTLY SIMPLIFIED ! 565: SPECIFICATIONS ! 566: \end{nrtc} ! 567: \end{bwslide} ! 568: ! 569: ! 570: \begin{bwslide} ! 571: \ctitle {AN EXAMPLE} ! 572: ! 573: \vskip.5in ! 574: \begin{verbatim} ! 575: finger OPERATION ! 576: ARGUMENT IA5List ! 577: RESULT IA5List ! 578: ERRORS { congested, unableToAccessFile, ! 579: unableToPipe, unableToFork, ! 580: errorReading } ! 581: ::= 5 ! 582: ! 583: congested ! 584: ERROR ! 585: ::= 0 ! 586: \end{verbatim} ! 587: \end{bwslide} ! 588: ! 589: ! 590: \begin{bwslide} ! 591: \ctitle {REMOTE OPERATION MACROS (cont.)} ! 592: ! 593: \begin{nrtc} ! 594: \item USING THE \verb"LINKED" CLAUSE, AN OPERATION CAN DEFINE LINKED ! 595: OPERATIONS ! 596: ! 597: \item AN OPERATION OR ERROR VALUE CAN ALSO TAKE A GLOBAL VALUE ! 598: \begin{nrtc} ! 599: \item AN OBJECT IDENTIFIER IS USED IN ADDITION TO THE ! 600: OPERATION OR ERROR CODE ! 601: \end{nrtc} ! 602: ! 603: \item THE \verb"BIND" AND \verb"UNBIND" MACROS ARE USED TO DEFINE BINDING ! 604: INFORMATION ! 605: \end{nrtc} ! 606: \end{bwslide} ! 607: ! 608: ! 609: \begin{bwslide} ! 610: \part* {THE BINDING SERVICE}\bf ! 611: ! 612: \begin{nrtc} ! 613: \item OLD- AND NEW-STYLE ROS USE DIFFERENT METHODS FOR BINDING ! 614: ! 615: \item FOR OUR PURPOSES, THE METHOD OF BINDING IS UNIMPORTANT ! 616: ! 617: \item BUT WE'LL BRIEFLY REVIEW THEM ANYWAY FOR COMPLETENESS ! 618: \end{nrtc} ! 619: \end{bwslide} ! 620: ! 621: ! 622: \begin{bwslide} ! 623: \ctitle {OLD-STYLE BINDING} ! 624: ! 625: \begin{nrtc} ! 626: \item IN OLD-STYLE ROS, BINDING WAS DONE IN ONE OF TWO WAYS: ! 627: \begin{nrtc} ! 628: \item BY USING AN EXISTING RELIABLE TRANSFER SERVICE ASSOCIATION ! 629: ! 630: \item BY USING THE RO-BEGIN AND RO-END SERVICE ([ECMA~TR/31] ONLY) ! 631: \end{nrtc} ! 632: \end{nrtc} ! 633: \end{bwslide} ! 634: ! 635: ! 636: \begin{bwslide} ! 637: \ctitle {OLD-STYLE BINDING (cont.)} ! 638: ! 639: \vskip.5in ! 640: \diagram[p]{figure7} ! 641: \end{bwslide} ! 642: ! 643: ! 644: \begin{bwslide} ! 645: \ctitle {NEW-STYLE BINDING} ! 646: ! 647: \begin{nrtc} ! 648: \item IN NEW-STYLE ROS, BINDING IS ALSO DONE IN ONE OF TWO WAYS: ! 649: \begin{nrtc} ! 650: \item BY USING AN EXISTING RELIABLE TRANSFER SERVICE ASSOCIATION ! 651: ! 652: \item BY USING ASSOCIATION CONTROL ! 653: \end{nrtc} ! 654: \end{nrtc} ! 655: \end{bwslide} ! 656: ! 657: ! 658: \begin{bwslide} ! 659: \ctitle {NEW-STYLE BINDING (cont.)} ! 660: ! 661: \vskip.5in ! 662: \diagram[p]{figure8} ! 663: \end{bwslide} ! 664: ! 665: ! 666: \begin{bwslide} ! 667: \part* {A DISCIPLINE FOR MEAL PREPARATION}\bf ! 668: ! 669: \begin{nrtc} ! 670: \item WE HAVE INTRODUCED ! 671: \begin{nrtc} ! 672: \item A MODEL FOR DISTRIBUTED APPLICATIONS, AND ! 673: ! 674: \item THE SERVICES AVAILABLE TO THE APPLICATION TO REALIZE THIS ! 675: \end{nrtc} ! 676: ! 677: \item WHAT WE NEED IS THE ``DISCIPLINE'' TO FOCUS OUR ENERGIES ! 678: \end{nrtc} ! 679: \end{bwslide} ! 680: ! 681: ! 682: \begin{bwslide} ! 683: \ctitle {INITIATORS} ! 684: ! 685: \begin{nrtc} ! 686: \item IN GENERAL, THERE ARE TWO KINDS OF INITIATOR IMPLEMENTATIONS ! 687: ! 688: \item INTERACTIVE ! 689: \begin{nrtc} ! 690: \item A USER RUNS A PROGRAM AND INTERACTIVELY DIRECTS THE ! 691: INVOCATION OF OPERATIONS ! 692: \end{nrtc} ! 693: ! 694: \item EMBEDDED ! 695: \begin{nrtc} ! 696: \item A PROGRAM CAUSES AN ASSOCIATION TO BE AUTOMATICALLY FORMED ! 697: AND OPERATIONS TO BE INVOKED ! 698: \end{nrtc} ! 699: \end{nrtc} ! 700: \end{bwslide} ! 701: ! 702: ! 703: \begin{bwslide} ! 704: \ctitle {RESPONDERS} ! 705: ! 706: \begin{nrtc} ! 707: \item IN GENERAL, THERE ARE TWO KINDS OF RESPONDER IMPLEMENTATIONS, ! 708: DEPENDING ON HOW ASSOCIATIONS ARE GIVEN TO THE PROGRAM WHICH ! 709: IMPLEMENTS THE SERVICE ! 710: ! 711: \item SINGLE ASSOCIATION (a.k.a. THE DYNAMIC APPROACH) ! 712: \begin{nrtc} ! 713: \item EACH TIME THE SERVICE IS REQUESTED, A NEW INSTANCE OF ! 714: THE PROGRAM IS EXECUTED ! 715: \end{nrtc} ! 716: ! 717: \item MULTIPLE ASSOCIATION (a.k.a. THE STATIC APPROACH) ! 718: \begin{nrtc} ! 719: \item EACH TIME THE SERVICE IS REQUESTED, THE REQUEST IS GIVEN TO A ! 720: SINGLE, ALREADY EXECUTING, INSTANCE OF THE PROGRAM ! 721: \end{nrtc} ! 722: \end{nrtc} ! 723: \end{bwslide} ! 724: ! 725: ! 726: \begin{bwslide} ! 727: \ctitle {GENERAL ORGANIZATION} ! 728: ! 729: \begin{nrtc} ! 730: \item AT COMPILE-TIME: ! 731: \begin{nrtc} ! 732: \item USE RO-SPECIFICATION TO GENERATE SUPPORT FACILITIES ! 733: \end{nrtc} ! 734: ! 735: \item AT RUN-TIME: ! 736: \begin{nrtc} ! 737: \item USE DIRECTORY SERVICES TO LOCATE/REGISTER SERVICES ! 738: ! 739: \item USE ASSOCIATION CONTROL TO BIND/UNBIND APPLICATIONS ! 740: ! 741: \item USE REMOTE OPERATIONS TO INVOKE TRANSACTIONS ! 742: \end{nrtc} ! 743: \end{nrtc} ! 744: \end{bwslide} ! 745: ! 746: ! 747: \begin{bwslide} ! 748: \ctitle {STATIC (COMPILE-TIME) ORGANIZATION} ! 749: ! 750: \vskip.15in ! 751: \diagram[p]{figure9} ! 752: \end{bwslide} ! 753: ! 754: ! 755: \begin{bwslide} ! 756: \ctitle {DYNAMIC (RUN-TIME) ORGANIZATION} ! 757: ! 758: \vskip.15in ! 759: \diagram[p]{figure10} ! 760: \end{bwslide} ! 761: ! 762: ! 763: \begin{bwslide} ! 764: \ctitle {IN PERSPECTIVE} ! 765: ! 766: \begin{nrtc} ! 767: \item \emph{THE COOKBOOK} PRESENTS \emph{ONE} POSSIBLE METHOD ! 768: FOR REALIZING THE MODEL USING THE UNDERLYING FACILITIES ! 769: ! 770: \item MANY MORE ARE POSSIBLE\\ ! 771: \begin{nrtc} ! 772: \item AND SOME WILL BE VASTLY SUPERIOR ! 773: \end{nrtc} ! 774: ! 775: \item THE APPROACH TAKEN BY \emph{THE COOKBOOK} ATTEMPTS TO BALANCE ! 776: SIMPLICTY AND EXTENSIBILITY ! 777: ! 778: \item HENCE, IT MAY STILL BE UNDERDONE FOR SOME CHEFS AND OVERDONE FOR ! 779: OTHERS ! 780: \end{nrtc} ! 781: \end{bwslide}
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.