Dismiss
InnovationQ will be updated on Sunday, Oct. 22, from 10am ET - noon. You may experience brief service interruptions during that time.
Browse Prior Art Database

Object-Oriented Encapsulation of Input/Output Bus Protocols

IP.com Disclosure Number: IPCOM000117760D
Original Publication Date: 1996-May-01
Included in the Prior Art Database: 2005-Mar-31
Document File: 4 page(s) / 160K

Publishing Venue

IBM

Related People

Nordstrom, GM: AUTHOR

Abstract

Disclosed is an Object-Oriented (OO) programming abstraction applying to Input/Output (I/O) bus logical protocols. This abstraction is a basis for programming re-use in support of I/O bus protocols specific to concrete I/O bus types or architectures.

This text was extracted from an ASCII text file.
This is the abbreviated version, containing approximately 23% of the total text.

Object-Oriented Encapsulation of Input/Output Bus Protocols

      Disclosed is an Object-Oriented (OO) programming abstraction
applying to Input/Output (I/O) bus logical protocols.  This
abstraction is a basis for programming re-use in support of I/O bus
protocols specific to concrete I/O bus types or architectures.

      I/O bus protocols effect an exchange of logical information, or
"protocol data packets", from one processing unit on an I/O bus to
another on that same I/O bus.  This protocol may or may not include
the transfer of a reply protocol data packet back to the originating
I/O bus processing unit.  Protocol data packets may be "messages",
such as a read or write I/O command or command response, or they may
be parcels of data that are the operands of I/O commands.

      The programming implementation of an I/O bus protocol generally
consists of the protocol data packets sent between bus units, and the
programming infrastructure to:
  1.  accept a protocol data packet from a client program local to
       one bus unit, and send it to another unit on the I/O bus
  2.  and receive a protocol data packet from another unit on the I/O
       bus and transfer that protocol data packet to a local client
       program that interprets its content.

      Clients of I/O bus protocol classes are programs (or OO
classes) that generate the content of protocol packets to send,
interpret the content of packets received, and activate the transfer
of the packets on the I/O bus.

      This abstraction is comprised of a hierarchy of C++ abstract
base classes, their relationships and inheritance hierarchy, member
data/objects, and member methods (functions) from which "concrete"
I/O bus protocol classes (objects) are implemented.  Protocol data
packet classes are implied but not explicitly described.  Concrete
I/O bus protocol classes are derived from the abstract base classes
to implement protocols specific to a particular type of I/O bus.

      The Figure illustrates the class interactions that comprise a
bi-directional exchange of protocol data packets.  These abstract
base classes are:
  TaskMsg               This is a queueable programming message
                         class with a send() method to attach it to a
                         particular queue, and a a virtual doIt()
                         method pressed by a program that receives
                         from that queue.  The concrete derivatives
                         of this class implement doIt() to perform
                         those actions appropriate to its role in the
                         programming system.
  BusPioStatus          This class inherits from the TaskMsg class
                      ...