towards a formal specification of course structures patrick frey supervisor: john hurst

37
Towards a formal specification of course structures Patrick Frey Supervisor: John Hurst

Post on 20-Dec-2015

220 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Towards a formal specification of course structures Patrick Frey Supervisor: John Hurst

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

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

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

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

3. Techniques Used

XML HTML Prolog

Page 6: 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

Page 7: Towards a formal specification of course structures Patrick Frey Supervisor: John Hurst

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

Problems (1) Ambiguities:

– LAW1100 OR LAW1101 and LAW1102.

Page 9: Towards a formal specification of course structures Patrick Frey Supervisor: John Hurst

Problems (1) Ambiguities:

– (LAW1100 OR LAW1101) and LAW1102.

Page 10: Towards a formal specification of course structures Patrick Frey Supervisor: John Hurst

Problems (1) Ambiguities:

– LAW1100 OR (LAW1101 and LAW1102).

Page 11: Towards a formal specification of course structures Patrick Frey Supervisor: John Hurst

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

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

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

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

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

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

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

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

Transformation to HTML Documentation

Page 20: Towards a formal specification of course structures Patrick Frey Supervisor: John Hurst

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

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

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

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

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

Example: Unit documentation

Page 26: Towards a formal specification of course structures Patrick Frey Supervisor: John Hurst

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

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

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

6.a) Student Assistance System

Short-term course planning

Page 30: Towards a formal specification of course structures Patrick Frey Supervisor: John Hurst

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

6.a) Student Assistance System

Long-term course planning

Page 32: Towards a formal specification of course structures Patrick Frey Supervisor: John Hurst

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

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

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

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

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

Questions ...