operation DeleleQuestions is inputs: ID*, QuesitionBank; outputs: QuestionBank; description: (*This operation deles questions from the QuestionBank. It return a QuestionBank without the deleted questions in it*); end DeleteQuestions; operation UploadQuestions is inputs: ID*, LocalQuestionBank, SharedQuestionBank; outputs: SharedQuestionBank; description: (*This operation uploads questions from the shared QuestionBank to the local QuestionBank; after the operation the shared question bank will now contain the new questions*); end UploadQuestions; operation DownloadQuestions is inputs: ID*, LocalQuestionBank, SharedQuestionBank; outputs: LocalQuestionBank; description: (*This operation downloads questions from the local QuestionBank to the shared QuestionBank, after this operation is performed the local question bank will contain the new questions*); end DownloadQuestions; operation FilterQuestions is inputs: QuestionBank, Filter*; outputs: QuestionBank; description: (* Arranges the questions in the QuestionBank based on the filter attribute that the user chooses to display on top*); end FilterQuestions;