Software Requirements Document

54 86 0
Software Requirements Document

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Software Engineering Project (2IP40) Project Group Software Requirements Document version 1.0.1 (Externally Accepted), 28 March 2006 Project Team: Project Manager: Sven Bego Roel Coset Robert Leeuwestein Maarten Leijten Ivo van der Linden Joery Mens Marcel Moreaux Tim Muller Tom Kleijkers 0550191 0548132 0546746 0547649 0547632 0547515 0499480 0547961 0515015 Senior Manager: Advisor: L Somers Y.Usenko TU/e HG 7.83 TU/e HG 5.71 Customer: M ter Linden H de Wolf Dutch Space Dutch Space Technische Informatica, Eindhoven University of Technology, Eindhoven Abstract This document contains the software requirements for the SPINGRID system This project is one of seven assignments for the course 2IP40 at Eindhoven University of Technology These software requirements were established according to requests formulated by Mark ter Linden and Hans de Wolf of Dutch Space The document complies with the Software Requirements Document (SRD) from the Software Engineering Standard, as set by the European Space Agency [ESA] SPINGRID Software Requirements Document 1.0.1 Contents Introduction 1.1 Purpose 1.2 Scope 1.3 List of definitions and abbreviations 1.3.1 Definitions 1.3.2 Abbreviations Documents 1.4.1 Reference Documents 1.4.2 Applicable Documents Overview 1.4 1.5 General Description 2.1 Relation to current projects 2.1.1 GridAssist 2.1.2 BOINC 2.1.3 Globus Toolkit 10 2.2 Relation to predecessor and successor projects 10 2.3 Function and purpose 10 2.4 Environment 11 2.4.1 System requirements 11 2.5 Relation to other systems 12 2.6 General constraints 12 2.7 Model description 12 2.7.1 High level model 12 2.7.2 System Operations 13 SPINGRID Software Requirements Document 1.0.1 CONTENTS 2.7.3 Classes from the dispatcher perspective 15 2.7.4 Classes from the user perspective 18 2.7.5 JSDL class 18 Specific requirements 3.1 3.2 22 Functional requirements 22 3.1.1 User class requirements 22 3.1.2 JSDL class requirements 30 Non-functional Requirements 35 Requirements traceability matrix 37 A Petri-nets 43 A.1 Dispatcher 43 A.1.1 Top Level (figure A.1.1) 43 A.1.2 Agent Communication Subnet (figure A.1.2) 44 A.1.3 Client Communication Subnet (figure A.1.3) 45 A.1.4 Job Provider Commands Subnet (figure A.1.4) 46 A.1.5 Data Provider Commands Subnet (figure A.1.5) 47 A.1.6 Application Provider Commands Subnet (figure A.1.6) 48 A.1.7 Project Admin Commands Subnet (figure A.1.7) 48 A.1.8 System Admin Commands Subnet (figure A.1.8) 50 A.2 Agent (figure A.2) 51 A.3 Client (figure A.3) 53 SPINGRID Software Requirements Document 1.0.1 Document Status Sheet Document Title Document Identification Author(s) Version Document Status Software Requirements Document SPINGRID/Documents/Product/SRD/1.0.1 R Leeuwestein, S Bego, M Moreaux, R Coset, I v.d Linden 1.0.1 draft / internally accepted / conditionally approved / approved Version 0.0.1 0.0.2 Date 20-01-2006 24-01-2006 Author(s) R Leeuwestein R Leeuwestein, S Bego 0.0.3 09-02-2006 0.0.4 22-02-2006 0.0.5 26-02-2006 0.1.0 26-02-2006 0.1.1 09-03-2006 0.2.0 09-03-2006 0.2.1 22-03-2006 1.0.0 1.0.1 28-03-2006 28-03-2006 R Leeuwestein, M Moreaux, S Bego, R Coset R Leeuwestein, M Moreaux, S Bego, R Coset, I v.d Linden R Leeuwestein, M Moreaux, S Bego, R Coset, I v.d Linden R Leeuwestein, M Moreaux, S Bego, R Coset, I v.d Linden R Leeuwestein, M Moreaux, S Bego, R Coset, I v.d Linden R Leeuwestein, M Moreaux, S Bego, R Coset, I v.d Linden R Leeuwestein, S Bego, I v.d Linden S Bego, I v.d Linden R Leeuwestein SPINGRID Summary Document creation Added text to chapter 2, started with chapter First draft version for customer First version for internal review Version for the second internal review Internally accepted Version for the third internal review Internally accepted Internally accepted Externally accepted Fixed the document status Software Requirements Document 1.0.1 Document Change Report Document Title Document Identification Date of Changes Software Requirements Document SPINGRID/Documents/Product/SRD/1.0.1 N/A 10 SPINGRID Software Requirements Document 1.0.1 Chapter Introduction 1.1 15 The purpose of this document is to specify the software requirements and a logical model of the SPINGRID system in a clear and consistent manner 1.2 20 Purpose Scope The software will be used to implement a computational grid This grid is able to execute specific jobs when it receives an executable accompanied by a set of data files It completely hides the complexity of grid technology which makes the system easy to use Usability is also increased by offering a web-based front-end for users to access the system 1.3 List of definitions and abbreviations This section contains the definitions of all used terms, acronyms and abbreviations in this document 25 1.3.1 Definitions 2IP40 Agent Application SPINGRID The Software Engineering Course ID at Eindhoven University of Technology Program that is used by a resource provider to retrieve and execute jobs A combination of a set of shell scripts and a set of (URLs to) platform dependent data Software Requirements Document 1.0.1 CHAPTER INTRODUCTION Application Provider Client Computational Grid Customer Data Data Provider Dispatcher Job Job Provider Platform Data Platform Data Project Independent Dependent Project Administrator Resource Provider Role Shell Script SPINGRID SPINGRID Software SPINGRID System System Administrator User SPINGRID An application provider can offer a set of applications to the SPINGRID system They can restrict access for projects and for resource providers to their applications Program that is used by all the users except those in the role of resource provider (who use the agent) A hardware and software infrastructure that enables coordinated resource sharing within dynamic organizations consisting of individuals, institutions and resources Dutch Space B.V Either platform dependent data or platform independent data A data provider can offer a set of platform independent data to the SPINGRID system They can restrict access for projects and for resource providers to their data A dispatcher acts like a server and manages the distribution of jobs over the computational grid Specification of application, platform independent data and auxiliary information to compute the job Job providers are users that offer jobs to projects They have to be a member of those particular projects A set of platform independent files that is used (input, uncompiled executable, etc.) to compute a job A set of platform dependent files that is required to initialize a job A collection of jobs with specified access rights to which users (project members) can be assigned The project administrators administrate projects and can assign and remove job providers, configure a project and restrict access for resource providers Resource providers are users that offer time on their computers to the SPINGRID system They can restrict access to their computer for application providers and projects The actions and activities assigned to or required or expected of a user One or more (platform dependent) shell-commands A computational grid using SPINGRID software Software developed by Dutch Space and TU/e to build computational grids for distributed data processing The full name of the entire system using SPINGRIDSoftware The system administrator oversees the entire SPINGRID system and has the right to configure the system, to create and remove projects and assign and remove project administrators Either a job provider, a data provider, an application provider, a resource provider, a project administrator or a system administrator Software Requirements Document 1.0.1 CHAPTER INTRODUCTION 1.3.2 Abbreviations ADD DDD ESA JSDL SR SRD TU/e UML URL XML 1.4 Architectural Design Document Detailed Design Document European Space Agency Job Submission Description Language Software Requirements Sofware Requirements Document Eindhoven University of Technology Unified Modeling Language Uniform Resource Locator eXtensible Markup Language Documents 1.4.1 Reference Documents [ESA] ESA Software Engineering Standards (ESA PSS-05-0 Issue 2), ESA Board for Software Standardization and Control (BSSC), 1991 Job Submission Description Language (JSDL) Specification, Version 1.0, November 2005 Architectural Design Document, SPINGRID team, TU/e, not yet available Detailed Design Document, SPINGRID team, TU/e, not yet available [JSDL] [ADD] [DDD] 1.4.2 Applicable Documents [URD] 30 35 1.5 User Requirements Document, SPINGRID team, TU/e, version 1.0.0, February 2006 Overview This document is structured according to the standard described in [ESA] In chapter two a description of the system and its environment is given, along with a model that describes the software Chapter three contains the software requirements The fourth chapter gives the traceability tables, which link the user requirements to the software requirements, and vice-versa Finally in Appendix A, state diagrams are presented to illustrate the flow of the SPINGRID system SPINGRID Software Requirements Document 1.0.1 Chapter General Description 2.1 40 There are a lot of current projects which are related to the SPINGRID project The following subsections will give a general overview of the most relevant ones These summaries are taken from the corresponding websites 2.1.1 45 50 GridAssist GridAssist1 is a software framework that provides benefits of computing in a Computational Grid environment to programs that are not inherently Grid-aware, for users who are not experts on Grid technology GridAssist provides a portal for access to applications, resources and data using high-speed networks, a scenario builder that can be used to construct scenarios consisting of chains of data and applications, and a controller that schedules the jobs on a Computational Grid Unfortunately the system can not work effectively when behind a firewall This is the main reason we not adapt GridAssist 2.1.2 55 Relation to current projects BOINC BOINC2 is a software platform for distributed computing using volunteered computer resources The most important feature of BOINC is resource sharing among independent projects, therefore many different projects can use BOINC Projects are independent; each one operates its own servers and databases Participants can participate in multiple projects; they control which projects they participate in, and how their resources are divided among these projects When a project is down or has no work, the resources of its participants are divided among other projects http://tphon.dutchspace.nl/grease/ http://boinc.berkeley.edu/ SPINGRID Software Requirements Document 1.0.1 CHAPTER REQUIREMENTS TRACEABILITY MATRIX UR UR UR UR 7060 7070 7080 7082 UR UR UR UR UR UR UR UR UR UR UR UR UR 7090 7100 7110 7120 8010 8020 8030 8040 8050 8060 8070 8080 8090 SR SR SR SR SR SR SR SR SR SR SR SR SR SR SR SR SR SR SR SR Software Requirements SR 1410 SR 1411 SR 1412 SR 1413 SR 1414 SR 1415 SR 1416 SR 1417 SR 1418 SR 1419 SR 1420 SR 1421 SR 1422 SR 1423 SR 1424 SR 1425 SR 1426 SR 1427 SR 2010 SR 2011 SR 2020 SR 2021 SPINGRID 7030 7011 7040 7140, SR 1414, SR 1419, SR 1424, SR 9180 9180 9180 9010 9090 9100 9110 9120 9130 9140 9150 9160 9170 7070, SR 1411, SR 1412, SR 1413, 1415, SR 1416, SR 1417, SR 1418, 1420, SR 1421, SR 1422, SR 1423, 1425, SR 1426, SR 1427 User Requirements UR 7052 UR 7082, UR 1030 UR 7082, UR 1030 UR 7082, UR 1030 UR 7082, UR 1030 UR 7082, UR 1030 UR 7082, UR 1030 UR 7082, UR 1030 UR 7082, UR 1030 UR 7082, UR 1030 UR 7082, UR 1030 UR 7082, UR 1030 UR 7082, UR 1030 UR 7082, UR 1030 UR 7082, UR 1030 UR 7082, UR 1030 UR 7082, UR 1030 UR 7082, UR 1030 UR 2020 UR 2050 UR 2030 UR 2060 Software Requirements Document 1.0.1 39 CHAPTER REQUIREMENTS TRACEABILITY MATRIX SR SR SR SR SR SR SR SR SR SR SR SR SR SR SR SR SR SR SR SR SR SR SR SR SR SR SR SR SR SR SR SR SR SR SR SR SR SR SR SR SR SR SR SR SPINGRID 2030 2031 2040 2041 2050 2060 2070 2080 2090 2100 3010 3011 3020 3021 3030 3031 3040 3050 3051 3060 3061 3070 3071 4010 4011 4020 4021 4030 4031 4032 4033 4040 4041 4042 4043 4050 4051 4060 4070 5010 5011 5020 5021 5030 UR UR UR UR UR UR UR UR UR UR UR UR UR UR UR UR UR UR UR UR UR UR UR UR UR UR UR UR UR UR UR UR UR UR UR UR UR UR UR UR UR UR UR UR 2040 2070 2080 2090 2100 2110 2114 2120 2130 2140 3020, UR 3010 3072 3030 3030 3040 3040 3050 3062 3062 3060 3060 3074 3074 4020 4030 4040 4040 4042 4042 4042 4042 4050 4050 4050 4050 4060 4060 4070 4080 5010 5012 5030 5030 5042 Software Requirements Document 1.0.1 40 CHAPTER REQUIREMENTS TRACEABILITY MATRIX SR SR SR SR SR SR SR SR SR SR SR SR SR SR SR SR SR SR SR SR SR SR SR SR SR SR SR SR SR SR 5040 5050 5060 5070 5071 6010 6011 6020 6021 6030 6040 6050 6060 6061 7010 7011 7012 7013 7020 7030 7040 7070 7110 7120 7130 7140 7150 8000 9000 9010 SR SR SR SR SR SR SR SR SR SR SR SR SR 9020 9030 9031 9040 9050 9060 9070 9080 9090 9100 9110 9120 9130 SPINGRID UR UR UR UR UR UR UR UR UR UR UR UR UR UR UR UR UR UR UR UR UR UR UR UR UR UR UR UR UR UR UR UR UR UR UR UR UR UR UR UR UR UR UR UR 5050 5040 5052 5054 5054 6010 6012 6020 6020 6030 6032 6040 6042 6042 7010, 7070 7040 7050 7020 7060 7080 7082, 7040 7050 4010 7082, 2010 0080 0010 3080, 5060, 0020 0030 0040 0050 0060 0070 0080 3070 8010 8020 8030 8040 8050 UR 1020 UR 1030 UR 1030, UR 1010, UR 1020 UR 7120, UR 2150, UR 4090, UR 5020 Software Requirements Document 1.0.1 UR 6050, 41 CHAPTER REQUIREMENTS TRACEABILITY MATRIX SR SR SR SR SR SPINGRID 9140 9150 9160 9170 9180 UR UR UR UR UR 8060 8070 8080 8090 7100, UR 7090, UR 7110 Software Requirements Document 1.0.1 42 930 Appendix A Petri-nets A.1 A.1.1 Dispatcher Top Level (figure A.1.1) Figure A.1: Top Level 935 Startup: When the dispatchers starts, it enters a state in which it waits for incoming requests from clients and agents Shutdown: This processors symbolizes two methods to shutdown the dispatcher: 940 • The dispatcher is shutdown by a user on the machine on which the dispatcher is running • The dispatcher is shutdown by a remote command from the system admin This command does not appear in the Petri-net for sake of reduction of complexity SPINGRID Software Requirements Document 1.0.1 43 APPENDIX A PETRI-NETS 945 A.1.2 Agent Communication Subnet (figure A.1.2) Figure A.2: Agent Communication Subnet Start Session: When an agent connects to the dispatcher a session is started 950 Request Job: The agent tells the dispatcher it is ready to receive a job Send Job: The dispatcher accepts the request and sends a job to the agent 955 Reject Request: The dispatcher rejects the request for a job The agent might have been banned No Jobs Available: The dispatcher informs the agent that there are currently no jobs available 960 Working Message / Accept Message: The agent informs the dispatcher is it still working on a job SPINGRID Software Requirements Document 1.0.1 44 APPENDIX A PETRI-NETS 965 Send ’Result’ / Accept ’Result’: The agent sends the result to the dispatcher It is possible that the result should be send somewhere else In this case, the agent informs the dispatcher that it did A.1.3 Client Communication Subnet (figure A.1.3) Figure A.3: Client Communication Subnet 970 Receive Command: A request is received from a client Accept Command: The received command is a known command SPINGRID Software Requirements Document 1.0.1 45 APPENDIX A PETRI-NETS 975 Reject Command: The received command is not known Accept Login: The authentication-data that was sent along with the command is correct 980 Reject Login: The above-mentioned data is incorrect 985 Access Granted: The required access level to execute the command is matched to the access level of the user that sent the command In this case, access to the command is granted to the user Access Denied: The user does not have the right to execute the command that he sent 990 A.1.4 Job Provider Commands Subnet (figure A.1.4) The Submit Job, List Jobs, Remove Job, List Applications and Get Job Result processors represent the commands that are available to a job provider These processors will not be listed below as their function is trivial 995 The Send Joblist, Send AppList, Accept Private App, Accept Private Data processors represent the sending of the requested result to the client These processors will also not be listed Accept Job: The job that was sent with the Submit job command is in the right format (JSDL) 1000 Reject Job: There is an error in the job For example, it does not match the right format (JSDL) Accept Remove: The job can be removed 1005 Reject Remove: The job can not be removed (for example, it does not exist) SPINGRID Software Requirements Document 1.0.1 46 APPENDIX A PETRI-NETS Figure A.4: Job Provider Commands Subnet A.1.5 1010 Data Provider Commands Subnet (figure A.1.5) The List Data, Provide Public Data, Remove Public Data and Change Data Access Rights processors represent the commands that are available to a data provider These processors will not be listed below as their function is trivial The Send Datalist and Accept Public App processors represent the sending of the requested result to the client These processors will also not be listed 1015 Accept Remove: The data can be removed Reject Remove: The data can not be removed (for example, it does not exist) 1020 Accept Changes: The given changes are acceptable 1025 Reject Changes: The given changes are not acceptable For example, the changes are inconsistent SPINGRID Software Requirements Document 1.0.1 47 APPENDIX A PETRI-NETS Figure A.5: Data Provider Commands Subnet A.1.6 1030 The application provider subnet is identical to the data provider subnet, except for the processor names The processors in the application provider subnet have similar functionality to their equivalents in the data provider subnet Therefore, the processors in the application provider subnet will not be listed A.1.7 1035 Application Provider Commands Subnet (figure A.1.6) Project Admin Commands Subnet (figure A.1.7) The List Jobs, Remove Job, Add Job Provider, Change Job Provider Settings, Remove Job Provider, Change Project Access Rights and Change Project Settings processors represent the commands that are available to a project admin These processors will not be listed below as their function is trivial The Send JobList, Accept Removal and Accept Settings processors represent the sending of the requested result to the client These processors will also not be listed Accept Request (Add Job Provider): SPINGRID Software Requirements Document 1.0.1 48 APPENDIX A PETRI-NETS Figure A.6: Application Provider Commands Subnet 1040 The parameters that were sent with the Add Job Provider-command are acceptable Reject Request (Add Job Provider): The parameters are unacceptable For example, the job provider is already trusted in the project 1045 Accept Request (Remove Job Provider): The job provider can be removed 1050 Reject Request (Remove Job Provider): The job provider can not be removed For example, the job provider does not exist Accept Changes: The proposed changes are acceptable 1055 Reject Changes: The proposed changes are unacceptable For example, they are inconsistent SPINGRID Software Requirements Document 1.0.1 49 APPENDIX A PETRI-NETS Figure A.7: Project Admin Commands Subnet A.1.8 1060 System Admin Commands Subnet (figure A.1.8) The processors on the first row (List Jobs etc.) represent the commands that are available to the system admin These processors will not be listed below as their function is trivial The processors on the last row that are not ‘Accept’-processors represent the sending of the requested result to the client These processors will also not be listed The ‘Accept’-processors represent the negation of the corresponding ‘Reject’-processors These processors will also not be listed 1065 1070 Reject Request (Add User): The parameters of the sent command are unacceptable For example, a user with the same username already exists Reject Request (Remove User): The specified user can not be removed For example, the user does not exist Reject Request (Add Role): The specified user can not received the specified role For example, the user already has that role 1075 Reject Request (Remove Role): The role can not be removed from the specified user (parameter) For example, the user does not have that role SPINGRID Software Requirements Document 1.0.1 50 APPENDIX A PETRI-NETS Figure A.8: System Admin Commands Subnet 1080 1085 Reject Request (Add Project): It is not possible to create a project with the specified name For example, a project with the same name already exists Reject Request (Remove Project): The project can not removed For example, it does not exist A.2 1090 1095 Agent (figure A.2) Start up: When the agent starts, it sends its system specification to the dispatcher and it receives a sessionID from the dispatcher Now the agent enters a state in which it is waiting for a job to finish calculating Shut down: The agent software can only be shut down from the waiting state When a resource provider wants to shut down while a job is being calculated, the calculation will be interrupted (See the Failed processor) and the dispatcher will be notified Job request: This processor notifies the dispatcher that the agent is waiting for work 1100 Request rejected: When a dispatcher does not have a suitable job for the agent, the job request will be rejected The agent will now return to the waiting state SPINGRID Software Requirements Document 1.0.1 51 APPENDIX A PETRI-NETS Figure A.9: Agent 1105 1110 1115 Job description received: When a dispatcher had a suitable job for the agent, the job description will be send to the agent When the agent has received the job description, it starts downloading the required files Inform dispatcher: While calculating a job, the agent informs the dispatcher, that it is still running and calculating the job Notification sent: The dispatcher has been informed and the agent will return to the waiting state SPINGRID Software Requirements Document 1.0.1 52 APPENDIX A PETRI-NETS 1120 Failed: The agent can stop the calculation of a job Normally this will not happen, but if there is something wrong with a job this might happen A job will also fail when a resource provider wants to shut down the agent software File download completed: When all files have been downloaded, the agent starts the calculation of the job 1125 1130 Calculation completed: When the calculation is completed, the agent starts sending the result to the location specified in the job description Result sent: Now is the job completed, the dispatcher will be informed that the job is completed The agent will return to the waiting state A.3 Client (figure A.3) Figure A.10: Client 1135 Send command : This processor will send the input from the commandline to the dispatcher Print result: This processor will print the messages, produced by the dispatcher, on the screen 1140 Command completed / failed: After the command completes or fails, the program exits SPINGRID Software Requirements Document 1.0.1 53 ... SPINGRID Software Requirements Document 1.0.1 Document Status Sheet Document Title Document Identification Author(s) Version Document Status Software Requirements Document SPINGRID/Documents/Product/SRD/1.0.1... Fixed the document status Software Requirements Document 1.0.1 Document Change Report Document Title Document Identification Date of Changes Software Requirements Document SPINGRID/Documents/Product/SRD/1.0.1... Space The document complies with the Software Requirements Document (SRD) from the Software Engineering Standard, as set by the European Space Agency [ESA] SPINGRID Software Requirements Document

Ngày đăng: 22/01/2020, 09:08

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan