Kednos PL/I for OpenVMS Systems
Installation Guide


Previous Contents Index

2.2.1 Error Conditions

If the installation procedure fails, a message similar to the following is displayed:


%VMSINSTAL-E-INSFAIL, The installation of Kednos PL/I V4.n has failed. 

An error during the installation can occur if one or more of the following conditions exist:

For descriptions of the error messages generated by these conditions, see the OpenVMS system messages documentation or your processor-specific installation/operations guide.

If you are notified that any of these conditions exist, follow the instructions in the message. You may need to change a system parameter or increase an authorized quota value.

If the installation fails, you must restart the installation procedure from step 2. If the installation fails due to an IVP failure, contact Kednos Corporation.

2.2.2 Installing Kednos PL/I for OpenVMS Alpha as a Shared Image

If you plan to use Kednos PL/I for OpenVMS Alpha extensively, you can reduce system overhead and memory requirements by installing Kednos PL/I for OpenVMS Alpha as a shared image. To perform the installation on a system that is currently running, log into a privileged account and use the OpenVMS Install Utility.

First, determine the number of available global pages and global sections on your system. See Section 1.4 for information on how to do this.

If you have enough available global pages and global sections, install Kednos PL/I for OpenVMS Alpha as a shared image using the supplied startup procedure:


SYS$MANAGER:DPLI$STARTUP.COM 

This procedure installs the compiler and run-time library as shared images.

Update the system startup file to install Kednos PL/I for OpenVMS Alpha.

To ensure that Kednos PL/I for OpenVMS Alpha is installed as a shared image each time the system is bootstrapped, include the following line in
SYS$MANAGER:SYSTARTUP_V5.COM (the site-specific startup file):


$ @SYS$MANAGER:DPLI$STARTUP


Chapter 3
After the Installation

PL/I is now installed and can be invoked by all users with the DCL command, PLI.

The installation procedure modifies the DCL command table so that the PLI command is recognized and processed. However, the previous command table is still in effect for those users who are currently logged in. All logged-in users who want to use the PLI command for the newly installed product must log out of the system and log in again.

If PL/I is used extensively on your system, you can reduce system overhead requirements by installing it as a shareable image using the OpenVMS Install Utility. For more information, read Section 2.1.2 or Section 2.2.2.

3.1 Running the Installation Verification Procedure Separately

The Installation Verification Procedure (IVP) is usually run at installation. You can also run it separately at any time to ensure the integrity of installed files if you have problems with your system. The following command procedures execute the IVP:

Kednos PL/I for OpenVMS VAX


$ @SYS$SYSROOT:[SYSTEST]PLI$IVP.COM [Return]

Kednos PL/I for OpenVMS Alpha


$ @SYS$SYSROOT:[SYSTEST]DPLI$IVP.COM [Return]

If the IVP fails, one of the following messages is displayed, depending upon which OpenVMS system you are using:

Kednos PL/I for OpenVMS VAX


***  VAX PL/I Installation Verification Procedure *** 
   **** Beginning at  dd-mmm-yyyy hh:mm:ss.ss **** 
 
    IVP test ASSIGN... 
 
******** VAX PL/I Installation Verification FAILED ******** 
 
***  VAX PL/I Installation Verification Procedure *** 
    ***** Ending at  dd-mmm-yyyy hh:mm:ss.ss **** 

Kednos PL/I for OpenVMS Alpha


 
        *-----------------------------------------------* 
        *    Installation Verification Procedure        * 
        * Kednos PL/I for OpenVMS Alpha Systems V4.4    * 
        *-----------------------------------------------* 
 
Copyright Kednos Corporation 1999-2003.  All rights reserved. 
 
    IVP test ASSIGN... 
 
******** Kednos PL/I Installation Verification FAILED ******** 
 
***  Kednos PL/I Installation Verification Procedure *** 
***** Ending at  dd-mmm-yyyy hh:mm:ss.ss **** 
 

3.2 Installing PL/I on a VMScluster

