|
|
1.1 ! root 1: \contentsline {part}{\uppercase {i}\phspace {1em}Introduction}{1} ! 2: \contentsline {chapter}{\numberline {1}Overview}{3} ! 3: \contentsline {section}{\numberline {1.1}Fanatics Need Not Read Further}{4} ! 4: \contentsline {section}{\numberline {1.2}The Name of the Game}{5} ! 5: \contentsline {section}{\numberline {1.3}Operating Environments}{5} ! 6: \contentsline {section}{\numberline {1.4}Organization of the Release}{7} ! 7: \contentsline {section}{\numberline {1.5}A Note on this Implementation}{9} ! 8: \contentsline {section}{\numberline {1.6}Changes Since the Last Release}{10} ! 9: \contentsline {part}{\uppercase {ii}\phspace {1em}Overview}{11} ! 10: \contentsline {chapter}{\numberline {2}Motivation and Concepts}{13} ! 11: \contentsline {section}{\numberline {2.1}A Model for Distributed Applications}{13} ! 12: \contentsline {subsection}{\numberline {2.1.1}Abstract Data Types}{14} ! 13: \contentsline {subsection}{\numberline {2.1.2}Operations}{15} ! 14: \contentsline {subsection}{\numberline {2.1.3}Associations}{16} ! 15: \contentsline {section}{\numberline {2.2}Design Guidelines}{16} ! 16: \contentsline {subsection}{\numberline {2.2.1}Reliability Characteristics}{17} ! 17: \contentsline {subsection}{\numberline {2.2.2}Keeping Total Operations Total}{17} ! 18: \contentsline {section}{\numberline {2.3}For Further Reading}{18} ! 19: \contentsline {chapter}{\numberline {3}A Discipline for Meal Preparation}{19} ! 20: \contentsline {section}{\numberline {3.1}Defining A New Service}{19} ! 21: \contentsline {section}{\numberline {3.2}Defining A Remote Operations Module}{21} ! 22: \contentsline {section}{\numberline {3.3}Defining Concrete Data Structures}{22} ! 23: \contentsline {section}{\numberline {3.4}Building An Initiator}{22} ! 24: \contentsline {section}{\numberline {3.5}Building A Responder}{22} ! 25: \contentsline {section}{\numberline {3.6}Putting It All Together}{23} ! 26: \contentsline {part}{\uppercase {iii}\phspace {1em}Utensils}{25} ! 27: \contentsline {chapter}{\numberline {4}Remote Operations Stub-Generator}{27} ! 28: \contentsline {section}{\numberline {4.1}Remote Operations Module}{27} ! 29: \contentsline {subsection}{\numberline {4.1.1}Operation Definitions}{27} ! 30: \contentsline {subsection}{\numberline {4.1.2}Error Definitions}{28} ! 31: \contentsline {subsection}{\numberline {4.1.3}Type Definitions}{28} ! 32: \contentsline {section}{\numberline {4.2}ROSY Environment}{33} ! 33: \contentsline {subsection}{\numberline {4.2.1}Abstract Syntax Module}{33} ! 34: \contentsline {subsection}{\numberline {4.2.2}C Language Stubs}{33} ! 35: \contentsline {section}{\numberline {4.3}Known Deficiences}{34} ! 36: \contentsline {section}{\numberline {4.4}Running ROSY}{34} ! 37: \contentsline {subsection}{\numberline {4.4.1}Options}{34} ! 38: \contentsline {subsection}{\numberline {4.4.2}Makefiles}{35} ! 39: \contentsline {subsection}{\numberline {4.4.3}Grinding}{36} ! 40: \contentsline {chapter}{\numberline {5}Pepy Optional Structure-Generator}{37} ! 41: \contentsline {section}{\numberline {5.1}Abstract Syntax Module}{37} ! 42: \contentsline {section}{\numberline {5.2}POSY Environment}{41} ! 43: \contentsline {subsection}{\numberline {5.2.1}C Language Structures}{41} ! 44: \contentsline {subsubsection}{Controlling the names that POSY generates}{44} ! 45: \contentsline {subsection}{\numberline {5.2.2}Augmented Abstract Syntax Module}{46} ! 46: \contentsline {section}{\numberline {5.3}Known Deficiences}{50} ! 47: \contentsline {section}{\numberline {5.4}Running POSY}{50} ! 48: \contentsline {subsection}{\numberline {5.4.1}Options}{50} ! 49: \contentsline {subsection}{\numberline {5.4.2}Makefiles}{51} ! 50: \contentsline {chapter}{\numberline {6}Compiling Data-Structures}{57} ! 51: \contentsline {section}{\numberline {6.1}Warning}{57} ! 52: \contentsline {section}{\numberline {6.2}Syntax Rules}{57} ! 53: \contentsline {subsection}{\numberline {6.2.1}ASN.1 Notation}{58} ! 54: \contentsline {subsection}{\numberline {6.2.2}ASN.1 Extensions}{58} ! 55: \contentsline {subsubsection}{Compiler Directives}{60} ! 56: \contentsline {subsubsection}{Action Statements}{61} ! 57: \contentsline {subsubsection}{Control Statements}{64} ! 58: \contentsline {subsubsection}{Value Passing Statements}{65} ! 59: \contentsline {section}{\numberline {6.3}Known Deficiencies}{70} ! 60: \contentsline {subsection}{\numberline {6.3.1}ASN.1 Syntax}{70} ! 61: \contentsline {subsection}{\numberline {6.3.2}ASN.1 Semantics}{71} ! 62: \contentsline {section}{\numberline {6.4}PEPY Environment}{71} ! 63: \contentsline {subsection}{\numberline {6.4.1}Starting Things Off}{71} ! 64: \contentsline {subsection}{\numberline {6.4.2}Diagnostic Output}{72} ! 65: \contentsline {subsection}{\numberline {6.4.3}Debug Output}{73} ! 66: \contentsline {section}{\numberline {6.5}Pretty-printers}{73} ! 67: \contentsline {section}{\numberline {6.6}Compiling and Loading}{74} ! 68: \contentsline {subsection}{\numberline {6.6.1}External Modules}{74} ! 69: \contentsline {subsection}{\numberline {6.6.2}Options}{74} ! 70: \contentsline {subsection}{\numberline {6.6.3}Makefiles}{75} ! 71: \contentsline {subsection}{\numberline {6.6.4}Grinding}{76} ! 72: \contentsline {section}{\numberline {6.7}An Example}{76} ! 73: \contentsline {section}{\numberline {6.8}For Further Reading}{85} ! 74: \contentsline {part}{\uppercase {iv}\phspace {1em}Recipes}{87} ! 75: \contentsline {chapter}{\numberline {7}Run-Time Environment}{89} ! 76: \contentsline {section}{\numberline {7.1}Notice}{89} ! 77: \contentsline {section}{\numberline {7.2}Conventions}{89} ! 78: \contentsline {subsection}{\numberline {7.2.1}Interface from ROSY}{90} ! 79: \contentsline {section}{\numberline {7.3}Routines for Initiators}{92} ! 80: \contentsline {section}{\numberline {7.4}Routines for Invokers}{92} ! 81: \contentsline {section}{\numberline {7.5}Routines for Responders}{98} ! 82: \contentsline {section}{\numberline {7.6}Routines for Performers}{98} ! 83: \contentsline {subsection}{\numberline {7.6.1}Registering Operations}{98} ! 84: \contentsline {subsection}{\numberline {7.6.2}Responding to Operations}{100} ! 85: \contentsline {section}{\numberline {7.7}Waiting for Events}{101} ! 86: \contentsline {section}{\numberline {7.8}Miscellaneous Routines}{103} ! 87: \contentsline {subsection}{\numberline {7.8.1}Association Termination}{103} ! 88: \contentsline {subsection}{\numberline {7.8.2}Utility Routines}{103} ! 89: \contentsline {section}{\numberline {7.9}Error Conventions}{105} ! 90: \contentsline {section}{\numberline {7.10}Compiling and Loading}{105} ! 91: \contentsline {chapter}{\numberline {8}Boilerplate for Initiators}{106} ! 92: \contentsline {section}{\numberline {8.1}Embedded Initiator}{106} ! 93: \contentsline {subsection}{\numberline {8.1.1}Association Establishment}{106} ! 94: \contentsline {subsection}{\numberline {8.1.2}Operation Invocation}{109} ! 95: \contentsline {subsubsection}{Synchronous Invocation}{109} ! 96: \contentsline {subsubsection}{ASynchronous Invocation}{112} ! 97: \contentsline {subsection}{\numberline {8.1.3}Association Release}{115} ! 98: \contentsline {subsection}{\numberline {8.1.4}Error Handling}{116} ! 99: \contentsline {section}{\numberline {8.2}Interactive Initiator}{120} ! 100: \contentsline {subsection}{\numberline {8.2.1}Include File}{120} ! 101: \contentsline {subsection}{\numberline {8.2.2}Worker Routines}{121} ! 102: \contentsline {subsection}{\numberline {8.2.3}An Example}{132} ! 103: \contentsline {chapter}{\numberline {9}Boilerplate for Responders}{134} ! 104: \contentsline {section}{\numberline {9.1}Static Responder}{134} ! 105: \contentsline {subsection}{\numberline {9.1.1}Association Management}{135} ! 106: \contentsline {subsection}{\numberline {9.1.2}Operation Response}{146} ! 107: \contentsline {subsection}{\numberline {9.1.3}Error Handling}{149} ! 108: \contentsline {subsection}{\numberline {9.1.4}An Example}{152} ! 109: \contentsline {chapter}{\numberline {10}A Complete Example}{153} ! 110: \contentsline {section}{\numberline {10.1}Service Definitions}{153} ! 111: \contentsline {section}{\numberline {10.2}Remote Operations Module}{154} ! 112: \contentsline {section}{\numberline {10.3}Interactive Initiator}{162} ! 113: \contentsline {section}{\numberline {10.4}Responder}{168}
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.