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

Post on 20-Dec-2015

220 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

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 ...

top related