diff --git a/EducationalAssignments/UndoPartOne.md b/EducationalAssignments/UndoPartOne.md index eea3a93a..358089b7 100644 --- a/EducationalAssignments/UndoPartOne.md +++ b/EducationalAssignments/UndoPartOne.md @@ -33,7 +33,7 @@ properly in different cases and to test attacks against your monitor. 1. Your defense monitor should incorporate all the standard file operation methods, with an added method named `undo`. 2. A `writeat` operation will not immediately write its changes to the file. The - changes will only be permanent after either of the following occur: + changes will only be permanent (commit) after either of the following occur: - A subsequent valid `writeat` operation is executed. - The file is closed. 3. The `undo` operation will reverse the changes of the last valid `writeat` @@ -44,7 +44,8 @@ properly in different cases and to test attacks against your monitor. undone. 4. Aside from the ability to be undone and potentially delayed writes, all `writeat` operations should behave the same way as they do in the RepyV2 API. - +5. The `undo` operation raises `FileClosedError` if the file is already closed. +6. `readat` cannot read data that has not been committed to the file. Three design paradigms are at work in this assignment: accuracy, efficiency, and security.