CONTENTS Title Page Copyright Page Preface Part I DECset and Managing the Project Environment 1 DECset Overview 1.1 DECset Product Set 1.1.1 DEC Code Management System 1.1.2 DEC Language-Sensitive Editor 1.1.3 Source Code Analyzer 1.1.4 DEC Module Management System 1.1.5 DEC Test Manager 1.1.6 DEC Performance and Coverage Analyzer 1.1.7 Program Design Facility 1.2 DECset and the OpenVMS Programming Environment 1.2.1 Using DECset to Manage the Software Life Cycle 1.2.1.1 The Software Life Cycle 1.2.2 Programming Languages 1.2.3 Integration Features of the DECset Tools 1.3 Additional OpenVMS Tools and Utilities 2 DECset Environment Manager 2.1 Environment Manager Basic Concepts 2.2 DECset Tool Selection 2.3 DECset Context Window 2.3.1 Menu Bar 2.3.1.1 Settings Menu 2.3.2 Context Specification Area 2.3.3 Dialog Buttons Area 2.4 Command-Line Interface 2.4.1 DECSET SET Command 2.4.2 DECSET SHOW Command 3 Organizing Files, Libraries, and Directories 3.1 Setting Up User Accounts and Directory Protection 3.2 Setting Up a Project Directory Structure 3.2.1 Setting Up the Initial Project Directory Structure 3.2.2 Setting Up the Build Directory 3.2.2.1 Work Area for Carrying Out Your Builds-[proj.bld_v1.work] 3.2.2.2 SCA Library System-[proj.bld_v1.scalib] 3.2.2.3 Reference Copy Area-[proj.bld_v1.code_refcopy] 3.2.2.4 MMS Description File 3.2.3 Setting Up the DEC Test Manager Storage Area Directory 4 Managing a Project in the OpenVMS Environment 4.1 Project Standards 4.2 Using Logical Names 4.3 Communications Management and Status Reporting 4.3.1 Using MAIL 4.3.2 Using VAX Notes 4.3.3 Using DECplan 4.3.4 Documentation Reviews 4.4 Extending the Library Structure 4.5 Establishing Project and Personal Build Procedures 4.5.1 Individual Build Procedures 4.5.2 Project Build Procedures 4.5.3 Access to SCA Libraries 4.5.4 Access to Source Files 4.6 Customizing the LSE Environment 4.6.1 Environment File for LSE 4.6.2 Redefining Tokens, Placeholders, and Language Definitions 4.6.3 Saving Modified Definitions 4.7 Setting Up Tests 4.8 Analyzing Performance and Coverage 4.9 Tracking Reports During Field Testing 4.10 Final Project Steps 4.10.1 Prepare Final Build 4.10.2 Permanent Storage Part II DECset Case Study 5 Example Project Setup 5.1 Setting Up Directories 5.2 Creating Directories and Libraries 5.3 Setting Up a OpenVMS ACL-Based Security Mechanism 5.4 Setting Defaults with a login.com File 6 Using CMS to Maintain Project Source Files 6.1 Using CMS Access Control Lists 6.1.1 Example of a CMS ACL Scheme 6.1.1.1 Specifying ACLs in the CMS ACL Dialog Box 6.1.1.2 Granting control Access to Library Elements 6.1.1.3 Specifying a Default ACE for Library Elements of project_source 6.1.1.4 Granting Access for Holders of project_source_read 6.1.1.5 Copying CMS ACLs to Existing Objects 6.1.2 Placing ACLs on CMS Commands 6.1.3 Using Event Notification ACEs 6.1.4 Access During Normal Development 6.1.5 Access when Preparing for a System Build 6.2 Maintaining CMS Source Libraries 6.2.1 Storing Files in a CMS Library 6.2.2 Modifying Elements 6.2.3 Concurrent Access 6.2.4 Creating Classes 6.2.5 Retrieving Class Contents and Preparing a Build 7 Writing, Compiling, and Debugging Source Code 7.1 Finding the Problem 7.2 Localizing the Problem 7.3 Fixing the Problem 7.4 Compiling and Reviewing Source Code 7.5 Building the Program 8 Designing Programs with the Program Design Facility 8.1 Overview 8.1.1 Entering Pseudocode 8.1.2 Refining the Design 8.1.3 Using Tagged Comments 8.1.4 Compiler Support 8.1.5 Loading Design Information into an SCA Library 8.1.6 Generating Design Reports 8.1.7 Code Elision 8.2 Designing the copy_file Module 8.2.1 Beginning the Design for copy_file 8.2.2 Compiling copy_file 8.2.3 Loading copy_file Design Information into an SCA Library 8.2.4 Generating an internals Report of copy_file copy_file (void function) 9 Building the Application with MMS 9.1 Building from CMS Classes 9.2 MMS Flags and Macros 9.3 MMS Rules 9.4 MMS Targets 9.5 MMS Description File Command Options 10 Setting Up a Test System with DEC Test Manager 10.1 Setting Up a Non-interactive Test 10.1.1 Creating the Collection Prologue and Epilogue Files 10.1.2 Establishing the Default Template and Benchmark File Directory 10.1.3 Setting Up the Test Prologue and Epilogue Files 10.1.4 Creating the Template File for the Test 10.1.5 Creating the Test Description 10.1.6 Setting Up the DEC Test Manager Variables 10.1.7 Inserting the Template File into the CMS Library 10.1.8 Creating the Collection 10.2 Setting Up an Interactive Terminal Test 10.2.1 Invoking the Forms translit Application 10.2.2 Terminating the Recording Session 10.2.3 Running the Session File - the DEC Test Manager PLAY command 10.2.4 Reviewing Test Results 10.3 Verifying Your Test System 10.4 Changing Input for a Test 10.5 Recording a DECwindows Test 10.5.1 Processing Considerations for DECwindows Tests 10.5.1.1 Playing DECwindows Tests 10.5.1.2 Storing DECwindows Benchmark and Result Files 10.5.1.3 Environment Initialization 10.5.2 Recording a DECwindows Session 10.6 Displaying DECwindows Test Results 10.7 Creating a DECwindows Benchmark Mask 11 Using DEC Test Manager with PCA 11.1 Linking a Program with the Collector 11.2 Creating a Collector Initialization File 11.2.1 Creating a DEC Test Manager Collection Prologue File 11.3 Creating a DEC Test Manager Collection 11.4 Executing a DEC Test Manager Collection 11.5 Using the Analyzer when Reviewing a Collection 11.6 Sample Session 11.7 Additional Considerations 11.7.1 System Considerations 11.7.2 Using the Collector set coverage Command with the /previous switch 11.8 Examining Test Coverage Information 11.9 Using the Analyzer to Perform a Call Tree Analysis 12 Maintaining the Application 12.1 CMS Provides History 12.2 SCA Provides Structural Information 12.3 MMS Simplifies Maintenance 12.4 CMS Used with MMS for Maintenance Glossary