If you want to run PL/I on multiple nodes of a VMScluster, first check to see that you have the appropriate software license. Then, follow these steps after installing PL/I:

  1. Execute the LICENSE LOAD command to activate the license on each node in the VMScluster on which PL/I is to be executed.
  2. To use the product on other nodes in the VMScluster, you must replace the version of the DCL tables installed on the other VMScluster nodes. To do this, perform the following steps:
    1. Log in to a node on the cluster.
    2. Run INSTALL and enter the following command at the INSTALL> prompt:


      INSTALL> REPLACE SYS$LIBRARY:DCLTABLES.EXE [Return]
      

    3. Repeat steps a and b for each node of the cluster.

As a faster alternative, you can use the SYSMAN utility to replace the DCL tables on all cluster nodes. To do this, perform the following steps.

  1. Log in to a node on the cluster.
  2. Run SYSMAN and enter the following commands at the SYSMAN> prompt:


    SYSMAN> SET ENVIRONMENT/CLUSTER [Return]
    SYSMAN> DO INSTALL REPLACE SYS$LIBRARY::DCLTABLES.EXE [Return]
    

    You need do this on only one node of the cluster, and all nodes will be updated.

3.3 Maintenance Updates

Kednos Corporation may periodically issue maintenance updates of PL/I. Each update consists of an installation kit. You should install this kit as described herein or in any documentation that may accompany the maintenance update.

Each time a maintenance update is released, the version number changes. For example, if the current version is 3.0, the version number of the first maintenance update will be 3.1. In addition, the maintenance update includes new release notes. The release notes describe the changes that have been made to PL/I since the previous release.

The update release notes are online. To locate the release notes after installing PL/I, type or print one of the following files:

Kednos PL/I for OpenVMS VAX

SYS$HELP:PLI$038.RELEASE_NOTES

Kednos PL/I for OpenVMS Alpha

SYS$HELP:DPLI044.RELEASE_NOTES

or, enter the following command:


$ HELP PLI RELEASE_NOTES [Return]

3.4 Determining and Reporting Problems

If an error occurs while using PL/I and you believe that the error is caused by a problem with PL/I, take one of the following actions:

If you find an error in the PL/I documentation, complete and submit a Reader's Comments form from the back of the manual containing the error. Include the section and page number on which the error occurred.


Appendix A
Sample Installation

This appendix contains sample installations of Kednos PL/I Version 3.8 for OpenVMS VAX and Kednos PL/I Version 4.4 for OpenVMS Alpha. Note that these are only sample installations. The installation procedure may be modified in maintenance updates of this product.

A.1 Installing Kednos PL/I on OpenVMS VAX Systems


Username: SYSTEM
 
Password: 
 Welcome to VAX/VMS version V5.5-2 on node MYVAX 
    Last interactive login on Wednesday, 26-NOV-2003 12:04 
    Last non-interactive login on Tuesday,  1-JAN-2002 09:45 
$ @SYS$UPDATE:VMSINSTAL PLI038 SYS$SYSDEVICE:[KITS]
 
 
 VAX/VMS Software Product Installation Procedure V5.5-2 
 
 
It is 26-NOV-2003 at 12:39. 
 
Enter a question mark (?) at any time for help. 
* Are you satisfied with the backup of your system disk [YES]? 
 
 
The following products will be processed: 
  PLI V3.8 
 
 Beginning installation of PLI V3.8 at 12:39 
 
%VMSINSTAL-I-RESTORE, Restoring product save set A ... 
%VMSINSTAL-I-RELMOVED, Product's release notes have been moved to SYS$HELP. 
 
        Product:      PLI 
        Producer:     KEDNOS 
        Version:      3.8 
        Release Date: 01-NOV-2003 
 
* Does this product have an authorization key registered and loaded? yes
 
* Do you want to purge files replaced by this installation [YES]? 
 
 
    This kit contains an Installation Verification Procedure (IVP) 
    to verify the correct installation of VAX PL/I.  The IVP will 
    be left in: 
 
 SYS$COMMON:[SYSTEST]PLI$IVP.COM 
 
    After the installation is complete, you can invoke the command 
    file at any time to verify that VAX PL/I is installed and 
    working correctly. 
 
* Do you want to run the IVP after the installation [YES]? 
 
