A Vision for Open Hypermedia Systems | Nürnberg and Leggett |
# These are the target classes. A program may belong to more than one class. TARGET server TARGET client TARGET all # These are the types not provided intrinsically TYPE locspec_t STRUCTURE ( ContentType : NTstring; Content : NTstring; Count : NTstring; ReverseCount : NTstring; Name : NTstring; Script : NTstring; ); TYPE locspec_1d DYNAMIC 1 DIMENSION ARRAY OF locspec_t; # The services # These are the server-initiated calls SEQUENCE LaunchDocument server MESSAGE LaunchDocument server -> client { DocumentName : NTstring; ReadOnly : boolean; DocumentNickname : NTstring; DocumentType : NTstring; DataCallback : boolean; Channel : integer; }; SEQUENCE DisplayAnchor server MESSAGE DisplayAnchor server -> client { AnchorId : id_t; Presentation : NTstring; Channel : integer; }; SEQUENCE DisplayLocSpec server MESSAGE DisplayLocSpec server -> client { LocSpec : locspec_t; Presentation : NTstring; Channel : integer; }; SEQUENCE Interpret server MESSAGE Interpret server -> client { ScriptType : BTstring; Data : NTstring; Channel : integer; }; SEQUENCE CloseNode server MESSAGE CloseNode server -> client { UpdateNode : boolean; Channel : integer; }; MESSAGE UpdateAnchors client -> server { num_anchs : integer; AnchorIds_ids : id_1d[num_ancs]; LocSpecs : locspec_1d[num_ancs]; Directions : NTstring_1d[num_ancs]; Presentations : NTstring_1d[num_ancs]; Services : NTstring_1d[num_ancs]; Channel : integer; }; # These are client-initiated calls SEQUENCE CouldntFindThisMessage client MESSAGE CouldntFindThisMessage client -> server { Channel : integer; }; MESSAGE HeresNewAnchor server -> client { AnchorId : id_t; LocSpec : locspec_t; Direction : NTstring; Presentation : NTstring; Service : NTstring; Channel : integer; }; SEQUENCE GetNode client MESSAGE GetNode client -> server { DocumentName : NTstring; Channel : integer; }; MESSAGE HeresDocument server -> client { Data : NTstring; Channel : integer; }; SEQUENCE GetServices client MESSAGE GetServices client -> server { Channel : integer; }; MESSAGE HeresServices server -> client { num_items : integer; Menuitems : NTstring_1d[num_items]; Services : NTstring_1d[num_items]; Channel : integer; }; SEQUENCE GetAnchorTable client MESSAGE GetAnchorTable client -> server { Channel : integer; }; MESSAGE HeresAnchorTable server -> client { num_items : integer; LocSpecs : locspec_1d[num_items]; Directions : NTstring_1d[num_items]; Presentations : NTstring_1d[num_items]; Services : NTstring_1d[num_items]; Channel : integer; }; SEQUENCE CreateNode client MESSAGE CreateNode client -> server { DocumentName : NTstring; DocumentType : NTstring; }; MESSAGE HeresNewChannel server -> client { SendDocument : boolean; DocumentNickname : NTstring; Channel : integer; }; SEQUENCE GetAnchorTable client MESSAGE GetAnchorTable client -> server { num_items : integer; LocSpecs : locspec_1d[num_items]; Directions : NTstring_1d[num_items]; Presentations : NTstring_1d[num_items]; Services : NTstring_1d[num_items]; Channel : integer; }; SEQUENCE UpdateNode client MESSAGE UpdateNode client -> server { DocumentType : NTstring; Date : NTstring; Channel : integer; }; SEQUENCE Closing client MESSAGE Closing client -> server { Channel : integer; }; SEQUENCE RequestService client MESSAGE RequestService client -> server { Service : NTstring; AnchorID : id_t; LocSpec : locspec_t; Presentation : NTstring; Channel : integer; }; # These are the "bi-directional" messages SEQUENCE Error all MESSAGE Error all -> all { Subject : NTstring; Message : NTstring; Channel : integer; }; SEQUENCE Other all MESSAGE Other all -> all { num_tags : integer; tag_names : NTstring_1d[num_tags]; tag_vals : NTstring_1d[num_tags]; Channel : integer; };
Contents
Top
1. Introduction
2. Scope of the OHSWG...
3. Scenarios...
4. An OHS Reference Architecture Proposal...
5. An OHP Proposal...
6. Metacommentary
7. Conclusions
References
Appendix A. Generic Encoding Layer Rules
Appendix B. Sproc Generic Layer Rules
Appendix C. Sproc Specific Layer Rules
Appendix D. Sproc Interface Format
Appendix E. Current Protocol Proposal in Sproc Interface Format
Peter J. Nürnberg, John J. Leggett