|
DataMuseum.dkPresents historical artifacts from the history of: DKUUG/EUUG Conference tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about DKUUG/EUUG Conference tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - downloadIndex: T v
Length: 7683 (0x1e03) Types: TextFile Names: »volume4.toc«
└─⟦3d0c2be1b⟧ Bits:30001254 ISODE-5.0 Tape └─⟦eba4602b1⟧ »./isode-5.0.tar.Z« └─⟦d3ac74d73⟧ └─⟦this⟧ »isode-5.0/doc/manual/volume4.toc«
\contentsline {part}{\uppercase {i}\phspace {1em}Introduction}{1} \contentsline {chapter}{\numberline {1}Overview}{3} \contentsline {section}{\numberline {1.1}Fanatics Need Not Read Further}{4} \contentsline {section}{\numberline {1.2}The Name of the Game}{5} \contentsline {section}{\numberline {1.3}Operating Environments}{5} \contentsline {section}{\numberline {1.4}Organization of the Release}{7} \contentsline {section}{\numberline {1.5}A Note on this Implementation}{9} \contentsline {section}{\numberline {1.6}Changes Since the Last Release}{10} \contentsline {part}{\uppercase {ii}\phspace {1em}Overview}{11} \contentsline {chapter}{\numberline {2}Motivation and Concepts}{13} \contentsline {section}{\numberline {2.1}A Model for Distributed Applications}{13} \contentsline {subsection}{\numberline {2.1.1}Abstract Data Types}{14} \contentsline {subsection}{\numberline {2.1.2}Operations}{15} \contentsline {subsection}{\numberline {2.1.3}Associations}{16} \contentsline {section}{\numberline {2.2}Design Guidelines}{16} \contentsline {subsection}{\numberline {2.2.1}Reliability Characteristics}{17} \contentsline {subsection}{\numberline {2.2.2}Keeping Total Operations Total}{17} \contentsline {section}{\numberline {2.3}For Further Reading}{18} \contentsline {chapter}{\numberline {3}A Discipline for Meal Preparation}{19} \contentsline {section}{\numberline {3.1}Defining A New Service}{19} \contentsline {section}{\numberline {3.2}Defining A Remote Operations Module}{21} \contentsline {section}{\numberline {3.3}Defining Concrete Data Structures}{22} \contentsline {section}{\numberline {3.4}Building An Initiator}{22} \contentsline {section}{\numberline {3.5}Building A Responder}{22} \contentsline {section}{\numberline {3.6}Putting It All Together}{23} \contentsline {part}{\uppercase {iii}\phspace {1em}Utensils}{25} \contentsline {chapter}{\numberline {4}Remote Operations Stub-Generator}{27} \contentsline {section}{\numberline {4.1}Remote Operations Module}{27} \contentsline {subsection}{\numberline {4.1.1}Operation Definitions}{27} \contentsline {subsection}{\numberline {4.1.2}Error Definitions}{28} \contentsline {subsection}{\numberline {4.1.3}Type Definitions}{28} \contentsline {section}{\numberline {4.2}ROSY Environment}{33} \contentsline {subsection}{\numberline {4.2.1}Abstract Syntax Module}{33} \contentsline {subsection}{\numberline {4.2.2}C Language Stubs}{33} \contentsline {section}{\numberline {4.3}Known Deficiences}{34} \contentsline {section}{\numberline {4.4}Running ROSY}{34} \contentsline {subsection}{\numberline {4.4.1}Options}{34} \contentsline {subsection}{\numberline {4.4.2}Makefiles}{35} \contentsline {subsection}{\numberline {4.4.3}Grinding}{36} \contentsline {chapter}{\numberline {5}Pepy Optional Structure-Generator}{37} \contentsline {section}{\numberline {5.1}Abstract Syntax Module}{37} \contentsline {section}{\numberline {5.2}POSY Environment}{41} \contentsline {subsection}{\numberline {5.2.1}C Language Structures}{41} \contentsline {subsubsection}{Controlling the names that POSY generates}{44} \contentsline {subsection}{\numberline {5.2.2}Augmented Abstract Syntax Module}{46} \contentsline {section}{\numberline {5.3}Known Deficiences}{50} \contentsline {section}{\numberline {5.4}Running POSY}{50} \contentsline {subsection}{\numberline {5.4.1}Options}{50} \contentsline {subsection}{\numberline {5.4.2}Makefiles}{51} \contentsline {chapter}{\numberline {6}Compiling Data-Structures}{57} \contentsline {section}{\numberline {6.1}Warning}{57} \contentsline {section}{\numberline {6.2}Syntax Rules}{57} \contentsline {subsection}{\numberline {6.2.1}ASN.1 Notation}{58} \contentsline {subsection}{\numberline {6.2.2}ASN.1 Extensions}{58} \contentsline {subsubsection}{Compiler Directives}{60} \contentsline {subsubsection}{Action Statements}{61} \contentsline {subsubsection}{Control Statements}{64} \contentsline {subsubsection}{Value Passing Statements}{65} \contentsline {section}{\numberline {6.3}Known Deficiencies}{70} \contentsline {subsection}{\numberline {6.3.1}ASN.1 Syntax}{70} \contentsline {subsection}{\numberline {6.3.2}ASN.1 Semantics}{71} \contentsline {section}{\numberline {6.4}PEPY Environment}{71} \contentsline {subsection}{\numberline {6.4.1}Starting Things Off}{71} \contentsline {subsection}{\numberline {6.4.2}Diagnostic Output}{72} \contentsline {subsection}{\numberline {6.4.3}Debug Output}{73} \contentsline {section}{\numberline {6.5}Pretty-printers}{73} \contentsline {section}{\numberline {6.6}Compiling and Loading}{74} \contentsline {subsection}{\numberline {6.6.1}External Modules}{74} \contentsline {subsection}{\numberline {6.6.2}Options}{74} \contentsline {subsection}{\numberline {6.6.3}Makefiles}{75} \contentsline {subsection}{\numberline {6.6.4}Grinding}{76} \contentsline {section}{\numberline {6.7}An Example}{76} \contentsline {section}{\numberline {6.8}For Further Reading}{85} \contentsline {part}{\uppercase {iv}\phspace {1em}Recipes}{87} \contentsline {chapter}{\numberline {7}Run-Time Environment}{89} \contentsline {section}{\numberline {7.1}Notice}{89} \contentsline {section}{\numberline {7.2}Conventions}{89} \contentsline {subsection}{\numberline {7.2.1}Interface from ROSY}{90} \contentsline {section}{\numberline {7.3}Routines for Initiators}{92} \contentsline {section}{\numberline {7.4}Routines for Invokers}{92} \contentsline {section}{\numberline {7.5}Routines for Responders}{98} \contentsline {section}{\numberline {7.6}Routines for Performers}{98} \contentsline {subsection}{\numberline {7.6.1}Registering Operations}{98} \contentsline {subsection}{\numberline {7.6.2}Responding to Operations}{100} \contentsline {section}{\numberline {7.7}Waiting for Events}{101} \contentsline {section}{\numberline {7.8}Miscellaneous Routines}{103} \contentsline {subsection}{\numberline {7.8.1}Association Termination}{103} \contentsline {subsection}{\numberline {7.8.2}Utility Routines}{103} \contentsline {section}{\numberline {7.9}Error Conventions}{105} \contentsline {section}{\numberline {7.10}Compiling and Loading}{105} \contentsline {section}{\numberline {7.11}Changes Since the Last Release}{105} \contentsline {chapter}{\numberline {8}Boilerplate for Initiators}{107} \contentsline {section}{\numberline {8.1}Embedded Initiator}{107} \contentsline {subsection}{\numberline {8.1.1}Association Establishment}{107} \contentsline {subsection}{\numberline {8.1.2}Operation Invocation}{110} \contentsline {subsubsection}{Synchronous Invocation}{110} \contentsline {subsubsection}{ASynchronous Invocation}{113} \contentsline {subsection}{\numberline {8.1.3}Association Release}{116} \contentsline {subsection}{\numberline {8.1.4}Error Handling}{117} \contentsline {section}{\numberline {8.2}Interactive Initiator}{121} \contentsline {subsection}{\numberline {8.2.1}Include File}{121} \contentsline {subsection}{\numberline {8.2.2}Worker Routines}{122} \contentsline {subsection}{\numberline {8.2.3}An Example}{133} \contentsline {chapter}{\numberline {9}Boilerplate for Responders}{135} \contentsline {section}{\numberline {9.1}Static Responder}{135} \contentsline {subsection}{\numberline {9.1.1}Association Management}{136} \contentsline {subsection}{\numberline {9.1.2}Operation Response}{147} \contentsline {subsection}{\numberline {9.1.3}Error Handling}{150} \contentsline {subsection}{\numberline {9.1.4}An Example}{154} \contentsline {chapter}{\numberline {10}A Complete Example}{155} \contentsline {section}{\numberline {10.1}Service Definitions}{155} \contentsline {section}{\numberline {10.2}Remote Operations Module}{156} \contentsline {section}{\numberline {10.3}Interactive Initiator}{164} \contentsline {section}{\numberline {10.4}Responder}{170}