PAL CARD CATALOG ENTRY

SHORT DESCRIPTION

Q is a software bus supporting RPCs and message passing


MOVEMENT WITHIN THE PAL CARD CATALOG
Move to top-level taxonomy
Move to keyword list

ASSET PROFILE

UNIT NAME
Q
VERSION
3.2g
REVIEW CODE
OK
INET ADDRESS
librarian@source.asset.com
AUTHOR
Dennis Heimbigner, Mark Maybee
University of Colorado
RIGHTS
Approved for public release; distribution unlimited
COPYRIGHT
1993 University of Colorado
DATE CREATED
01 August 1993
DATE RELEASED
14 January 1994
DATE LAST UPDATED
14 January 1994
LOCATION
ASSET
PAL
ENVIRONMENT
Sun
LIMITATIONS
Not documented in PAL database
CERTIFICATION
Ada System Certifier_1 1.0
Date/Time of Processing: Monday    30 May       1994 04:54:32Pm
Overall Assessment of System: OK
Classification of System: C
Basis of Classification --
Syntax Errors                               PASS
Completeness                                PASS
Independence from External Libraries        FAIL
Independence from a Specific Ada Compiler   FAIL

Explanations for failures --
System withs non-standard library units that are not provided
System contains compiler-specific pragmas or uses Machine_Code

Number of ...
Files              19
Library Units      22
Lines            3052
Statements       1093
Comments          795

Unidentified Withed Units --
6 unidentified withed units

FILE LISTING

Directory Display


languages/ada/distproc/q:
  File Name                 Size
  ---------                 ----
  README                   1,949
  q.zip                  324,687


Totals
  ==============  ==============
    2 Files              326,636

ABSTRACT

ASSET_A_503: Q - An Ada-C Interprocess Communication Support Utility,
V. 3.2
     Q is a software bus system used as part of the ARPA sponsored
Arcadia  project.  Q provides both remote procedure call (RPC) and
message-passing  semantics as a layer above Unix sockets.  It uses the
Open Network Computing  (ONC) industrial standard.
     Q supports several important capabilities:
1. Multi-language support: both embedding and interoperability.
2. ONC RPC compatibility.
3. Version of XDR for Ada.
4. Implementation of clients and servers is orthogonal
   to their mapping to Unix processes.  This means that a single Unix
   process can contain arbitrary collections of clients and servers.
5. Q extends the existing ONC remote procedure-call (RPC)
   paradigm to allow more flexible control:
        a. Out-of-order replies by server.
        b. Message passing (mix and match with RPC).
        c. Exception returns with associated value.
        d. Acknowledgement of request from servers to clients.
        e. Continuation by server tasks after replying to a request.
        f. Connection failure notification.
        g. Priority service requests.
        h. User definable authorization mechanisms.
        i. Interprocess callback support.
     Additionally, Q provides a set of matched C and Ada interfaces
designed  to support interprocess communication between these two
languages.  Certain  of these adaptations were necessitated by the lack
of key C language features  in the Ada language.  Additional features
were inspired by language features  present in the Ada language which
are not commonly found in C language  implementations.  Q defines an
interprocess communication model common to both languages, and a type
space common to both languages.
     In order to construct Q, you will also need the Arpc support
package. Arpc is a re-engineered version of the publically available 
Sun ONC RPC/XDR, version 4.0.


REVISION HISTORY

01 August 1993   3.2g   Release to ASSET
14 January 1994  3.2g   Initial release to the PAL


RELEASE NOTICE

This prologue must be included in all copies of this software.
Restrictions on use or distribution:  NONE


DISCLAIMER

	This software and its documentation are provided "AS IS" and
without any expressed or implied warranties whatsoever.  No warranties
as to performance, merchantability, or fitness for a particular
purpose exist.
	The user is advised to test the software thoroughly before
relying on it.  The user must assume the entire risk and liability of
using this software.  In no event shall any person or organization of
people be held responsible for any direct, indirect, consequential or
inconsequential damages or lost profits.