* Do you want to install the DECwindows Compiler Interface for VAX PL/I [YES]? 
 
 
    This kit contains a file summarizing the new features, changes, 
    restrictions, and compatibility issues in this release of VAX PL/I. 
    This file is named PLI$038.RELEASE_NOTES and has been placed in 
    SYS$HELP:. 
 
    This file contains information valuable to VAX PL/I programmers. 
    Please inform your user community of this file's existence. 
 
 
    The VAX PL/I system interface library PLI$STARLET.TLB can be installed 
    either in compressed form or in decompressed form.  The compressed form 
    of the library requires approximately 1500 blocks less disk space, but 
    requires more CPU time during compilations of programs that include 
    modules from the library.  Installing the decompressed form of the 
    library will require more time for this installation to complete, 
    because the library decompression is performed by the installation; 
    also, the decompressed form will require approximately 3000 additional 
    blocks to be available during the installation procedure. 
 
* Do you want to decompress PLI$STARLET [YES]? 
 
 
 
    You have answered all of the questions for this installation.  The 
    installation will now execute in 5 to 30 minutes without further 
    intervention, depending on your configuration, installation media, 
    and so forth. 
 
%VMSINSTAL-I-RESTORE, Restoring product save set B ... 
Decompressing PLI$STARLET... 
 
%VMSINSTAL-I-SYSDIR, This product creates system disk directory  VMI$ROOT:[SYSTEST.PLI]. 
%CREATE-I-EXISTS, VMI$ROOT:[SYSTEST.PLI] already exists 
%VMSINSTAL-I-SYSDIR, This product creates system disk directory  VMI$ROOT:[SYSHLP.EXAMPLES.PLI]. 
%CREATE-I-EXISTS, VMI$ROOT:[SYSHLP.EXAMPLES.PLI] already exists 
 
    Your VMS system will now be modified to include the 
    following new and modified files: 
 
    [SYSEXE]PLI$COMPILER.EXE        [new] 
    [SYSHLP]HELPLIB.HLB             [modified] 
    [SYSHLP]PLI$038.RELEASE_NOTES   [new] 
    [SYSHLP.EXAMPLES.PLI]*.*        [new] 
    [SYSLIB]DCLTABLES.EXE           [modified] 
    [SYSLIB]PLI$STARLET.TLB         [new] 
    [SYS$STARTUP]PLI$STARTUP.COM    [new] 
    [SYSMSG]PLI$COMPILER_MSG.EXE    [new] 
    [SYSTEST]PLI$IVP.COM            [new] 
    [SYSTEST.PLI]*.*                [new] 
    [SYSLIB]PLIRTL                  [new] 
    [SYSLIB]IMAGELIB.OLB            [modified] 
    [SYSMSG]PLIMSG.EXE              [new] 
    VUE$LIBRARY:PLI$DWCI.EXE        [new] 
    VUE$LIBRARY:PLI$DWCI.UID        [new] 
    [SYSHLP]PLI$DWCI.HLB            [new] 
 
    The file SYS$STARTUP:PLI$STARTUP.COM contains commands to be 
    executed at system startup to allow for the best compilation 
    performance.  You may want to invoke this command file from your 
    system's site specific start up file.  This command file does not 
    have to be invoked for correct operation of VAX PL/I. 
 
%VMSINSTAL-I-MOVEFILES, Files will now be moved to their target directories... 
 
*** VAX PL/I Installation Verification Procedure *** 
   **** Beginning at 26-NOV-2003 12:41:32.53 **** 
 
    IVP test ASSIGN... 
    IVP test CONV... 
    IVP test BIF... 
    IVP test IO... 
    IVP test SYSERV... 
    IVP test LANG... 
 
****** Kednos PL/I V3.8-003 Installation Verification Successful ****** 
 
 
    ***** Ending at 26-NOV-2003 12:42:32.51 ***** 
 Installation of PLI V3.8 completed at 12:42 
 
$ log
 
  SYSTEM       logged out at 26-NOV-2003 12:43:51.90 

A.2 Installing Kednos PL/I on OpenVMS Alpha Systems


 
Username: SYSTEM
 
Password: 
   Welcome to OpenVMS (TM) Alpha Operating System, Version V7.3-1 on node MYNODE 
    Last interactive login on Thursday, 27-NOV-2003 09:13:00.57 
    Last non-interactive login on Wednesday, 26-NOV-2003 08:54:02.80 
$ @SYS$UPDATE:VMSINSTAL DPLI044 DISK$DECPLI:[DECPLI.RELEASE.PLI044] OPTIONS N
 
 
 OpenVMS AXP Software Product Installation Procedure V7.3-1 
 
 
