Software Requirements Specification for Distributed Batch Scheduler Version 1.0 Prepared by Agustinus Nagata, Harrison Clarke, Kathleen Fraser NovaSims Software Development February 03, 2010 Copyright © 2007 by Karl E. Wiegers. Permission is granted to use and modify this template. Software Requirements Specification for Distributed Batch Scheduler Page 1 Contents 1 INTRODUCTION .......................................................................................................................................................... 2 1.1. DOCUMENT PURPOSE ............................................................................................................................................... 2 1.2. PRODUCT SCOPE ....................................................................................................................................................... 2 1.3. INTENDED AUDIENCE AND DOCUMENT OVERVIEW .................................................................................................. 2 1.4. DEFINITIONS, ACRONYMS AND ABBREVIATIONS ....................................................................................................... 3 1.5. DOCUMENT CONVENTIONS ....................................................................................................................................... 3 1.6. REFERENCES AND ACKNOWLEDGEMENTS................................................................................................................. 3 2 OVERALL DESCRIPTION .......................................................................................................................................... 4 2.1. PRODUCT PERSPECTIVE ............................................................................................................................................ 4 2.2. PRODUCT FUNCTIONALITY........................................................................................................................................ 4 2.3. USERS AND CHARACTERISTICS ................................................................................................................................. 5 2.4. OPERATING ENVIRONMENT ...................................................................................................................................... 5 2.5. DESIGN AND IMPLEMENTATION CONSTRAINTS ......................................................................................................... 5 2.6. USER DOCUMENTATION ........................................................................................................................................... 5 2.7. ASSUMPTIONS AND DEPENDENCIES .......................................................................................................................... 5 3 SPECIFIC REQUIREMENTS ...................................................................................................................................... 6 3.1. EXTERNAL INTERFACE REQUIREMENTS .................................................................................................................... 6 3.2. FUNCTIONAL REQUIREMENTS ................................................................................................................................... 6 4 OTHER NON-FUNCTIONAL REQUIREMENTS ................................................................................................... 8 Revisions Version Primary Author(s) Description of Version Date Completed Draft 1a Agustinus Nagata No Previous Document 02/03/2010 Draft 1b Agustinus Nagata Changes made after group meeting 02/09/2010 Version 1.0 Nagata, Fraser, Clarke Completed first version. 02/11/2010 Copyright © 2007 by Karl E. Wiegers. Permission is granted to use and modify this template. Software Requirements Specification for Distributed Batch Scheduler Page 3 1 Introduction 1.1. Document Purpose This document includes software requirements for a distributed batch scheduler (release number 1.0) to be used by a University research group. A batch system allows users to submit the programs they would like to run, and then schedules the jobs to run in the background of various computers on the network. In this way, the use of available CPUs can be increased, saving time and money. 1.2. Product Scope The software will allow the user to submit an executable and any necessary command line arguments to a server via a client program. The server will maintain a queue of waiting jobs and schedule the jobs to run on an available computer in the network. Priority will be given to jobs submitted by users who have not recently submitted jobs to the scheduler. When the job is finished running, the program will email the output to the user and report back to the server. The size of the network can range between a couple of machines to a few dozen. The software will not have a graphical user interface. It will not asses the memory requirements of the submitted jobs. It will be restricted to run in a 32-bit x86 Unix environment. Jobs will have to be submitted from a computer in the network, and access to the client machines will be restricted. Users will not have access to jobs once they are running (although this could be a feature in a future version). 1.3. Intended Audience and Document Overview This Software Requirements Specification describes in detail all that is required by the NovaSims Distributed Batch Scheduler. The first part of the document provides an overview of the product, as well as general information regarding the language and conventions used in the document. The second section outlines the functionality of the product, the characteristics of the intended users, the operating environment and any constraints it may impose, as well as any assumptions and dependencies that may affect the outcome of the project. The final two sections contain specific requirements for the Distributed Batch Scheduler. Section 3 contains use cases describing the functional and behavioral requirements of the system, and Section 4 presents security and performance requirements. This document intends to provide a precise statement of the functionality of the future product. It is important for the customer to understand exactly what he can expect from the Software Requirements Specification for Distributed Batch Scheduler Page 4 system. It is equally important for the developers to understand what is expected from the system, so they can develop a successful product. Furthermore, product testers and documentation writers can use this document to guide their work when describing and testing specific functions and features of the software. 1.4. Definitions, Acronyms and Abbreviations Acronyms: CPU: Central Processing Unit DBS: Distributed Batch Scheduler IP: Internet Protocol JVM : Java Virtual Machine TCP: Transmission Control Protocol Definitions: Client: part of the program which will allow users to connect to the system and submit jobs. Job: collection of files submitted by the user which will be compiled, built into an executable, and run on a worker. Server: part of the program which will contain the scheduler and which will send jobs to available computers. Worker: part of the program which will run the jobs and return the results. 1.5. Document Conventions Sections and subsections are numbered and given in bold font. Document text is font size 12 and single-spaced. Each page is numbered in the upper right-hand corner. Use cases and data flow diagrams follow the conventions outlined in Ref. [1]. 1.6. References and Acknowledgements 1. Jalote, Pankaj. An Integrated Approach to Software Engineering (Third Ed.). Springer, New York, 2005. Software Requirements Specification for Distributed Batch Scheduler Page 5 2 Overall Description 2.1. Product Perspective This product is being designed as a replacement for a professor who previously used a similar system at a different University but no longer has access to such software. The DBS will be implemented on an existing computer network. 2.2. Product Functionality Regular users will be able to: Log on to the system Submit jobs View the job queue Administrators will be able to perform the same functions as regular users, as well as: Terminate running jobs Add or delete users from the system The system will be able to: Schedule jobs Send jobs over the network to available CPUs Compile and run jobs Email the output to the appropriate user This functionality is expressed graphically in the following Data Flow Diagram. Software Requirements Specification for Distributed Batch Scheduler Page 6 2.3. Users and Characteristics It is expected that the users of this product will be researchers at a University. Users will have at least a high school education and will have experience with using Unix operations. Regular users will be able to submit jobs and view the job queue. The super-user or administrator is a special class of user, who will have a greater level of control over the system and will have the ability to terminate other users' jobs, as well as add or remove users from the system. It is expected that the administrator will have at least an undergraduate degree and have a greater level of technical expertise than a regular user. 2.4. Operating Environment The software will be run in a 32-bit x86 Unix environment. 2.5. Design and Implementation Constraints The system must run in a Unix environment as specified in Section 2.4. The system must run on the customer's existing computer network. The system must provide some basic security features to prevent unauthorized access. The system must run in such a way that other users on the network are not affected adversely by jobs running in the background on their machines. 2.6. User Documentation A user manual will be produced, containing information about how to install the software and how to use it (for both users and administrators). 2.7. Assumptions and Dependencies AS-1: Submitted jobs will require less than 2GB of memory. AS-2: Submitted jobs will run on 32-bit x86 architecture. AS-3: Submitted jobs will have output of size less than 5MB. AS-4: Submitted jobs will finish in a finite amount of time. AS-5: Submitted jobs will be batch jobs, not requiring interaction with the user. AS-6: All computers on which this system is installed will be: a) connected to a network b) connected to a mail server c) have the Unix programs “make” and “mail” d) have any compilers required by the submitted jobs (eg, gcc, javac) AS-7: The computer on which the server is installed will have a JVM. Software Requirements Specification for Distributed Batch Scheduler Page 7 3 Specific Requirements 3.1. External Interface Requirements All input to the DBS will be given via a command line interface. Users will also be able to view the job queue through a command line interface. Jobs will be transferred to worker computers through IP network interfaces. Output to the users will be transferred via email using TCP. 3.2. Functional Requirements Use Case 1: Log into the system Primary Actor: Researcher Precondition: Software has been installed, researcher has an account. Main Success Scenario: 1. Researcher enters username 2. Researcher enters password 3. Username and password are accepted 4. Researcher is now able to access the system Exception Scenarios: 3 a) Username and password incorrect *System cancels login Use Case 2: Submit a job Primary Actor: Researcher Precondition: Researcher has logged on. Main Success Scenario: 1. Researcher types a command to submit a job to the system. 2. System accepts the job and gives it to the scheduler. Exception Scenarios: None. Use Case 3: Schedule a job Primary Actor: Scheduler Precondition: A job has been submitted. Main Success Scenario: 1. Scheduler checks the priority of the user and places their job in the ready queue. Exception Scenarios: None. Use Case 4: Run a job Primary Actor: Worker Precondition: Job is in the ready queue. Main Success Scenario: 1. Server is notified if a worker is available 2. Server transfers files to worker computer 3. Worker computer builds executable Software Requirements Specification for Distributed Batch Scheduler Page 8 4. Executable starts running Exception Scenarios: 1a) No workers available * No jobs can be run 3a) Job does not compile * Email sent to user notifying them of compile failure. Use Case 5: Email results to user Primary Actor: Worker Precondition: Job has finished, owner of job has valid email account.. Main Success Scenario: 1. Results of a finished job are emailed to the user who submitted the job. Exception Scenarios: 1a) Job crashes before printing results *Error message will be emailed to user Use Case 6:View the ready queue Primary Actor: Researcher Precondition: Researcher has logged on. Main Success Scenario: 1. Researcher types a command to view the job queue 2. Researcher is able to see a list of jobs, their status (ready or running), and the names of the users who submitted them Exception Scenarios: None Use Case 7: Create a new user Primary Actor: Administrator Precondition: Administrator has logged on Main Success Scenario: 1. Administrator creates a new user account with username and password. 2. Administrator assigns an email address to the user account. Exception Scenarios: 1a ) Username already exists. *System returns message that another username is required. Use Case 8: Delete a user Primary Actor: Administrator Precondition: Administrator has logged on, user exists Main Success Scenario: 1. Administrator types a command to delete a user Exception Scenarios: None Use Case 9: Terminate a job Primary Actor: Administrator Precondition: Administrator has logged on, a job is running. Main Success Scenario: 1. Administrator types a command to terminate a job . Exception Scenarios: None Software Requirements Specification for Distributed Batch Scheduler Page 9 4 Other Non-functional Requirements 4.1 Performance Requirements The software shall run a job on a machine within 5 minutes of that computer becoming available. No submitted job will disappear from the queue without being either run or deleted by an administrator. The waiting time of a job in the queue will depend on the priority of the user. 4.2 Safety and Security Requirements The customer does not consider security to be a high priority. Use of the software should be restricted to authorized users, so a username and password will be required from all users. Encryption of data being sent over the network is a feature which may be implemented in a future version of the DBS but is not required for this version. 4.3 Software Quality Attributes 4.3.1Availability The software must be available for user 24 hours a day. 4.3.2 Flexibility The software must be able to run on a network varying in size from just 2 computers to up to 25 computers. 4.3.3 Reliability In the case of a worker crash, the job should be restarted automatically after the computer is restarted. In the case of a server crash, jobs will have to be resubmitted to the job queue.
© Copyright 2026 Paperzz