Software Product Information ___________________________________________________________________ PRODUCT NAME: DSM for OpenVMS Version 7.0 Part Number: IS-DSMIC-VM o Language elements that implement a subset of the OpenVMS I/O op- This Software Product Information tions for the support of termi- sheet describes two products: DSM nals, including foreign terminals, for OpenVMS Alpha and DSM for Open- magnetic tape devices, mailboxes, VMS VAX (DSM). and OpenVMS RMS sequential, rel- ative, and indexed sequential files. DSM for OpenVMS[TM] is an imple- The use of DECnet, DEC TCP/IP Ser- mentation of the ANSI Standard Spec- vices for OpenVMS (UCX), Wollon- ification for M (X11.1-1990) that gong WIN/TCP, and TCPware[TM] for is layered on the OpenVMS[TM] op- OpenVMS for remote file access and erating system. It is a high-level task-to-task communication is also programming language and a multi- possible. user data management system in o An I/O command interface to DEC which many users can share a common TCP/IP Services for OpenVMS (UCX), database. DSM software supports a Wollongong WIN/TCP, and TCPware[TM] superset of the ANSI M specification for OpenVMS.. This allows appli- fully and uses the capabilities of cation software to access TCP/IP the OpenVMS operating system. network devices using M OPEN, USE, READ, WRITE, and CLOSE commands. DSM Language o An Interface to DECwindows System and DECimage Application Services The DSM language couples the flex- software. ible processing of variable length o A maximum routine line length of string data with a high-performance 512 characters. database system, making interac- o MDC Type A Language Extensions. tive database application systems easier to implement and maintain. o Routine source code protection. The DSM language includes the fol- o Flexible device control mnemonic lowing extensions to the ANSI Stan- space definition and management dard M Specification: for use with the M WRITE / and READ / syntax. o A 512-character maximum string o Visual M[TM] remote application length for global variables and server support. a 32,767-character maximum string length for local variables. o DEC DB Integrator Gateway for DSM[TM] support for Open M/SQL[TM]. o A 245-character maximum string In Addition to supporting the calling length for subscripted local a of user-written procedures written nd global variable names. in other programming languages, DSM software includes built-in interfaces o Commands and functions to load, to selected OpenVMS system services save, and edit DSM routines. and run-time library January, 1998 DSM for OpenVMS Version 7.0 routines. This gives the DSM lan- Database Sharing in a guage the ability to mount and dis-VMScluster Environment mount disk or magnetic tape vol- In OpenVMS configurations that sup- umes, spawn DCL subprocesses, ma- port a VMScluster[TM] environment, nipulate logical names, and call the DSM for OpenVMS software al- mathematical and text manipulation lows volume sets to be mounted and functions, or editors. made accessible to all members of For high run-time efficiency, the a VMScluster environment. DSM language is implemented as a The globals and routines resident pre-compiler that generates inter- within the cluster-mounted volume mediate code. During the precom- sets are accessible in the same man- pilation process, which is invis- ner as a locally mounted volume set. ible to the user, DSM software per-Each cluster member maintains and forms operations that optimize sub-updates a memory disk buffer cache sequent run-time execution. For ex-for the cluster-mounted volume set. ample, precompilation strips com- VMScluster software coordinates the ments, checks syntax, optimizes la-access and update of physical disk bel references, and transforms nu- blocks. meric constants into an internal representation. DSM configurations can also be run in heterogeneous VMScluster envi- Global Variables ronments consisting of VAX and Al- pha CPUs. The DSM language allows symbolic reference to hierarchical arrays M Windowing Application called global variables (or sim- Programming Interface ply globals) that can be accessed concurrently by many users of a DSMThe DSM product includes an imple- application. DSM software provides mentation of the standard M Win- a high-performance implementation dowing Application Programming In- of global variables using multi- terface (MWAPI). MWAPI provides a way trees. high level and portable method of DSM stores global variables and DSMcreating a graphical user inter- routines on data structures called face (GUI) for DSM applications. DSM volume sets. Each is comprised of up to eight logical volumes. Vol-istributed Data Processing umes in a DSM volume set can be ei-DSM applications can access glob- ther files on an OpenVMS volume or als either locally or on a remote disk packs mounted as foreign Open-system. The DSM software supports VMS volumes. In a DSM run-time en- remote access to globals through vironment, up to 31 volume sets cana DSM-specific Distributed Data Pro- be present simultaneously. cessing (DDP) protocol. Through translation tables, you canDistributed global access can be map portions of globals across any done either explicitly, through the number of volume sets. You can extended DSM global syntax, or trans- change and update the translation parently to DSM applications through table mappings without bringing a system of global translation. Op- down the configuration to which tionally, the DSM environment man- they apply.You can also use the ager can specify the replication translation tables for more than of one or more globals across sev- one configuration. eral systems. 2 DSM for OpenVMS Version 7.0 DSM software implements this high- DCP transmits an entire data block performance protocol on Ethernet for each record request, rather than in a manner compatible with DSM forDSM DDP sending each record om se- DEC OSF/1 AXP (SPD 47.60.xx). (The rial, sequenced order. DCP then caches operating system is now called Dig-the received data block on the client ital UNIX.) in anticipation of future client This allows the user to set up DSM access requests. Subsequent client networks consisting of any combi- access requests that can be met from nation of Alpha processors, DEC- the cache do not have to cross the station or DECsystem processors, network to be fulfilled, provid- and VAX processors. The DDP auto- ing improved processing speed. configuration facility automati- The DCP network allows you to add cally updates the software tables a Caché application component and of members of a DDP network when a Visual M presentation component a new system goes on or off line. to the DSM for OpenVMS environment. It positions DSM as the data server DSM software also supports DDP overfor applications in the three-component DECnet Phase IV logical links. Thisclient/server architecture. allows remote global access between VAX and Alpha systems in a wide areaEC DB Integrator Gateway for network. DDP over DECnet Phase V DSM networks is not supported. In addition, DSM supports DDP over The DEC DB Integrator Gateway is DEC TCP/IP Services for OpenVMS (UCX)general-purpose database tool that and TCPware[TM] for OpenVMS. supplies access and data integra- tion among a wide variety of re- DSM allows users to modify all DDP lational databases. The DEC DB In- communications characteristics (ex-tegrator Gateway for DSM supplies cept for the DDP node name) in a relational access to a DSM database. running DSM configuration. Modi- In DEC DB Integrator terms, DSM sup- fications users make to DDP com- plies a non-SQL data service (NSDS) munications characteristics become drive as the interface between the active after they stop and start DB Integrator and the DSM database. DDP. Users do not have to shut downPreviously, DSM supported data-dictionary and restart the configuration. specific M data and metadata drivers for VA Fileman and DASL and also Distributed Cache Protocol allowed users to create their own Support M routine drivers for custom data dictionaries. DSM for OpenVMS in- DSM for OpenVMS v7.0 can act as a cludes an M routine driver, %MSQL, database server for Caché client that provides a read/insert/update applications through a Distributed /delete interface for InterSystems' Cache Protocol (DCP) network. In Open M/SQL. This new Open M/SQL in- previous versions of DSM, the only terface is compatible with Digi- method for database inter-operabilital Equipment Corporation's NSDS between DSM and other InterSystems Version 3.0C and later. products was DSM DDP. However, Ver- sion 7.0 of DSM for OpenVMS includes support for DCP, a communications protocol that provides Caché with high-speed access to globals stored in the DSM database. 3 DSM for OpenVMS Version 7.0 After-Image Journaling back so that the database is re- DSM supports a journaling facil- stored to its original state be- ity to provide a record on secondaryore the recovery unit began. storage of all operations that mod-Through the conventional use of the ify the database (SET and KILL of M LOCK command and the application global variables). Journaling can of the recovery unit commands, pro- be done on a global-by-global ba- grammers can construct database trans- sis or for a whole DSM environment.actions that exhibit the transac- In the event of database degrada- tion processing properties of atom- tion, it is possible to restore theicity, consistency, isolation, and current database from a full backupdurability (ACID properties). and the journal files using a de- DSM supports rollback of recovery journaling utility. units through a system of before- image and after-image journal files. Before-Image Journaling Transaction recovery unit process- DSM software provides a journal- ing is supported on database vol- ing capability that records the phys-e sets that are mounted locally. ical image of a database block be- DSM does not support transaction fore modifications have been made. processing on volume sets mounted This facility preserves database cluster-wide across multiple nodes integrity in the event of a CPU fail-thin a VMScluster environment. ure. The physical before-image jourRecovery of updates made to databases nal contains only a very small num-that are shared using DSM Distributed ber of blocks and is used to quicklData Processing (DDP) is not sup- roll back any operations in progresported within a transaction recov- at the time of the failure. The op-ery unit. erations protected are SETs to glob- als that result in a database block split, or KILLs that result in a Mountable Database Sets database block merge. DSM allows you to mount and dis- mount individual database sets while Transaction Processing a configuration is still running. DSM provides extensions to the ANSIThis facility reduces system down M language that allow programmers time for activities such as extend- to group global accesses into well-ing volume sets, adding volumes to defined transaction recovery units.a volume set, or adding new appli- The use of transaction recovery unitstions and volume sets to a run- gives application designers the abil-ng configuration. ity to create highly reliable and efficient fault-tolerant applica- DECwindows System Interface tion systems. DSM provides a complete binding for Database updates made within the the DSM language to the DECwindows context of a recovery unit are treasystem. The binding is implemented as a single unit of work. On con- as three separate external call pack- clusion of a recovery unit, DSM en-ages, which provide an M interface sures that updates are either com- to the XTOOLKIT, XMOTIF, and XMO- mitted entirely or not at all. If TIF Resource Manager program li- a failure occurs during recovery braries. The binding conforms to unit processing, any partial up- the proposed ANSI M Standard Spec- dates made to the database are rollification. 4 DSM for OpenVMS Version 7.0 An additional package provides dataCallable Routines Interface manipulation primitives for allo- The callable routines interface al- cating and modifying X Window data lows routines written in software structures. These packages give thelanguages that run under the Open- programmer complete access to X WinVMS operating system to directly dow procedures for creating sophis-call the DSM shareable image. This ticated graphical user interfaces. capability gives programs written A set of sample M programs is pro- in languages such as FORTRAN, C, vided with complete documentation PASCAL, and others complete read of the interface. and write access to globals res- ident in a DSM volume set. Func- Incremental Backup/Restore tions such as global set, kill, get, or lock to a DSM database can be DSM provides an Incremental Backup accomplished using many OpenVMS lay- Utility (^BACKUP) for use with the ered languages. Also, external pro- DSM database. The ^BACKUP Utility grams can declare recovery units, backs up only those blocks that havaccess the DSM local symbol table, been modified since the last backupand execute M code. Because modified blocks usually conThe following functions are avail- stitute a small portion of an en- able to external programs: tire DSM database, the ^BACKUP Util- ity represents a major reduction o Callable interface initialization in the time required for backup and and rundown the amount of backup storage re- o Global database access quired. o Declare recovery unit (start, com- The ^BACKUP Utility implements a mit, abort) multi-phase backup. The initial phaoeLOCK command allow database read and write op- erations to occur unrestricted on o Local symbol access both locally mounted and cluster- o M command and routine execution mounted volume sets. The last phase temporarily inhibits database op- Visual M Remote Application erations for a short period to es- Server Support tablish a final consistency check point. DSM for OpenVMS can function as a Full database backup of DSM for Open-mote application server to In- VMS volume set files is accomplishederSystems' Visual M[TM]. Visual using the OpenVMS Backup utility. M is a graphical M interface run- Restoration of an incremental backuping on any of the following Mi- is accomplished using the Incre- crosoft Windows Platforms: mental Restore Utility to apply an o Windows 3.1[TM] incremental backup file onto a fullo Windows NT[TM] restored primary database. The backup media supported by the ^BACKUP Util- Windows 95[TM] ity is OpenVMS sequential disk fileUsing Visual M, you can integrate Visual Basic[TM] programs with DSM applications operating in a DSM for OpenVMS environment to create dis- tributed client-server applications. 5 DSM for OpenVMS Version 7.0 New Graphic Library Utilities Utilities DSM for OpenVMS V7.0 includes two The DSM product provides applica- sets of library utilities: tion and system level utilities writ- o The command-line interface (CLI) ten in the DSM language. Applica- Library Utilities tion level utilities help the DSM programmer develop and maintain ap- o The graphic Library Utilities plication software and data. For The CLI Library Utilities are the example, there are utilities to edit traditional DSM Library Utilities. and display DSM routines and glob- You can use them when you are in als. programmer mode on any DSM system. System level utilities allow the The CLI utilities are described in management of a DSM application en- detail in the DSM for OpenVMS Pro- vironment. The system manager can grammer's Guide for Version 7.0. create and extend DSM volume sets, The new graphic Library Utilities specify DSM configuration param- allow you to perform various rou- eters such as access control (se- tine and global functions on a Windows-ty), the number of concurrent based Caché client system through DSM jobs and disk buffers, define a GUI interface. DSM command line defaults, estab- lish DDP links and control jour- naling. For increased efficiency Security Audit Facility of routine calling, the system man- The Security Audit facility allows ager can map a selected set of DSM application developers to imple- application routines in a shared ment a strategy supporting C2 re- virtual memory section, resulting quirements while still ensuring thatn higher application throughput. site personnel can perform their Include with the system level util- duties. Through the Security Au- ities is a new performance moni- dit facility, system managers can toring facility. This facility, ^PMF, monitor programmer activity by recois-a complete set of performance ing events in the OpenVMS Security monitoring tools that can summa- Audit Log File. Using the OpenVMS rize DSM performance metrics across Audit Analysis utility (ANALYZE/AUDmultiple nodes of a VMScluster. they can periodically review the Security Audit Log File. DSM Application Software Library (DASL) Open M/WebLink DSM includes the DSM Application DSM can function as a database for Software Library (DASL) software. World Wide Web applications throughThe DASL software is an applica- Open M/WebLink[TM], the Universal tion creation tool that combines Network Gateway for M. Open M/WebLiakData Dictionary, Screen (form) uses the TCP/IP TELNET remote lo- Compiler, Report Compiler, and an gin and communications protocol to end-user SQL-compliant Query Driver. provide a high-performance data- DASL software uses code generation exchange mechanism between a DSM techniques to transform DASL com- system and a World Wide Web server.mands and SQL statements into ef- ficient M code. DASL software is a set of menu-driven tools designed for developers of interactive applications. The DASL 6 DSM for OpenVMS Version 7.0 package automates many of the tasksSource Code Information involved in defining and document- DSM provides example files for writ- ing a database: generating data in-ing external routines and exter- put, menu, and help text screens, nal package tables in the SYS$EXAMPLES designing reports for data output, directory. Examples of programs us- and creating tables for database ing the callable routines inter- queries. face are also supplied. This source The DASL package is fully integratecode is provided on an as is ba- with DSM. Therefore, DASL software sis without any warranty of any kind, provides both 4GL and 3GL capabil- either expressed or implied. ities within a single environment. Users interact with DASL software through menus and screens that wereHardware Requirements developed using DASL software and Processors Supported: are stored as DSM routines. The DASL package includes six ma- For Alpha Systems: jor modules, each representing a group of related functions that pro-lpha: DEC pc 150 AXP Server grammers use to develop applica- DEC 2000 Models 300 tions. /500 Server o The Data Dictionary defines and DEC 3000 Model 300 documents the application database. Server o The Screen Driver contains options DEC 3000 Model 300L to develop and modify screen dis- System plays for data entry, menus, and DEC 3000 Model 300X help text. System o The Report Driver contains options DEC 3000 Model 400 to define and modify application Workstation reports. DEC 3000 Model 400 S o The Query Driver contains options Server to define tables for the DASL database DEC 3000 Model 500 and create queries to extract data Workstation from the tables. The DASL Query Driver conforms to the syntax of DEC 3000 Model 500S the ANSI Standard Database Lan- Server guage SQL (Structured Query Lan- DEC 3000 Model 500X guage). Workstation o The Development Environment per- DEC 3000 Model 600 forms a variety of development tasks Workstation such as specifying application pa- DEC 3000 Model 600S rameters, or creating an inter- Server national application using the DASL DEC 3000 Model 800 Language Utilities. Workstation o The Application Environment pro- DEC 3000 Model 800S vides facilities for controlling Server the application's run-time envi- ronment such as a security sys- DEC 4000 Model 600 tem, message center, query database, System and error logging. DEC 4000 Model 700 System 7 DSM for OpenVMS Version 7.0 AlphaServer 8400 5 /300 VAX 6000 Model 200 DEC 7000 Model 600 Series System VAX 6000 Model 300 DEC 10000 Model 600 Series System VAX 6000 Model 400 AlphaServer 8200 5 Series /300 VAX 6000 Model 500 Digital 2100 Server Series Model A500MP VAX 6000 Model 600 Digital 2100 Server Series Model A600MP AlphaServer 400 4/166 AlphaServer 1000 4 VAX 7000 Model 600 /200 Series AlphaServer 2000 4 /233 VAX 8200, VAX 8250, AlphaServer 2100 4 VAX 8300 /233 VAX 8350, VAX 8500, AlphaStation 400 4 VAX 8530 /166 VAX 8550, VAX 8600, AlphaStation 400 4 VAX 8650 /266 VAX 8700, VAX 8800, AlphaStation 250 4 VAX 8810 /233 VAX 8820, VAX 8830, AlphaStation 200 4 VAX 8840 /166 AlphaStation 200 4 VAX 9000 Model 110 /100 VAX 9000 Model 210 VAX 9000 Model 300 Series For VAX Systems: VAX 9000 Model 400 Series VAX: VAXft Model 110 VAXft Model 310 VAX 10000 Model 600 VAXft Model 410 Series VAXft Model 610 VAXft Model 612 VAX 9000 Model 400 Series VAX 4000 Model 100 VAX 4000 Model 200 VAX-11/730, VAX-11 VAX 4000 Model 300 /750 VAX 4000 Model 400 VAX-11/780, VAX-11 VAX 4000 Model 500 /785 VAX 4000 Model 600 8 DSM for OpenVMS Version 7.0 MicroVAX: MicroVAX II, MicroVAX 2000 VAXserver 3100 Model 20/20E MicroVAX 3100 Model 10/10E VAXserver 3300, VAXserver 3400, MicroVAX 3100 Model 20/20E VAXserver 3500 VAXserver 3600, MicroVAX 3100 Model 30 VAXserver 3602, VAXserver 3800 MicroVAX 3100 Model 40 VAXserver 3900 MicroVAX 3100 Model 80 VAXserver 4000 Model 200 MicroVAX 3100 Model 90 VAXserver 4000 Model 300 MicroVAX 3300, MicroVAX 3400 VAXserver 4000 Model 500 MicroVAX 3500, MicroVAX 3600 MicroVAX 3800, MicroVAX 3900 VAXserver 6000 Model 210 VAXserver 6000 Model 220 VAXstation:VAXstation II, VAXstation 2000 VAXserver 6000 Model 310 VAXstation 3100 Model 30 VAXserver 6000 Model 320 VAXstation 3100 Model 38 VAXserver 6000 Model 410 VAXstation 3100 Model 40 VAXserver 6000 Model 420 VAXstation 3100 Model 48 VAXserver 6000 Model 510 VAXstation 3100 Model 76 VAXserver 6000 Model 520 VAXstation 3200, VAXstation 3500 VAXserver 6000 Model 610 VAXstation 3520, VAXstation 3540 VAXserver 6000 Model 620 VAXstation 4000 Model 60 VAXserver 6000 Model 630 VAXstation 4000 Model 90 Processors Not Supported: VAXstation 4000 VLC MicroVAX I VAXstation I VAX-11/725 VAX-11/782 VAXserver: VAXserver 3100 Model VAXstation 10/10E 8000 9 DSM for OpenVMS Version 7.0 Processor Restrictions: o A TK50 Tape Drive is required forFor use (perma- 38500 blocks standalone MicroVAX 2000 and VAXs-ent): tation 2000 systems. With MWAPI: o A system configuration must have For installation: 30500 blocks memory of 2MB of physical stor- For use (perma- 25500 blocks age. nent): With DEC DBI Disk Space Requirements (Block ClusGateway: ter Size = 1): For installation: 28000 blocks For Alpha Sys- For use (perma- 24000 blocks tems: nent): DSM only: With DASL and For installation: 39500 blocks MWAPI: For use (perma- 26000 blocks For installation: 52500 blocks nent): For use (perma- 39500 blocks nent): With DASL only: With all previous For installation: 61500 blocks options: For use (perma- 39500 blocks For installation: 53000 blocks nent): For use (perma- 39500 blocks With MWAPI only: nent): For installation: 43000 blocks These counts refer to the disk space For use (perma- 27500 blocks required on the system disk. The nent): sizes are approximate; actual sizes With DEC DBI may vary depending on the user's Gateway: system environment, configuration, For installation: 39500 blocks and software options. For use (perma- 26000 blocks nent): Cluster Environment With DASL and DSM for OpenVMS is fully supported MWAPI: when installed on any valid and li- For installation: 65000 blocks censed VMScluster[1] configuration, For use (perma- 40500 blocks without restrictions. The Hardware nent): Requirements sections of this prod- uct's Software Product Information With all previous detail any special hardware required options: by this product. For installation: 66000 blocks For use (perma- 41500 blocks nent): For VAX Systems: DSM only: __________ For installation: 28000 blocks [1] VMScluster configurations are For use (perma- 24000 blocks fully described in the VMScluster nent): Software Product Description (29.78.xx) With DASL only: and include CI, Ethernet, and Mixed For installation: 50000 blocks Interconnect configurations. 10 DSM for OpenVMS Version 7.0 Software Requirements o DECimage Application Services for For Alpha Systems: VMS2 OpenVMS Alpha Operating System V6.1Growth Considerations or greater For VAX Systems: The minimum hardware/software re- quirements for any future version OpenVMS VAX Operating System V6.1 of this product may be different or greater from the requirements for the cur- rent version. OpenVMS Tailoring The following OpenVMS classes are Distribution Media required for full functionality of DSM for OpenVMS is distributed by this layered product: both InterSystems Corporation and o OpenVMS Required Saveset Digital Equipment Corporation. o System Programming Support DSM for OpenVMS VAX and DSM for Open- VMS Alpha are available from In- o Miscellaneous Files terSystems Corporation on CD-ROM, o Utilities 9-track 1600 BPI Magtape, TLZ06 car- o Network Support (if DECnet DDP ca-ridge, and TK50 Streaming Tape. pability is required) DSM for OpenVMS VAX is available o Programming Support from Digital Equipment Corporation on 9-track 1600 BPI Magtape or TK50 o DECwindows Motif (if DECwindows Streaming Tape. It is also avail- Motif support is required) able as part of the OpenVMS Con- solidated Software Distribution on Optional Software CD-ROM. For Alpha Systems: DSM for OpenVMS Alpha is available from Digital Equipment Corporation o DECwindows Motif for OpenVMS Al- only on the Digital CD-ROM Soft- pha V1.1 ware Library for OpenVMS Alpha. o DEC TCP/IP Services for OpenVMS V3.0 or greater Ordering Information o WIN/TCP V5.2[TM] Please contact InterSystems Cor- o TCPware for OpenVMS V5.0 or greatporation, One Memorial Drive, Cam- o DECimage Application Services forbridge, MA 02142 at 617-261-0600 VMS[2] for more information. For VAX Systems: Order Processing o VMS DECwindows Motif V1.0 For questions about orders, con- o DEC TCP/IP Services for OpenVMS tact InterSystems Corporation, One VAX V2.0 or greater Memorial Drive, Cambridge, MA 02142 o WIN/TCP V5.2[TM] at 617-577-3600. o TCPware[TM] for OpenVMS V5.0 or greater __________ [2] Any version compatible with the version of DECwindows used. 11 DSM for OpenVMS Version 7.0 TCPware for OpenVMS is a trademark of Process Software Corporation. Software Licensing DSM for OpenVMS VAX is a trademark In place of Digital Equipment Cor- of InterSystems Corp. poration's LMF facility, Version DSM for OpenVMS Alpha is a trade- 7.0 of DSM for OpenVMS introduces mark of InterSystems Corp. a new licensing procedure designed to simplify license configuration WIN/TCP is a trademark of The Wol- and to add flexibility. For more longong Group. information about the licensing terAlpha, DASL, DEC, DECimage, DEC- and policies, contact InterSystems net, DECstation, DECsystem, DECwin- Corporation, One Memorial Drive, dows, OpenVMS, Digital UNIX, VAX, Cambridge, MA 02142 at 617-261-0600VMScluster, VAXstation, OpenVMS, VMS RMS, VMScluster, DEC TCP/IP for Software Warranty OpenVMS (UCX) and the DIGITAL logo Warranty for this software prod- are trademarks of Digital Equip- uct is provided by InterSystems withent Corporation. the purchase of a license for the All other trademarks and registered product. trademarks are the property of their Motif is a registered trademark of respective owners. Open Software Foundation Inc., li- © InterSystems Corporation, 1996. censed by Digital. All rights reserved. 12