It is 27-NOV-2003 at 09:32. 
 
Enter a question mark (?) at any time for help. 
* Are you satisfied with the backup of your system disk [YES]? 
 
 
The following products will be processed: 
  DPLI V4.4 
 
 Beginning installation of DPLI V4.4 at 09:32 
 
%VMSINSTAL-I-RESTORE, Restoring product save set A ... 
 
    Release notes included with this kit are always copied to SYS$HELP. 
 
    Additional Release Notes Options: 
 
 1.  Display release notes 
 2.  Print release notes 
 3.  Both 1 and 2 
 4.  None of the above 
 
* Select option [2]: 
 
* Queue name [SYS$PRINT]: 
 
* Do you want to continue the installation [NO]? YES
 
%VMSINSTAL-I-RELMOVED, Product's release notes have been moved to SYS$HELP. 
 
Kednos PL/I for OpenVMS Alpha Systems V4.4 
 
Copyright Kednos Corporation 1999-2003.  All rights reserved. 
 
Restricted Rights: Use, duplication, or disclosure by the U.S. Government 
is subject to restrictions as set forth in subparagraph (c) (1) (ii) of 
DFARS 252.227-7013, or in FAR 52.227-19, or in FAR 52.227-14 Alt. III, as 
applicable. 
 
This software is proprietary to and embodies the confidential technology 
of Kednos Corporation.  Possession, use, or copying of this 
software and media is authorized only pursuant to a valid written license 
from Kednos or an authorized sublicensor. 
 
 
 
         *---------------------------------------------* 
         *     Installation Command Procedure for      * 
         *  Kednos PL/I for OpenVMS Alpha Systems V4.4 * 
         *---------------------------------------------* 
 
 
  The Kednos PL/I for OpenVMS Alpha Systems V4.4 kit contains the 
  compiler, run time library, message files and help files.  These files 
  require 11576 blocks during installation and will occupy 
  11576 blocks after the installation. 
 
* Do you want to install the Kednos PL/I compiler [YES]? 
 
  
  PLI$STARLET is supplied in compressed (reduced data) format.  This 
  format saves disk space, but requires more CPU time during compilation. 
  Decompressing PLI$STARLET will require an additional 4520 
  blocks of disk space. 
  
* Do you want to decompress PLI$STARLET [NO]? YES
 
 
  The Kednos PL/I V4.4 kit contains a set of example programs 
  using many features of Kednos PL/I and OpenVMS.  The example files 
  require 250 blocks during installation and will occupy 
  250 blocks after installation. 
 
* Do you want to install the Kednos PL/I examples [YES]? 
 
 
* Do you want to purge files replaced by this installation [YES]? 
 
* Do you want to run the IVP after the installation [YES]? 
 
 
        Product:      PLI 
        Producer:     KEDNOS 
        Version:      4.4 
        Release Date: 15-APR-2001 
 
* Does this product have an authorization key registered and loaded? Yes
 
 
  This kit contains a file summarizing the new features, changes, 
  restrictions, and compatibility issues in this release of Kednos PL/I 
  PL/I.  This file is named DPLI044.RELEASE_NOTES and has been 
  placed in SYS$HELP:.  This file contains information valuable to Kednos PL/I 
  programmers.  Please inform your user community of this file's existence. 
 
  This kit will install the following definition file: 
 
     SYS$LIBRARY:PLI$STARLET.TLB 
 
 
  This kit provides several examples in SYS$COMMON:[SYSHLP.EXAMPLES.DECPLI]. 
  The names of the files are abbreviations keyed to the functions of the 
  examples. 
 
  The IVP (Installation Verification Procedure) will be left in 
  SYS$TEST:DPLI$IVP.COM.  After the installation is complete, you 
  can invoke the command file at any time to reverify that Kednos PL/I 
  is installed and working correctly. 
 
  An optional startup file has been placed in SYS$STARTUP:DPLI$STARTUP.COM. 
  To improve the performance of using the Kednos PL/I compiler or applications 
  written in PL/I, the startup file installs the Kednos PL/I compiler, run-time 
  library, and message files as shared images. 
 
  If you wish to use this file, add the following DCL command to 
  SYS$MANAGER:SYSTARTUP_VMS.COM 
 
    $ @SYS$STARTUP:DPLI$STARTUP.COM 
 
  All questions regarding the installation have now been asked. 
  The installation of Kednos PL/I V4.4 will now continue for 
  5 to 30 minutes depending on your configuration and the options requested. 
 
 
  Installing Kednos PL/I compiler... 
