CS414 – Homework 4

The Object Constraint Language (OCL) and Activity Models

Due Monday, November 8, 2010 by Midnight

Submit via RamCT

  1. (50 pts) The following is a requirements class diagram for a scientific manuscript submission and review system (MSRS) for a journal. Authors submit papers (called submissions) to the system. A submitted paper is assigned to an editor who is responsible for finding at least three scientists (reviewers) to review the paper. Each reviewer prepares and submits a review for the paper. In the class model, an EditorAssignment object represents an assignment of a submission to an editor and tracks the reviewer assignments for the paper. A ReviewerAssignment object tracks the reviewer an editor assigns to a paper. CalDate is a date data type with the following operations:
    - d1.isAfter(d2) returns true if d1 is a date after d2, and false otherwise.
    - d1.isBefore(d2) returns true if d1 is a date before d2, and false otherwise. (Note from the lecturer: someone is going to point out that one of these two operations is unnecessary – you can ignore one of them if you feel strongly about it)
    - d1.equal(d2) returns true if d1 is the same date as d2 and false otherwise
    - d1.duration(d2) returns the number of days in the period d1 and d2 (including d1 and d2)
  2. (20 pts) State the following invariants using the Object Constraint Language (OCL).
  3. The date that a reviewer completes an assignment (completionDate) must occur after the date the paper is assigned to the reviewer (revassignmentDate). (3 pts)
  4. The date a reviewer is assigned to a paper (revassignmentDate) must occur after or on the same date an editor is assigned to the paper (edassignmentDate). (3 pts)
  5. A completed reviewer assignment must have a review associated with it. (4 pts)
  6. If the status of a submission is UnderReview then at least one reviewer has been assigned to the paper and less than three reviews have been submitted. (5 pts)
  7. If the status of a submission is Completed then the submission must be linked to a completion date and at least three reviews must be available. (5 pts)
  8. (30 pts) Define the following query operations using the OCL.
  9. Return all the reviewers assigned to a paper that completed their reviews in 14 days or less (i.e., the duration from the review assignment date to the review completion date is 14 days or less). (10 pts)
  10. Return all the reviewers assigned by an editor who have not yet completed a review. (10 pts)
  11. Return the number of papers assigned to an editor for which the duration between the editor assignment date and the reviewer assignment date is 2 days or less for ALL the paper’s reviewer assignments. (10 pts)
  12. (50 pts) Draw an activity diagram describing the MSRS workflow for submitting, reviewing, and notifying authors of review results. The following are requirements for the workflow.
  13. After an author submits a manuscript the editor-in-chief must invite an editor to supervise the review of the manuscript. If an invitation is not sent within 1 week then the editor-in-chief is sent a reminder. A reminder is sent out each week until an invitation is sent.
  14. Editors are invited to manage the review of manuscripts by the editor-in-chief. If an editor does not respond to an invitation within 1 week a reminder is sent out to the editor. If after 2 weeks has elapsed and the editor still has not responded, then the editor-in-chief invites another editor.
  15. Reviewers are reminded that their reviews are due 1 week before the review deadline. If a review is not received within 1 week after the review deadline a reminder that the review is past due is sent to the reviewer. This reminder is sent each week after the deadline until either the review is received or 3 weeks have elapsed. After 3 weeks, the editor must find another reviewer to complete the review within 2 weeks.
  16. When an editor receives all reviews, he/she makes a recommendation to accept/reject the manuscript based on the reviews. This recommendation is sent to the editor-in-chief.
  17. When an editor-in-chief receives a recommendation from an editor, he/she makes a final accept/reject decision and notifies the author of the decision. The final decision is also sent to the editor and the reviewers in separate emails.