Knowledge Representation and Reasoning Coursework 2: Workflow Satisfiability Problem
Knowledge Representation and Reasoning
Coursework Overview | The Workflow Satisfiability Problem is an important problem in access control (information security). It is about organising a workflow in an organisation in such a way that certain security-related constraints are satisfied |
Coursework Details | More detail is available in Appendix 1. |
Deliverable (a brief description of what is to be handed in; e.g. 'software', 'report') | § A report. § The solver's code |
Format | § The report should be submitted in .pdf format. § The solver code in a respected programming language file extension. For example, to submit a .py file if the solver was implemented in Python. |
Submission Mechanism | Both the report and code should be submitted as .pdf files via Moodle.
For the code, please try your best to wrap all the functionalities in a single file. For example, if you are using Python to complete the coursework, you can store all the functions/classes within a single .py file. If this is not possible, kindly zip all the solver file extensions when attaching it in Moodle. |
Instructions | Coursework 2 is explained in the general coursework guide uploaded to Moodle. A FAQ will be maintained in Moodle. If you have questions, talk to the module convenor; answers to new questions will be added to the FAQ. |
Assessment Criteria | Part 1: Completeness and correctness of the solution method (50%)
§ The proposed solution should terminate with a solution when one exists. § The proposed should behave according to the predetermined goals and specifications. § The proposed based solver for workflow will be evaluated against unseen instances (i.e., instances other than the example provided)
Part 2: Quality and elegance of the solution method and code (20%)
§ The code quality encompasses code clarity, maintainability, documentation, refactoring, well-tested, and efficiency. |
| § The course also challenges the student to develop a compact, elegant mathematical description for checking the satisfiability of the problem.
Part 3 Report (30%)
§ The report should consist of the following elements and in the following order
a) Introduction:
You may consider introducing the solver and language that you use for this coursework, whether you know of any functionality that does not (always) work, etc. While this is optional, for the student who may want to include previous research on the timetabling satisfiability literature may discuss this in this subsection.
b) Formulations of the problem:
For starters, it is advisable to consider the formulation we covered in the previous lab session. While the mathematical formulation is usually more abstract than the actual implementation, it must be detailed enough to explain how it can be implemented with OR-Tools.
Should there is an introduction of new notations, be clear about them.
The formulation can be split into several parts: e.g., the part that is unrelated to the constraints and then the formulation for each constraint type. Unless obvious, explain why each formulation is correct for each constraint type and the selected API functions.
c) Alternative formulation (optional):
Refer to section Assessment Criteria part 3 (b)
d) Implementation:
This section can explain the steps taken to compile/execute the solver. Also, explain the logic of the work of your solver; specifically, how does it establish if there exist multiple solutions to the problem? Discuss any known bugs. If the implementation is straightforward, this section will likely be concise.
e) Evaluation:
For each sample instance, report if the solver tackles it correctly.
While this is optional, analysis, such as how long it takes to evaluate each sample instance, is recommended. Should there is more performance analysis; then it should be reported in this section. |
| f) Discussion
A discussion of the question in light of the experimental results.
g) Conclusion
This is the report section for giving a clear summary of the main points of the work, reflecting on its successes and limitations, and briefly discussing how to extend the current works, approaches or evaluations if more time is allocated to complete the coursework.
h) Reference
List of references used in the report. While this is optional, it is recommended to apply the APA style of reference citation. See the APA documentation for more details https://apastyle.apa.org/
§ The report will be evaluated according to its correctness and quality. § The student is encouraged to produce and discuss more than one solution approach to score extra marks. § There is no minimum number of words stipulated.
Oral Interview (0%)
§ The interview does not affect the mark; however, it is a compulsory part of the coursework. § Failing to attend the interview will result in a mark of ZERO (0) for the coursework. § The module convener will set a time slot for the interview, and you may pick the preferred time at your convenience. More detail about the slot opening will be issued around the submission deadline. § The interview will take around 8~10 minutes and will be via Microsoft Teams. § During the interview, the agenda involved a demonstration of the solver, followed by Q&A related to the code and report. |