%VMSINSTAL-I-RESTORE, Restoring product save set B ... 
 
  Installing Kednos PL/I definition files... 
%VMSINSTAL-I-RESTORE, Restoring product save set C ... 
  Decompressing PLI$STARLET 
  Decompression completed 
 
  Installing Kednos PL/I example programs... 
%VMSINSTAL-I-RESTORE, Restoring product save set D ... 
%VMSINSTAL-I-SYSDIR, This product creates system directory [SYSHLP.EXAMPLES.DECPLI]. 
%CREATE-I-EXISTS, VMI$COMMON:[SYSHLP.EXAMPLES.DECPLI] already exists 
 
  Your OpenVMS system will now be updated to include the following new and 
  modified files: 
 
[SYSHLP]DPLI044.RELEASE_NOTES                     [new] 
[SYSEXE]DPLI$COMPILER.EXE                         [new] 
[SYSMSG]DPLI$COMPILER_MSG.EXE                     [new] 
[SYSHLP]HELPLIB.HLB                               [modified] 
[SYSLIB]DCLTABLES.EXE                             [modified] 
[SYSTEST.DECPLI]DPLI$IVPASSIGN.PLI                [new] 
[SYSTEST.DECPLI]DPLI$IVPCONV.PLI                  [new] 
[SYSTEST.DECPLI]DPLI$IVPCONV.CMP                  [new] 
[SYSTEST.DECPLI]DPLI$IVPBIF.PLI                   [new] 
[SYSTEST.DECPLI]DPLI$IVPIO.PLI                    [new] 
[SYSTEST.DECPLI]DPLI$IVPIO4.IDX                   [new] 
[SYSTEST.DECPLI]DPLI$IVPLANG.PLI                  [new] 
[SYSTEST.DECPLI]DPLI$IVPPRINT.PLI                 [new] 
[SYSTEST.DECPLI]DPLI$IVPSYSERV.PLI                [new] 
[SYSTEST]DPLI$IVP.COM                             [new] 
[SYSLIB]DPLI$RTLSHR.EXE                           [new] 
[SYSLIB]IMAGELIB.OLB                              [modified] 
[SYS$STARTUP]DPLI$STARTUP.COM                     [new] 
[SYSLIB]PLI$STARLET.TLB                           [new] 
[SYSHLP.EXAMPLES.DECPLI]AREA-EXAMPLE.PLI          [new] 
[SYSHLP.EXAMPLES.DECPLI]BUILD_PHONE.COM           [new] 
[SYSHLP.EXAMPLES.DECPLI]CONSTANTS.PLI             [new] 
[SYSHLP.EXAMPLES.DECPLI]DATABASE.PLI              [new] 
[SYSHLP.EXAMPLES.DECPLI]DECOVF.PLI                [new] 
[SYSHLP.EXAMPLES.DECPLI]ENTRY.PLI                 [new] 
[SYSHLP.EXAMPLES.DECPLI]EXAMPLES.TXT              [new] 
[SYSHLP.EXAMPLES.DECPLI]GET_COMMAND_LINE.PLI      [new] 
[SYSHLP.EXAMPLES.DECPLI]GLOBAL.PLI                [new] 
[SYSHLP.EXAMPLES.DECPLI]INTOVF.PLI                [new] 
[SYSHLP.EXAMPLES.DECPLI]KEYS.PLI                  [new] 
[SYSHLP.EXAMPLES.DECPLI]LINES.PLI                 [new] 
[SYSHLP.EXAMPLES.DECPLI]MTH$DEXP.PLI              [new] 
[SYSHLP.EXAMPLES.DECPLI]OLDFILE.DAT               [new] 
[SYSHLP.EXAMPLES.DECPLI]OPERATIONS.PLI            [new] 
[SYSHLP.EXAMPLES.DECPLI]OTS$CVT_TO_L.PLI          [new] 
[SYSHLP.EXAMPLES.DECPLI]OTS$CVT_TZ_L.PLI          [new] 
[SYSHLP.EXAMPLES.DECPLI]PARTLIST.TLB              [new] 
[SYSHLP.EXAMPLES.DECPLI]PHONE.FDL                 [new] 
[SYSHLP.EXAMPLES.DECPLI]PHONE.PLI                 [new] 
[SYSHLP.EXAMPLES.DECPLI]RANDOM.PLI                [new] 
[SYSHLP.EXAMPLES.DECPLI]SCREEN.PLI                [new] 
[SYSHLP.EXAMPLES.DECPLI]SIGN_EXTEND.PLI           [new] 
[SYSHLP.EXAMPLES.DECPLI]STATE.TXT                 [new] 
[SYSHLP.EXAMPLES.DECPLI]UM-02-01.PLI              [new] 
[SYSHLP.EXAMPLES.DECPLI]UM-06-01.PLI              [new] 
[SYSHLP.EXAMPLES.DECPLI]UM-07-01.PLI              [new] 
[SYSHLP.EXAMPLES.DECPLI]UM-11-02.PLI              [new] 
[SYSHLP.EXAMPLES.DECPLI]UM-11-03.PLI              [new] 
[SYSHLP.EXAMPLES.DECPLI]UM-11-04.PLI              [new] 
[SYSHLP.EXAMPLES.DECPLI]UM-11-05.PLI              [new] 
[SYSHLP.EXAMPLES.DECPLI]UM-11-06.PLI              [new] 
[SYSHLP.EXAMPLES.DECPLI]UM-11-07.PLI              [new] 
[SYSHLP.EXAMPLES.DECPLI]UM-11-08.PLI              [new] 
[SYSHLP.EXAMPLES.DECPLI]UM-11-09.PLI              [new] 
[SYSHLP.EXAMPLES.DECPLI]UM-11-10.PLI              [new] 
[SYSHLP.EXAMPLES.DECPLI]UM-11-11-SORTED.DAT       [new] 
[SYSHLP.EXAMPLES.DECPLI]UM-11-11-UNSORTED.DAT     [new] 
[SYSHLP.EXAMPLES.DECPLI]UM-11-11.PLI              [new] 
[SYSHLP.EXAMPLES.DECPLI]UM-11-12-SORTED.DAT       [new] 
[SYSHLP.EXAMPLES.DECPLI]UM-11-12-TEMP.DAT         [new] 
[SYSHLP.EXAMPLES.DECPLI]UM-11-12.PLI              [new] 
[SYSHLP.EXAMPLES.DECPLI]UM-13-01.PLI              [new] 
[SYSHLP.EXAMPLES.DECPLI]UM-13-02.PLI              [new] 
[SYSHLP.EXAMPLES.DECPLI]UM-14-01.PLI              [new] 
[SYSHLP.EXAMPLES.DECPLI]UM-14-02.PLI              [new] 
[SYSHLP.EXAMPLES.DECPLI]USER_OPEN.PLI             [new] 
[SYSHLP.EXAMPLES.DECPLI]WILDCARD.PLI              [new] 
%VMSINSTAL-I-MOVEFILES, Files will now be moved to their target directories... 
Kednos PL/I for OpenVMS Alpha Systems 
Copyright 2003 Kednos Corporation.  All rights reserved. 
 
 *-----------------------------------------------* 
 *    Installation Verification Procedure        * 
 * Kednos PL/I for OpenVMS Alpha Systems V4.4    * 
 *-----------------------------------------------* 
 
Copyright Kednos Corporation 1999-2003.  All rights reserved. 
 
    IVP test ASSIGN... 
    IVP test CONV... 
    IVP test BIF... 
    IVP test IO... 
    IVP test SYSERV... 
 
****** Kednos PL/I V4.4A-312 Installation Verification Successful ****** 
 
 
 *-----------------------------------------------* 
 *  Completed Installation Verification for      * 
 * Kednos PL/I for OpenVMS Alpha Systems V4.4    * 
 *-----------------------------------------------* 
 
 Installation of DPLI V4.4 completed at 09:33 
 
    Adding history entry in VMI$ROOT:[SYSUPD]VMSINSTAL.HISTORY 
 
    Creating installation data file: VMI$ROOT:[SYSUPD]DPLI044.VMI_DATA 
 
 VMSINSTAL procedure done at 09:34 
 
$ LOG
 
  SYSTEM    logged out at 27-NOV-2003 09:34:24.66 


Previous Next Contents Index