.ps59,70 .lm44 .s5;DOCUMENT: WWC-79-001-02-U .s;DATE: 28 November 1979 .s;PROJECT: XPORT .s;CHARGE NUMBER: .s;PRODUCT ID: .lm0.s5 .c;FY80 Project Plan For .s.c;XPORT .s.c;DEC Company Confidential .title Project Plan for XPORT .subtitle DEC Company Confidential .lm14.ts14 .s5.i-14;ISSUED BY: Ward Clark, Project Leader .s;John Hrones, Supervisor .s3.tp4.i-14;APPROVED BY: .s;--------------------------------- .br;Steve Gutz, Funding Manager .s2;--------------------------------- .br;Bill Segal, Development Manager .s3.tp4.i-14;REVIEWED BY: .s;--------------------------------- .lm0 .pg;# .b34;The information is this document is subject to change without notice and should not be construed as a commitment by Digital Equipment Corporation. Digital Equipment Corporation assumes no responsibility for an errors that may appear in this manual. .s;The software described in this document is furnished to the purchaser under a license for use on a single computer system and can be copied (with inclusion of Digital's copyright notice) only for use in that system, except as may otherwise be provided in writing by Digital. .s;Digital Equipment Corporation assumes no responsibility for the use or reliability of its software on equipment that is not supplied by Digital. .s2;Copyright (C) 1979, by Digital Equipment Corporation .page .c;^&Table of Contents\& .s3;# .require 'WWC033.RNT' .fill .justify .page .c;Summary of Project Plan Changes .s2;Following is a brief summary of the differences between this project plan and the draft plan dated 17-Oct-79: .lm8 .rm-5 .nj .s.i-3;Name of project changed from BLISS Tools to XPORT .s.i-3;XPORT summary enhanced (see#1.1) .s.i-3;EZIO not supported after FY80 (see#1.2) .s.i-3;XPORT design goals expanded (see#2.2) .s.i-3;Supported operating systems listed (see#3.4) .s.i-3;Development schedule revised, RT-11 and RSTS/E implementations swapped (see#4.0) .s.i-3;Additional risks described (see#4.1 and 12.0#-#12.4) .s.i-3;Development strategy revised and schedule provided (see#11.0#-#11.3) .s.i-3;Documentation plan expanded (see#13.0#-#13.2) .s.i-3;QA plan enhanced (see#14.0#-#14.4) .s.i-3;Release criteria established (see#15.0) .lm0 .rm+5 .j .page .hl1 Executive Summary (Product Abstract) The intent of the XPORT project is to develop, enhance and maintain a collection of general-purpose tools which ease the task of interfacing BLISS programs with a host operating system. These BLISS programming tools fall into three basic categories: .s.i5;o##XPORT - BLISS Transportability Support Package .s.i5;o##EZIO - BLISS File I/O Package .s.i5;o##BLISS Programming Notes .hl2 XPORT Summary The BLISS Transportability Support Package (XPORT) consists of six separate, but related, components: .s.i5;XPORT Data Structures .i5;XPORT I/O .i5;XPORT Memory Management .i5;XPORT Host System Services .i5;XPORT String Package .i5;XPORT Command Language Interface Tools .s;Each of these components provides tools which ease the task of interfacing a BLISS program with the operating system on which it is being run. The primary intent of the XPORT package is to provide tools and interfaces which perform ^&exactly\& the same on the following DEC operating systems: TOPS-10, TOPS-20, VAX/VMS, RSX-11M, RSTS/E, RT-11 and IAS. .s;The XPORT components together provide a transportable operating system interface. Programs written in Common BLISS which use XPORT services can be developed and debugged on one system and run on any other BLISS-supported system without change. .s;An additional benefit of the XPORT package is that a BLISS program which does not need to be transported can frequently use the simplified XPORT interface rather than a more powerful, but also more complicated, host system interface. .s;All XPORT capabilities, except the string processing package, have already been implemented on TOPS-10 and VAX/VMS. Equivalent capabilities will be implemented on TOPS-20, RSX-11M, RSTS/E, RT-11 and IAS during the current fiscal year. .s;The new XPORT string processing package provides a variety of functions which aid a BLISS programmer in processing character strings and performing binary and ASCII conversions. .s;In order to demonstrate recommended techniques for interfacing BLISS programs with operating system command language interpreters, an XPORT-compatible Command Interface Module for RUNOFF will be created for each supported operating system. The BLISS code (and in one case MACRO code) developed in order to accomplish this will be packaged and documented. .hl2 EZIO Summary EZIO is a limited file I/O package which has already been implemented on the following operating systems: TOPS-10, TOPS-20, VAX/VMS, RSX-11M (using either FCS-11 or RMS-11), and RT-11. .s;The need to enhance EZIO capabilities and the difficulty of extending the EZIO user interface are a major reason why the XPORT I/O package is being developed. Since XPORT I/O is intended to be a functional replacement for EZIO and since it has the necessary additional capabilities, no further enhancement of EZIO is planned. .s;Although EZIO will not be enhanced, bugs in current EZIO implementations will be corrected. .s;Relevant EZIO implementations will be shipped with all BLISS compilers during FY80. The release notes for each compiler will indicate that EZIO will not be distributed or supported after FY80. .hl2 BLISS Programming Notes Summary The XPORT project will bring into being the long-awaited "BLISS Notebook", a collection of short to medium length informal papers which discuss various aspects of BLISS programming. The subject areas for these papers include the following: .s.i5;o##BLISS philosophy .i5;o##Programming style .i5;o##Debugging techniques .i5;o##Tutorials on specific BLISS features .s;The XPORT project will perform the following BLISS Programming Notes tasks: .s.i5;o##Write some papers .s.i5;o##Collect and solicit papers from others .s.i5;o##Edit all papers .s.i5;o##Distribute Notes on a semi-regular schedule (e.g., quarterly) .s;This effort may be modified and merged with John Withrow's plan to create Volume 4 of the BLISS Primer series. .page .hl1 Requirements/Goals See Section 2.0 of the attached XPORT Functional Specification and draft BLISS Programming Tools manual for a detailed description of the XPORT product. .hl2 Product Manager Market Requirements Document Not applicable. .hl2 Design Goals/Constraints/Objectives .hl3 Target Audience XPORT facilities are designed to primarily be used in an application environment as opposed to operating system internals. Typical applications include compilers, file processing utilities, user-specific programs. .s;Although the primary focus of XPORT is to provide transportable facilities, it is expected that a large number of XPORT users will initially not have program transportability as a goal. .hl3 XPORT Availability XPORT will not be formally released until implementations are complete on all projected operating systems (end of Q4 FY80). However, field evaluation copies of each XPORT implementation will be made available as soon as the implementation is complete (see 4.0). .hl3 Development Strategy All new development will be fully specified, documented and reviewed before implementation is begun (see 10.2). This will hopefully avoid wasting implementation effort. .s;The user interface to all XPORT tools will continue to be through BLISS macros rather than through routine calls. This technique permits diagnosing user coding errors at compile time as well as hiding implementation details from the user. .s;All code written by each member of this project will be reviewed in detail by another member of the project. This will hopefully improve the resulting quality of the code and at the same time spread knowledge of each portion of the code among project members. .s;The XPORT QA buddies (Topher Cooper and Warren Jacobs) will prescreen all XPORT documentation and all field evaluation releases of XPORT before they are actually released to field evaluation sites. This will hopefully provide the XPORT developers and writer with valuable user-level feedback. Oversights, errors and deficiencies can then be corrected before the entire user community is inconvenienced. .hl2 Functional Specification An XPORT Functional Specification is attached to this project plan. This specification describes all planned XPORT capabilities. .hl2 Non-goals The following BLISS support tools are ^¬\& included in this project: BLSCRF, CVT10, CVT11, DMPREL, FILCOM, MDL, PAT, PRETTY and operating system interface files. BLSCRF, CVT10, CVT11, PRETTY and the operating system interface files are supported by Development Methods personnel not connected with the XPORT project. .s;Lists of the non-goals of each of the XPORT sub-projects follow. .hl3 XPORT Non-goals There is no plan to implement XPORT on UNIX. .s;The following XPORT I/O features will ^¬\& be included in Release 1 but will be considered for future releases: .s.i5;asynchronous I/O .i5;direct access record I/O .i5;"rewind" (i.e., reposition to the start of a file) .i5;input wildcard support .i5;incore read/write .i5;automatically spooled output .s;The following XPORT MEMORY features will ^¬\& be included in Release 1 but will be considered for future releases: .s.i5;release of partial memory elements .i5;memory pooling .i5;virtual "work files" .s;The following XPORT PUT__MESSAGE feature will ^¬\& be included in Release 1 but will be considered for future releases: .s.i5;support of BLISS SIGNAL .s;The following XPORT Command Language Tools will ^¬\& be included in Release 1 but will be considered for future releases: .s.i5;automated creation of command interface modules .i5;general purpose command language interpreter/parser .s;The following XPORT Data Structure features will ^¬\& be included in Release 1 but will be considered for future releases: .s.i5;support for languages other than BLISS .hl3 EZIO Non-goals EZIO will not be enhanced. .page .hl1 Costs .ts20,30,40,50 .br; Q1 Q2 Q3 Q4 .s;Programmers } .br;Testers#####} 1.5 2 2 2 .br;Maintainers } .br;Writers 0.2 0.2 0.8 0.2 .hl2 Funding Sources Funding for this project is provided in the FY80 Development Methods budget. This project is expected to be completed in FY80. A follow-on project is expected for FY81. .hl2 Expected Sale Price Relevant BLISS programming tools are provided as part of a BLISS-16, BLISS-32 or BLISS-36 compiler distribution kit. There is no incremental cost for the XPORT and EZIO packages. .hl2 Distribution Media Since BLISS programming tools are provided as part of a BLISS-16, BLISS-32 or BLISS-36 compiler distribution kit, they will be distributed on the standard compiler distribution media (mag tape for TOPS-10 and TOPS-20, floppy disk for VAX/VMS). .hl2 Required Software Use of BLISS programming tools requires a BLISS-16 (Release 1), a BLISS-32 (Release 2) and/or a BLISS-36 (Release 2) compiler. .s;Most XPORT components require one of the following operating systems: .s.i5;TOPS-10 - Release 6.03 or later .i5;TOPS-20 - Release 3 or later .i5;VAX/VMS - Release 2 or later .i5;RSX-11M - Release 3.1 or later .i5;RSTS/E - Release 7 or later .i5;RT-11 - Release 3B or later .i5;IAS - Release 3 or later .page .hl1 Summary of Schedule and Major Milestones Following are highlights of the XPORT project schedule: .ts55 .s.i5;FY80 project start 02-Jul-79 .i5;TOPS-10 XPORT field evaluation (base level 3) 12-Jul-79 .i5;VAX/VMS XPORT field evaluation (base level 3) 12-Jul-79 .i5;Project plan submitted 07-Sep-79 .i5;Functional specification submitted 12-Sep-79 .i5;VAX/VMS XPORT completed 28-Sep-79 .i5;RSX-11M XPORT field evaluation 30-Nov-79 .i5;TOPS-20 XPORT field evaluation 30-Nov-79 .i5;Project plan approved 07-Dec-79 .i5;Functional specification approved 28-Dec-79 .i5;XPORT STRING field evaluation (on TOPS-10, 18-Jan-80 .i10;TOPS-20, VAX/VMS and RSX-11M) .i5;RT-11 XPORT field evaluation (including STRING) 01-Feb-80 .i5;RSTS/E XPORT field evaluation (including STRING) 28-Mar-80 .i5;IAS XPORT field evaluation (including STRING) 25-Apr-80 .i5;XPORT Release 1 Code Freeze 25-Apr-80 .i5;BLISS Programming Tools Manual goes to printer 04-Apr-80 .i5;XPORT formal field test begins 16-May-80 .i5;XPORT Release 1 formal distribution 27-Jun-80 .i5;FY80 Project completion 27-Jun-80 .s;The term "field evaluation" is used here in place of the more conventional term "field test" to indicate that the software is evolving during the development and test cycle rather than being in its final form. .s;XPORT will be formally released as part of the BLISS-16, BLISS-32 and BLISS-36 compiler releases. The following release schedule is planned: .s.i5;_\tbs by 28-Dec-79_\ .hl2 Risk Analysis There are four major risks involved with this project: lack of operating system experience may make implementation more difficult than expected, lack of appropriate developement and test systems may complicate implementation, it may not be practical to implement the total current XPORT user interface, and the VAX/VMS string descriptor ECO may not be approved. These risks and related contingency plans are described in section 12 of this project plan. .page .hl1 Bibliography of Related Documents BLISS Utilities Project Plan (WWC-78-001-02-U) .s;XPORT Functional Specification (WWC-78-002-02-U) .s;XPORT External Design Specification (WWC-78-003-02-U) .s;BLISS Programming Tools Manual (field evaluation draft) .page .hl1 Product Evaluation Strategy The XPORT product will be considered successful if it achieves the following goals: .s.i5;o##no more than 2 valid SPRs per month per system .s.i5;o##happy users - determined by a questionaire .hl2 Trade-off Priorities In all development and maintenance, the following priorities will be applied (ordered from most important to least important): .s.i5;o##Reliability .s.i5;o##Conformance with user documentation .s.i5;o##Support for all major DEC-supported operating systems .s.i5;o##Capability .s.i5;o##Simplicity .s.i5;o##Real memory usage (especially on PDP-11 operating systems) .s.i5;o##CPU usage .s.i5;o##Disk space requirements .page .hl1 Relationship to Other Projects .hl2 Dependence of This Project on Other Projects The XPORT Project is dependent on the availability of the BLISS-16, BLISS-32 and BLISS-36 compilers. .s;The lack of a supported BLISS-32 cross-compiler which runs on TOPS-20 will clearly complicate the task of maintaining and enhancing transportable software since common source files will have to migrate between a TOPS-20 system and a VAX/VMS system. .hl2 Dependence of Other Projects on This Project .hl3 Dependence of Other Projects on XPORT A increasing number of projects are using XPORT as an integral part of their development. The RUNOFF, DECmail, STEP and Test System Vehicle projects (all Development Methods) are currently the only of these projects which are scheduling use of XPORT facilities which are not currently available (i.e., XPORT implementations on TOPS-20, RSX-11M, RSTS/E and RT-11). .hl3 Dependence of Other Projects on EZIO An unknown portion (probably large) of the BLISS user community currently use EZIO. It is expected that this usage will diminish with the availability of XPORT I/O. .hl2 Hardware Needs and Dates .hl3 Normal Hardware All source development will be performed the Development Methods DECSYSTEM-20 (_#2152) and VAX-11/780 (_#529720). Most of the preliminary testing and some of the final testing will be performed on these systems. Additional final testing will be performed on the following systems: TOPS-10 (_#566), RSX-11M (_#11), RT-11 (_\tbs by 07-Dec-79_\), RSTS/E (_\tbs by 08-Feb-80_\) and IAS (_\tbs by 04-Apr-80_\). .hl3 Special Hardware A DECnet link between the Development Methods DECSYSTEM-20 (_#2152) and VAX-11/780 (_#529720) will enhance the effectiveness of using the STEP system to control XPORT source files. .S;A DECnet link between the -20 or the 780 to the PDP-11 system(s) on which final testing is performed, will greatly facilitate program development. .page .hl1 Applicable Standards .hl2 Extant Standards The XPORT Project will conform to the following standards: .lm10 .s.i-5;DEC 051, Coded Character Set - same as ANSI X3.4 (1977), FIPS 1,15 .s.i-5;DEC 112, Date Format for Output .s.i-5;DEC 163, DEC Standard Command Language .s.i-5;DEC 172, Legal Notices Required for Software Manuals and Licensed Software Sources .s.i-5;DEC Software Development Policy 7A3-2.A, Implementation Language .s.i-5;VAX Software Engineering Manual coding and symbol naming guidelines .lm0 .hl2 Pending Standards None. .hl2 Standards Needed or Suggested The XPORT STRING package development will attempt to ECO two new string descriptor classes (VARYING and DYNAMIC__VARYING) into the VAX/VMS software architecture. There is a risk that this ECO may not be approved by formal release time (see 12.0). .page .hl1 Compatibility .hl2 Release N to Release N+1 Compatibility Release 1 of XPORT will include minor incompatibilities with the XPORT Base Level 3 (field evaluation version). These differences will be documented in Base Level Release Notes and will be diagnosed by explanatory warning messages during source program compilation. .s;It is expected that all XPORT Release 1 features will be supported by future releases. .hl2 Compatibility (DEC and Industry) .hl3 XPORT Compatibility XPORT terminology and user interface will be culturally compatible with VAX/VMS RMS and other VMS software. In the few cases where VMS characteristics or terminology are different from those in other environments, these differences will be noted in the relevant user documentation For example, TOPS-10 uses the term "file extension" where all other systems use "file type". .s;All XPORT implementations will have identical syntax and semantics. .s;All command language tools will support command lines in the style of the host operating system. .page .hl1 Development Review Board .hl2 Composition The XPORT Project development review board will consist of the following BLISS users: .s.i5;Ron Brender, Corporate Research (ADA), Chairman of DRB .i5;John Carney, CAD .i5;Lou Cohen, Development Methods .i5;Peter Conklin, VAX Product Management .i5;Topher Cooper, Development Methods (BLISS) .i5;Lois Frampton, Standards .i5;Richard Friday, Development Methods (RUNOFF) .i5;Tom Hastings, VAX/VMS Run-time Library .i5;Warren Jacobs, Development Methods (QA Tools) .i5;Ike Nassi, Corporate Research (ADA) .i5;Lee Sapiro, Microware (MICROFLOW) .i5;Will Sherwood, CAD .i5;Tony Troppito, Terminal Architecture .i5;Tom Van Court, Microware (MICROLINKER) .i5;Earl Van Horn, Corporate Research (STEP) .hl2 What Will Be Reviewed The following items will be reviewed: .s.i5;this Project Plan .i5;the attached Functional Specification .i5;any additional Functional or Design Specifications .i5;all relevant end-user documentation .s;Items to be reviewed will be sent to the review board with a response deadline and a tentative meeting date. Reviewers will have at least five working days or one day per 25 pages (whichever is greater) in which to respond. All responses must be in writing; no response implies full agreement with the document being reviewed. The developers will review the responses and will cancel or confirm the tentative meeting. The meeting will be held if serious issues are raised and there is no clear concensus of the reviewers and developers. .page .hl1 Software Development Strategy .hl2 Mandatory Tasks (Major Activities) .ts40 .i8;^&Task Estimated Labor Weeks\& .ts50 .s;XPORT (except STRING and CL Tools) .i5;TOPS-10 implementation (complete) 0 .i5;Complete VAX/VMS implementation 1 .i5;TOPS-20 implementation 5 .i5;RSX-11M implementation 2 .i5;RT-11 implememation 5 .i5;RSTS/E implementation 5 .i5;IAS implementation 3 .i5;Compilation performance study 1 .i5;Rewrite XDUMP in BLISS 2 .i5;Review documenation 4 .i5;SPR processing 6 .s;XPORT Command Language Tools .i5;VAX/VMS 1 .i5;TOPS-20 2 .I5;RSX-11M 1 .I5;RT-11 2 .I5;RSTS/E 2 .I5;IAS 2 .i5;Documentation 2 .i5;CLI Overview Study 2 .s;XPORT String Package (transportable) .i5;Design 3 .i5;Documentation 2 .i5;ECO new string descriptors 2 .i5;Implementation 4 .s;Operating System Interfaces .i5;Review, enhance and maintain 4 .s;XPORT Documentation .i5;Update BLISS Tools manual to XPORT BL4 3 .i5;Document XPORT STRING package 6 .i5;Prepare BLISS Tools manual for printer 4 .hl2 Optional Additional Tasks .ts40 .i8;^&Task Estimated Labor Weeks\& .ts50 .s;Conversion to using STEP .i5;Dec 1st code freeze version 2 .i5;Feb 1st field evaluation version 1 .s;XPORT Release 2 Enhancements .i5;Date/time functions 2 .i5;Direct-access I/O 7 .i5;Wild-card file support 10 .s;BLISS Programming Notebook 4 .hl2 Development Schedule A development schedule is attached to this plan. This schedule shows the ^&major\& tasks which have been assigned to the two developers (Ward Clark and Linda Duffell) and to the part-time writer (Ed Williams). Since it is expected that each worker will have additional demands on his/her time and will not be able to devote fill time to each major task, many of the calendar periods shown in the schedule are longer than the estimated labor weeks shown in the table above. .page .hl1 Risks and Contingency Plans There are four major risks associated with this project. .hl2 Lack of Operating System Experience Our lack of experience with several of the PDP-11 operating systems on which XPORT will be implemented may result in a need for more time and/or labor to complete the implementation sequence. .s;To minimize the impact of our lack of experience, operating system experts for each unknown system will be located and consulted before implementation is begun. If necessary, the proposed implementation schedule will be slipped rather than eliminate XPORT features and/or supported operating systems. .hl2 Lack of Development/Test Systems The possible unavailability of easy-to-access development/test sites for the RT-11, RSTS/E and IAS XPORT implementations may hinder XPORT implementation. .s;If this risk becomes real, the proposed implementation schedule will be slipped rather than eliminate XPORT features and/or supported operating systems. .hl2 Need to Change XPORT Interface It is possible, though not likely, that some aspects of the XPORT user interface (syntax and semantics) may be difficult or impossible to implement on one of the PDP-11 operating systems. .s;If such a situation arises, the XPORT interface will be modified as necessary to maintain full transportability of XPORT. .hl2 String Descriptor ECO Not Approved It is possible that the proposed ECO to the VAX/VMS Procedure Calling Standard (see 8.3) may not be approved. .s;Every attempt will be made to modify this String Descriptor ECO so that it will be approved and supported by the VAX/VMS Run Time Library. .s;If the ECO is not approved, the proposed XPORT string architecture will be maintained and the differences between the XPORT and VAX/VMS string processing architectures will be clearly documented in the BLISS Programming Tools manual. .page .hl1 Documentation Plan .hl2 User Documentation All XPORT functions, features and philosophy are documented in the forthcoming BLISS Programming Tools manual. A field evaluation draft of this manual, which documents XPORT Base Level 3, has been distributed to BLISS users at all field evaluation sites. .s;The following XPORT documentation tasks are planned for FY80: .lm8 .rm-5 .s.i-3;o##Update the BLISS Programming Tools manual to reflect XPORT Base Level 4 changes and to include a section on "transportability hints" (3 labor weeks). .s.i-3;o##Document the XPORT STRING package (6 labor weeks). .s.i-3;o##Prepare the BLISS Programming Tools manual for formal release (4 labor weeks). .lm0 .rm+5 .hl2 Internal Documentation There is no plan to produce internal/maintenance documentation for XPORT other than the comments in the XPORT BLISS code and XPORT development command files. .page .hl1 Quality Assurance Plan .hl2 QA Tests Nine transportable XPORT test programs have been developed. Each of these test programs can be used to test XPORT features as well as hardware and operating system error recovery. A "batch" command stream which uses these test programs will be developed for each XPORT implementation as part of pre-field-evaluation testing. .s;These tests will be run by the developers for each XPORT base level and each operating system release to verify that errors have not been introduced during base level or operating system development. .s;There is no plan to do formal XPORT performance testing. .hl2 QA Test Configurations All XPORT testing will be performed on the XPORT development configurations and on a native operating system when a compatibility mode development environment was used (e.g., TOPS-10 on TOPS-20, RSX-11M on VAX/VMS). .s;Additional informal configuration testing will be performed during XPORT field evaluation (see 14.3). .hl2 Field Evaluation As each XPORT implementation is completed, an extended (several month) field evaluation will be performed before formally releasing the software. This evaluation period is intended to uncover XPORT design flaws and deficiencies as well as implementation problems. XPORT is currently in field evaluation on 5 TOPS-10 systems, 5 TOPS-20 systems, and 8 VAX/VMS systems. .hl2 Field Test At the completion of the last XPORT field evaluation period, a formal field test release (incorporating any bug fixes) will be sent to all field evaluation sites. Near the end of the formal field test period (6 weeks), each test site will contacted to verify that testing was performed and that the results were satisfactory. .page .hl1 Release Criteria XPORT will not be formally released until the following conditions are met: .lm8 .rm-5 .nj .s.i-3;o##the code, except for bug fixes, has been frozen for 1 month .s.i-3;o##the code passes all QA test and the test results are documented .s.i-3;o##the BLISS Programming Tools manual has been reviewed and published .s.i-3;o##the system installation procedure has been tested on all supported environments .lm0 .rm+5 .j .page .hl1 Training Plan The tutorial sections of the BLISS Programming Tools manual document all XPORT functions and features. This tutorial material, in conjunction with the reference portions of the manual, provide sufficient help to the beginning XPORT user so that additional training is not necessary. .s2;[End of Project Plan]