towards a formal specification of course structures patrick frey supervisor: john hurst
Post on 20-Dec-2015
220 views
TRANSCRIPT
Towards a formal specification of course structures
Patrick Frey
Supervisor: John Hurst
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
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
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
3. Techniques Used
XML HTML Prolog
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
4. Dependencies Key issue: Capture dependencies
between units correctly. Prerequisites, corequisites, prohibitions No consistent notation:
– Natural language sentences.– Boolean expressions (wrong usage).
Problems (1) Ambiguities:
– LAW1100 OR LAW1101 and LAW1102.
Problems (1) Ambiguities:
– (LAW1100 OR LAW1101) and LAW1102.
Problems (1) Ambiguities:
– LAW1100 OR (LAW1101 and LAW1102).
Problems (1) Ambiguities:
– LAW1100 OR LAW1101 and LAW1102.
Bad readablility:– COMP2303 or [(COMP1400 or 1500) +
(COMP1300 or 2300 or IENV1802)].
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
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.
Choice construct (1) AND <choice selectiontype="exact" num="2">
<unit code="A"/> <unit code="B"/> </choice>
A and B
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
Choice construct (2)
XOR
<choice selectiontype="exact" num="1"> <unit code="A"/> <unit code="B"/> </choice> A xor B
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)
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)
Transformation to HTML Documentation
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)
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}
Choice construct: Conclusion
Prevention of ambiguities Precise In natural language style Consistent
– Generation of documentation: HTML– Generation of solutions: Prolog
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
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
Example: Unit documentation
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
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
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
6.a) Student Assistance System
Short-term course planning
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).
6.a) Student Assistance System
Long-term course planning
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).
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...
6.b) Enrolment check system
Based on the same type of Prolog queries.
Assist university staff with checking unit enrolments.
7. Conclusion XML well suited
– Check completeness & correctness– Transformations to different formats
Choice construct:– Resolves ambiguities, improves
consistency– Generate documentation and solutions
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)
Questions ...