![Page 1: Towards a formal specification of course structures Patrick Frey Supervisor: John Hurst](https://reader035.vdocuments.site/reader035/viewer/2022062421/56649d415503460f94a1ca67/html5/thumbnails/1.jpg)
Towards a formal specification of course structures
Patrick Frey
Supervisor: John Hurst
![Page 2: Towards a formal specification of course structures Patrick Frey Supervisor: John Hurst](https://reader035.vdocuments.site/reader035/viewer/2022062421/56649d415503460f94a1ca67/html5/thumbnails/2.jpg)
Overview1. Background & Motivation2. Aims3. Techniques used4. Dependencies5. Formal specifications
a) Unit structuresb) Course structures
6. New Application areasa) Student Assistance Systemb) Enrolment Check System
7. Conclusion
![Page 3: Towards a formal specification of course structures Patrick Frey Supervisor: John Hurst](https://reader035.vdocuments.site/reader035/viewer/2022062421/56649d415503460f94a1ca67/html5/thumbnails/3.jpg)
1. Background & Motivation
global:– Several systems with unit / course data
model– Different purposes– Open and disclosed data models
local:– Improvement of quality of unit and course
documentation
![Page 4: Towards a formal specification of course structures Patrick Frey Supervisor: John Hurst](https://reader035.vdocuments.site/reader035/viewer/2022062421/56649d415503460f94a1ca67/html5/thumbnails/4.jpg)
2. Aims Develop a formal specification of course and unit
structures (Monash University)– Open data model– Multi-purpose
Enhance consistency and improve quality of information
Show usefulness for current application area:– Generate documentation (HTML)
Future applications:– Student Assistance System– Enrolment Check System
![Page 5: Towards a formal specification of course structures Patrick Frey Supervisor: John Hurst](https://reader035.vdocuments.site/reader035/viewer/2022062421/56649d415503460f94a1ca67/html5/thumbnails/5.jpg)
3. Techniques Used
XML HTML Prolog
![Page 6: Towards a formal specification of course structures Patrick Frey Supervisor: John Hurst](https://reader035.vdocuments.site/reader035/viewer/2022062421/56649d415503460f94a1ca67/html5/thumbnails/6.jpg)
Overview1. Background & Motivation2. Aims3. Techniques used4. Dependencies5. Formal specifications
a) Unit structuresb) Course structures
6. New Application areasa) Student Assistance Systemb) Enrolment Check System
7. Conclusion
![Page 7: Towards a formal specification of course structures Patrick Frey Supervisor: John Hurst](https://reader035.vdocuments.site/reader035/viewer/2022062421/56649d415503460f94a1ca67/html5/thumbnails/7.jpg)
4. Dependencies Key issue: Capture dependencies
between units correctly. Prerequisites, corequisites, prohibitions No consistent notation:
– Natural language sentences.– Boolean expressions (wrong usage).
![Page 8: Towards a formal specification of course structures Patrick Frey Supervisor: John Hurst](https://reader035.vdocuments.site/reader035/viewer/2022062421/56649d415503460f94a1ca67/html5/thumbnails/8.jpg)
Problems (1) Ambiguities:
– LAW1100 OR LAW1101 and LAW1102.
![Page 9: Towards a formal specification of course structures Patrick Frey Supervisor: John Hurst](https://reader035.vdocuments.site/reader035/viewer/2022062421/56649d415503460f94a1ca67/html5/thumbnails/9.jpg)
Problems (1) Ambiguities:
– (LAW1100 OR LAW1101) and LAW1102.
![Page 10: Towards a formal specification of course structures Patrick Frey Supervisor: John Hurst](https://reader035.vdocuments.site/reader035/viewer/2022062421/56649d415503460f94a1ca67/html5/thumbnails/10.jpg)
Problems (1) Ambiguities:
– LAW1100 OR (LAW1101 and LAW1102).
![Page 11: Towards a formal specification of course structures Patrick Frey Supervisor: John Hurst](https://reader035.vdocuments.site/reader035/viewer/2022062421/56649d415503460f94a1ca67/html5/thumbnails/11.jpg)
Problems (1) Ambiguities:
– LAW1100 OR LAW1101 and LAW1102.
Bad readablility:– COMP2303 or [(COMP1400 or 1500) +
(COMP1300 or 2300 or IENV1802)].
![Page 12: Towards a formal specification of course structures Patrick Frey Supervisor: John Hurst](https://reader035.vdocuments.site/reader035/viewer/2022062421/56649d415503460f94a1ca67/html5/thumbnails/12.jpg)
Problems (2)
Cannot clearly distinguish between natural language statements and simple boolean expressions:– MTH1020 or MTH1030.
Tradeoff between natural language or and boolean operators or and xor.– Inclusive or vs. Exclusive or
![Page 13: Towards a formal specification of course structures Patrick Frey Supervisor: John Hurst](https://reader035.vdocuments.site/reader035/viewer/2022062421/56649d415503460f94a1ca67/html5/thumbnails/13.jpg)
Solution Fundamental concept: choice. Approach: Model choice explicitly. Background:
– Combinatorics– Withdrawing elements from a set.
Required specifications:– Set of elements to choose from.– How the choice is to be performed.
![Page 14: Towards a formal specification of course structures Patrick Frey Supervisor: John Hurst](https://reader035.vdocuments.site/reader035/viewer/2022062421/56649d415503460f94a1ca67/html5/thumbnails/14.jpg)
Choice construct (1) AND <choice selectiontype="exact" num="2">
<unit code="A"/> <unit code="B"/> </choice>
A and B
![Page 15: Towards a formal specification of course structures Patrick Frey Supervisor: John Hurst](https://reader035.vdocuments.site/reader035/viewer/2022062421/56649d415503460f94a1ca67/html5/thumbnails/15.jpg)
Choice construct (1) AND
OR <choice selectiontype="at least" num="1"> <unit code="A"/> <unit code="B"/> </choice>
<choice selectiontype="exact" num="2"> <unit code="A"/> <unit code="B"/> </choice>
A and B
A or B
![Page 16: Towards a formal specification of course structures Patrick Frey Supervisor: John Hurst](https://reader035.vdocuments.site/reader035/viewer/2022062421/56649d415503460f94a1ca67/html5/thumbnails/16.jpg)
Choice construct (2)
XOR
<choice selectiontype="exact" num="1"> <unit code="A"/> <unit code="B"/> </choice> A xor B
![Page 17: Towards a formal specification of course structures Patrick Frey Supervisor: John Hurst](https://reader035.vdocuments.site/reader035/viewer/2022062421/56649d415503460f94a1ca67/html5/thumbnails/17.jpg)
Choice construct (2)
XOR
<choice selectiontype="exact" num="1"> <unit code="A"/> <unit code="B"/> </choice> A xor B
Note: "Choose exactly 1 out of 3 units: A,B,C"
(A xor B xor C)
![Page 18: Towards a formal specification of course structures Patrick Frey Supervisor: John Hurst](https://reader035.vdocuments.site/reader035/viewer/2022062421/56649d415503460f94a1ca67/html5/thumbnails/18.jpg)
Choice construct (3) Complex choices: Nesting <choice selectiontype="exact" num="2"> <choice selectiontype="at least" num="1"> <unit code="A"/> <unit code="B"/> </choice> <choice selectiontype="at least" num="1"> <unit code="C"/> <unit code="D"/> </choice> </choice> (A or B) and (C or D)
![Page 19: Towards a formal specification of course structures Patrick Frey Supervisor: John Hurst](https://reader035.vdocuments.site/reader035/viewer/2022062421/56649d415503460f94a1ca67/html5/thumbnails/19.jpg)
Transformation to HTML Documentation
![Page 20: Towards a formal specification of course structures Patrick Frey Supervisor: John Hurst](https://reader035.vdocuments.site/reader035/viewer/2022062421/56649d415503460f94a1ca67/html5/thumbnails/20.jpg)
Transformation to Prolog facts Evaluation <choice selectiontype="at least" num="1">
<unit id="A"/>
<unit id="B"/>
</choice> XSLT choice([unit(a),unit(b)],1,at_least)
![Page 21: Towards a formal specification of course structures Patrick Frey Supervisor: John Hurst](https://reader035.vdocuments.site/reader035/viewer/2022062421/56649d415503460f94a1ca67/html5/thumbnails/21.jpg)
Transformation to Prolog facts Purpose: Evaluation
Prolog program generates solutions:
<choice selectiontype="at least" num="1">
<unit id="A"/>
<unit id="B"/>
</choice> XSLT choice([unit(a),unit(b)],1,at_least)
Solution: {a,b}
Solution: {a}
Solution: {b}
![Page 22: Towards a formal specification of course structures Patrick Frey Supervisor: John Hurst](https://reader035.vdocuments.site/reader035/viewer/2022062421/56649d415503460f94a1ca67/html5/thumbnails/22.jpg)
Choice construct: Conclusion
Prevention of ambiguities Precise In natural language style Consistent
– Generation of documentation: HTML– Generation of solutions: Prolog
![Page 23: Towards a formal specification of course structures Patrick Frey Supervisor: John Hurst](https://reader035.vdocuments.site/reader035/viewer/2022062421/56649d415503460f94a1ca67/html5/thumbnails/23.jpg)
Overview1. Background & Motivation2. Aims3. Techniques used4. Dependencies5. Formal specifications
a) Unit structuresb) Course structures
6. New Application areasa) Student Assistance Systemb) Enrolment Check System
7. Conclusion
![Page 24: Towards a formal specification of course structures Patrick Frey Supervisor: John Hurst](https://reader035.vdocuments.site/reader035/viewer/2022062421/56649d415503460f94a1ca67/html5/thumbnails/24.jpg)
5.a) Units structures
Most entries: Adopted from unit description– Name, Credit points, Objectives, ...
Prerequisites, Corequisites, Prohibitions– Extended choice construct– New restrictions– New basic elements
![Page 25: Towards a formal specification of course structures Patrick Frey Supervisor: John Hurst](https://reader035.vdocuments.site/reader035/viewer/2022062421/56649d415503460f94a1ca67/html5/thumbnails/25.jpg)
Example: Unit documentation
![Page 26: Towards a formal specification of course structures Patrick Frey Supervisor: John Hurst](https://reader035.vdocuments.site/reader035/viewer/2022062421/56649d415503460f94a1ca67/html5/thumbnails/26.jpg)
Overview1. Background & Motivation2. Aims3. Techniques used4. Formal specifications
a) Unit structuresb) Course structures
5. New Application areasa) Student Assistance Systemb) Enrolment Check System
6. Conclusion
![Page 27: Towards a formal specification of course structures Patrick Frey Supervisor: John Hurst](https://reader035.vdocuments.site/reader035/viewer/2022062421/56649d415503460f94a1ca67/html5/thumbnails/27.jpg)
5.b) Course structures
Extended choice construct useful for– Sequences
• Only difference: terminology
– Course maps• Elective units
– General course rules• For each elective unit, one unit must be chosen• All compulsory units must be chosen
![Page 28: Towards a formal specification of course structures Patrick Frey Supervisor: John Hurst](https://reader035.vdocuments.site/reader035/viewer/2022062421/56649d415503460f94a1ca67/html5/thumbnails/28.jpg)
Overview1. Background & Motivation2. Aims3. Techniques used4. Dependencies5. Formal specifications
a) Unit structuresb) Course structures
6. New Application areasa) Student Assistance Systemb) Enrolment Check System
7. Conclusion
![Page 29: Towards a formal specification of course structures Patrick Frey Supervisor: John Hurst](https://reader035.vdocuments.site/reader035/viewer/2022062421/56649d415503460f94a1ca67/html5/thumbnails/29.jpg)
6.a) Student Assistance System
Short-term course planning
![Page 30: Towards a formal specification of course structures Patrick Frey Supervisor: John Hurst](https://reader035.vdocuments.site/reader035/viewer/2022062421/56649d415503460f94a1ca67/html5/thumbnails/30.jpg)
6.a) Student Assistance System
Short-term course planning
Prolog program: Direct dependencies
?- findprereq(unit(MATH3),1).
Unit MATH2 is a direct prerequisite of unit MATH3 (dependency depth 1).
![Page 31: Towards a formal specification of course structures Patrick Frey Supervisor: John Hurst](https://reader035.vdocuments.site/reader035/viewer/2022062421/56649d415503460f94a1ca67/html5/thumbnails/31.jpg)
6.a) Student Assistance System
Long-term course planning
![Page 32: Towards a formal specification of course structures Patrick Frey Supervisor: John Hurst](https://reader035.vdocuments.site/reader035/viewer/2022062421/56649d415503460f94a1ca67/html5/thumbnails/32.jpg)
6.a) Student Assistance System
Long-term course planning
Prolog program: Indirect dependencies
?- findprereq(unit(MATH3),_).
Unit MATH2 is a direct prerequisite of unit MATH3 (dependency depth 1).
Unit MATH1 is an indirect prerequisite of unit MATH3 (dependency depth 2).
![Page 33: Towards a formal specification of course structures Patrick Frey Supervisor: John Hurst](https://reader035.vdocuments.site/reader035/viewer/2022062421/56649d415503460f94a1ca67/html5/thumbnails/33.jpg)
6.a) Student Assistance System
Suggest units.
?- can-enrol(X).You can enrol in unit CSE3322.You can enrol in unit CSE3316.You can enrol in unit CSE3324...
![Page 34: Towards a formal specification of course structures Patrick Frey Supervisor: John Hurst](https://reader035.vdocuments.site/reader035/viewer/2022062421/56649d415503460f94a1ca67/html5/thumbnails/34.jpg)
6.b) Enrolment check system
Based on the same type of Prolog queries.
Assist university staff with checking unit enrolments.
![Page 35: Towards a formal specification of course structures Patrick Frey Supervisor: John Hurst](https://reader035.vdocuments.site/reader035/viewer/2022062421/56649d415503460f94a1ca67/html5/thumbnails/35.jpg)
7. Conclusion XML well suited
– Check completeness & correctness– Transformations to different formats
Choice construct:– Resolves ambiguities, improves
consistency– Generate documentation and solutions
![Page 36: Towards a formal specification of course structures Patrick Frey Supervisor: John Hurst](https://reader035.vdocuments.site/reader035/viewer/2022062421/56649d415503460f94a1ca67/html5/thumbnails/36.jpg)
Future research & work Develop global data model to integrate existing
applications. Furtherly enhance quality of information. Build a working Student Assistance System /
Enrolment Check System– GUI, more queries
Relevance: – Other Australian universities– Student Assistance Systems do exist at other
universities (e.g., SASy, University of Ulm)
![Page 37: Towards a formal specification of course structures Patrick Frey Supervisor: John Hurst](https://reader035.vdocuments.site/reader035/viewer/2022062421/56649d415503460f94a1ca67/html5/thumbnails/37.jpg)
Questions ...