KNOWLEDGE MODELING FOR PROGRAM PLANNING Presented by Fuhua Lin Authors: Fuhua Lin Qin Li Dunwei Wen Alberta, Canada For ICEB 2005, HONGKONG
Outline Introduction Related work Curriculum Petri Nets Petri Nets Markup Language Web-based Course Dependency Editor Conclusions
Program Planning for Student Advising is an interactive decision-making process assist learners in the development of meaningful learning plans are compatible with their career/life goals maximize educational potential through communication and information exchanges with an educator.
Adaptive Program Planning able to assist students to generate a personalized program study plans possessing knowledge about the domain, program structure, and learners. One of the important tasks: Model, represent, and maintain the complex logical relationships among the courses in the program. There is little effort to formalize the curriculum knowledge representation and manipulation (Zhou, et al., 1996)
Petri Nets Based Approach Petri nets (Petri, 1962) based formal model of program structure knowledge modeling XML-based representation Web-based editor for constructing and maintaining curriculum models.
Related Work Computer-Aided Student Advising There have been some standalone expert systems or knowledge-based systems to provide some of the functions of a faculty advisor to students. Issues how to acquire and incorporate “real-life” expertise? how to interface to other systems in the university such as online registration system, academic and student databases? Most of the student advising systems are research prototypes that focus on only one or two components in the systems, this obscures the need for coordination among the components.
Related Work (continued) Knowledge modeling using Petri nets validating knowledge bases (Nazareth, 1993) ; diagnostic knowledge representation and reasoning (Portinale, 1997) determining requirements (Perdu and Levis, 1993) representing knowledge in discrete event systems (Muro-Medrano, et al., 1998). flexible operation planning (Lee & Jung,1994)
STM, Graph, OPN, Extended PN Activity p1 t1 t6 t2 t4 p4 S2 p2 t4 t1 S1 t3 t2 p2 S3 t5 p5 Model Capability State Transition Machine Marked Graph Ordinary Petri Nets Curricular Petri Nets Choices Yes No Synchronization Concurrency Formalism Curriculum Knowledge Representation Low High
Curriculum Petri Nets COMP501 Ready Place The dynamic behavior of a P/T net is determined by rules concerning the enabling and firing of transitions. When the arcs connecting a transition to its input places have a weight of one, the transition is enabled if all of its input places are marked with at least one token. Only an enabled transition may fire. When it does, one token on each of its input places is removed and one token is created on each of its output places. It is possible, however, for an arc to have a weight greater than one. In this case, if the arc is an input arc then the transition is only enabled if the number of tokens on the place to which it is connected is equal to or greater than its weight. When then transition is fired, the number of tokens removed on the place is equal to the arc’s weight. If it is an output arc, firing the transition creates the number of tokens on the output place equivalent to the arc’s weight. The numerical values of each of the and functions correspond to the weights of the arcs connecting places and transitions. By convention arc weights of 1 are not shown explicitly. Ready Place
Concurrency COMP610 p1 COMP501 p1 COMP667 p1 Done Place
Co-requisites-Strict Synchronization COMP314 p5 COMP200 p1 COMP314_315 p6 p2 COMP315 {m, course 1, course 2, … course n} If m=-2, the course is a co-requisite of the courses listed e.g. for course COMP314, another course COMP315 is its co-requisites. it is value in PNML is -2, COMP315. In this case, a virtual course is created internally.
Choices/Exclusion {-1, course1, course2, …, course n} COMP668 p1 e.g. {-1, COMP697} COMP696 COMP610 p2 COMP697 p4 COMP695 p3 Choice Place
Firing Rules C1 and C2 C3 COMP610 p3 COMP697 Conditional Synchronization! COMP695 p4 C1 or C2 C3 COMP501 p3 COMP610 COMP601 p4
Extending the Standard Firing Rules To represent curriculum Petri nets using PNML, we do not have any element for the firing rules in the PNML, because we do not use a standard firing rule to fire the course Petri nets automatically. Instead, we set up a special business rule that implemented to fire the transitions of curriculum Petri nets.
Boolean Functions Represented Firing Rules n OUT of m. e.g. {2, C1, C2, C3}; COMP501 p3 COMP689 COMP601 p4 COMP604 p5
Firing Rules {n1 OUT of m1} and {n2 OUT of m2} and … e.g. {1, C1, C2} and {1, C3, C4}; COMP501 p1 COMP601 p2 COMP617 COMP602 p3 COMP603 p4
Petri Net Markup Language (PNML) an XML-based standard format for the interchange of Petri nets. The main elements in the PNML file for a curriculum are Transition, Place, Arc.
PNML-represented Curriculum Model READYCOMP501 COMP501 <?xml version="1.0" encoding="ISO-8859-1"?> <pnml> <net id="n1" type="BlackTokenNet"> <name>unnamed</name> <transition id="COMP501"> … <place id="READYCOMP501"> <arc id="a1" source="READYCOMP501" target="COMP501"> </net> </pnml>
Transition Element in PNML-represented Curriculum Model READYCOMP501 COMP501 <transition id="COMP501"> <name> <text> Java Programming </text> <value>1, READYCOMP501</value> </name> </transition>
Place Element in PNML-represented Curriculum Model READYCOMP501 COMP501 <place id=“READYCOMP501"> <marking> <value>1</value> </marking> <name> <value> READYCOMP501 </value> </name> <initialMarking> </initialMarking> </place>
Arc Element PNML-represented Curriculum Model READYCOMP501 COMP501 <arc id=“a1“ source =“READYCOMP501” target=“COMP501”> <inscription> <direction>input</direction> <value>1 </value> </inscription> </transition> </arc>
<value> in a course transition in PNML … <value> m1, course 1, course 2, …, course n1; m2, course 1, course 2, …, course n2; ml, course 1, course 2, …, course nl; </transition> Notes: If mi=0, no pre-requisites; If mi=-1,the current course and the courses listed are mutual-exclusive; If mi>0, mi courses must have been taken to take the course If mi=-2, the course is a co-requisite of the courses listed. In this course a virtual course will be created.
Manipulation of the Knowledge Add(CPN, c) Delete(CPN, c) Modify(CPN, c) Skip(CPN, c) Select(CPN, c) Check(CPN)
WEB-BASED PROGRAM KNOWLEDGE EDITOR
Implementation of the Knowledge Editor Based on open source package PNK (Java-based Petri Net Kernel) Save and publish files in PNML (Petri Net Markup Language) for interoperability. Interacting with users Java/JSP based HTML Webpage Dialog
Application Example: eAdvisor
… University 2 University N Learner UI Learner Information Web Service Notification Web Service UI notify update Advisor/Registrar /Administrator Learner Information Web Service request delegate Scheduling Agent DB Monitoring Agent MSc IS Ontology Web Service Learner Data Base UI monitor Brokering Services delegate/ notify request/respond Course Schedule Web Service Course Schedule Web Service Program/Course Data Base Ontology Course Schedule Program/ … University 2 University N Program/Course Data Base
Program Structure Represented by Petri Nets mandatory 1 5 COMP695 p11 COMP636 1 p20 p9 optional m 1 COMP605 p12 p28 p10 COMP617 p21 1 m 1 1 COMP602 p13 1 1 COMP667 p22 1 COMP696 m COMP603 p14 1 1 1 1 m COMP648 p23 p1 COMP504 p5 1 COMP697 m COMP607 p15 1 1 1 p16 COMP660 p24 p29 1 m COMP610 m p2 COMP503 p6 1 COMP689 p25 1 COMP698 1 m 1 1 p30 p3 COMP501 p7 1 1 p18 COMP641 p26 m COMP699 m p4 COMP601 p8 COMP604 p17 1 p19 COMP674 p27 p31 Foundation Core Career Track Electives Graduation Project/Thesis
Interface of eAdvisor
Conclusions For a given program model, the extended Petri nets model is able to accurately represent the program structure dynamically reason about “ready-to-take” courses to be used by the program planning agent
Future Work Verification (model-checking) module of curriculum Petri nets based program models Web Services for Accessing PNML-represented program models. Modeling concept ontology for developing intelligent e-learning systems.