Browse Prior Art Database

Secure An APL Function to Lock Arrays

IP.com Disclosure Number: IPCOM000088416D
Original Publication Date: 1977-Jun-01
Included in the Prior Art Database: 2005-Mar-04
Document File: 5 page(s) / 150K

Publishing Venue

IBM

Related People

Reynolds, SW: AUTHOR

Abstract

SECURE is an interactive APL function which enables the user to secure any printable array existing in the active workspace. The array name, AN, is the argument of SECURE.

This text was extracted from a PDF file.
At least one non-text object (such as an image or picture) has been suppressed.
This is the abbreviated version, containing approximately 54% of the total text.

Page 1 of 5

Secure An APL Function to Lock Arrays

SECURE is an interactive APL function which enables the user to secure any printable array existing in the active workspace. The array name, AN, is the argument of SECURE.

Once the user has entered the name of the recovery function RFN and a password RPW, SECURE wraps the necessary ingredients around the array so that the result is a canonical representation of a function RFN. After the function is fixed, it will yield the array when presented RPW. The recovery function may then be locked, as can any APL function, thereby securing the array from unauthorized users.

SECURE generates HEADER, BODY, and TRAIL for different data types of ARR, the array named by AN.

HEADER is a character matrix of three rows. The first row is the syntax of RFN. It is a monadic function with an explicit result Z and an argument consisting of the characters PASSWD. The second row contains characters for a branch to a label within RFN, provided that a character scalar, or vector, formed from RPW is identical to PASSWD. The third row is a branch to zero.

The first, and perhaps only, row of BODY contains a label and Z specification. If ARR is a scalar, Z is ARR for numeric type, but is ARR embedded within quotes for character type. TRAIL is not required for scalars, and BODY is one row.

If ARR is nonscalar, the first row of BODY contains a label and Z specification of the ravel of the first raw of ARR. Succeeding rows of BODY contain Z specification of Z catenated with succeeding rows of ARR. For character type, every row of ARR is embedded within quotes and ends with a delimiter PAD.

TRAIL, for numeric type, is Z specification of Z reshaped to the correct dimension. Extra blanks along the first coordinate are then deleted. For character type, it is a reshaping of Z as a list of words delimited by PAD and a further reshaping to the correct dimension.

From the description AN (block 1), RFN is obtained in 2. If RFN is in use at 3, Msgl is displayed in 4 and another name is requested. Otherwise, RPW is obtained at 5, HEADER is constructed, ARR is specified by executing AN, and PAD, arbitrarily chosen to be the APL ceiling character, is specified.

If PAD is a member of ARR at 6, Msg2 is printed and a syntax error is used in 8 to su...