A Declarative Specification Language for Learning Behavior Supervision

 < Day Day Up > 



As we discussed in the main project, in order to facilitate the application of the scaffolding theory, we developed a declarative specification language. An instructor can use a graphical user interface to design a specification program, which allows adaptive course contents and adaptive distance-learning tools. The specification program is an underlying engine, which performs a bookkeeping duty, for the instructor to use to analyze individual learning behavior via the activities of students on a virtual campus. Even though the specification language looks complicated, the programming is through a dialogue window. Thus, users will not need to know the syntax of such a language. However, the dialogue box, which was carefully designed, will allow different options. The specification program is generated after the dialogue box is completed. We discuss the syntax and semantics of the declarative specification language, and will illustrate the dialogue box interface.

The declarative specification language controls two types of navigation super- vision:

  • Course Content Navigation Supervision

  • Campus Navigation Supervision

By course content navigation, while an individual student navigates through Web-based course content, a different sequence will be guarded by an underlying intelligent agent. The agent follows the rules defined in the specification program. On the other hand, campus navigation is also controlled by an intelligent agent, with a restriction of which communication tool, or campus location, that an individual can use or visit. Campus navigation will be implemented via a set of globally defined campus regularities, which can be declared in the specification program. In our discussion, literal constants (i.e., specific text constants) are given in between double quotes. Typed names (i.e., the characteristic of a variable) are in capital letters. And, “*” represents 0 or multiple occurrences of an instance. On the top level, a declarative specification program will look like the following:

Variable Declaration

DataType var-name (*)

Rule Declaration

if Condition then Action (*)

State Declaration

Declare “Open Plaza” as StateDeclarationSection

Declare “Classroom” as StateDeclarationSection

Declare “Faculty Office” as StateDeclarationSection

Declare “Discussion Room” as StateDeclarationSection

Declare “Library” as StateDeclarationSection

The first section is for variable declaration. Variables include system default variables and user-defined variables. The former is defined to control communication tools or state transitions of a virtual campus state machine. User variables are declared by an instructor. An instructor can use some campus rules to control the navigation of students. The second section is for rule declaration, which is a number of if–then like statements. A list of predefined conditions and actions will be provided. The third section consists of the declarations of five states. These five states represent the control strategy of the five scenes defined in our virtual campus. Basically, each of these five sections of state declarations is the same as the upper portion of a specification program. The upper portion of a program contains a set of “global” declarations. That is, the variables and rules declared in the upper portion should be followed and can be used in any of the five states. However, rules or variables in a state cannot be used by another state. Thus, the formal syntax of the StateDeclarationSection is as follows:

  • StateDeclarationSection ==

    • Variable Declaration

      • DataType var-name (*)

    • Rule Declaration

      • if Condition then Action (*)

Note that, the sign “==” means “is defined as.” It is easy to see that the above syntax of a state is the same as the global portion. Thus, in our interface design, “global” means the global portion, while each state is indicated by the respective names.

There are a few types of declarations that define “what is the variable (or object).” The formal syntax of type declarations is as follows:

DataType ==

SCO

| MSG

| VAR

| SNAME

| CT

The symbol “|” means “alternative.” There are five types that can be used. Type SCO represents a sharable content object. Following the definition of SCORM, a SCO is a fundamental reusable object. In our system, we aim to follow the SCORM specification to design course contents. These content sections (i.e., SCOs) will be manipulated by the specification program. Thus, it is necessary for an instructor to define a few variables of SCOs such that some contents can be “dropped” or “loaded” upon demand. The “MSG” type allows an instructor to display a text message on the screen. Sometimes, a system administrator should issue a global warning, such as “Virtual campus will be temporarily shut down. Please back up your materials.” The “VAR” type allows an instructor to declare a variable that can hold a literal value (i.e., a simple ASCII string). Literal variables can be used as condition holders. With assignment statements (to be discussed) and conditional rules, the instructor can design action controls based on the inputs of students. The above three types of declarations are “external” types. That means that the above three types are used by the user(i.e., the instructor). The other two types (i.e., “SNAME” and “CT”) are “internal” types that can only be used by our system. There are a few variables predefined in our system of these two internal types. The type “SNAME” represents the name of states. Five state variables are defined:

StateName ==

“Open Plaza”

| “Classroom”

| “Faculty Office”

| “Discussion Room”

| “Library”

where “Open Plaza” is a log-in state (the initial state of the state machine). These five states are for the five campus scenes discussed at the beginning of this document. The type “CT” denotes communication tools. We define five types of communication tools in this environment:

CommunicationTool ==

“SharedWeb”

| “ChatRoom”

| “Whiteboard”

| “AudioConf”

| “VideoConf”

where “SharedWeb” is the 3D campus, displayed via the shared Web. “SharedWeb” is a default tool, as is the “ChatRoom” tool. This indicates that these two types of tools will be used all the time. However, the remaining three types of tools—white board, audioconference, and videoconference—are optional. And, the specification program can enable or disable the tools upon the design of an instructor.

The second portion of a program section contains a number of conditional rules. A conditional rule consists of a condition and an action. There are conditions the user can use, as follows:

Condition ==

SStatus eq “Incomplete”

| SStatus eq “Complete”

| Var eq “literal-value”

| OnAgentSpecificTrigger

The two reserved words “Incomplete” and “Complete” indicate the status of a state (there are five states in total). It is up to an instructor to define whether a student completed some actions in a state (such as finished a discussion session or turned in an assignment). The third declarative statement means that a variable holds a literal value. A literal value can be assigned by an assignment statement. The last kind of statement allows intelligent agents in our system to generate specific signals. These signals include the following:

OnAgentSpecificTrigger ==

PublicAnnouncement-SystemMaintenance

CampusAlert-CapacityFull

CampusAlert-YouAreTooTalktive

CampusAlert-...

StudentViolation-ClassAbsent

StudentViolation-AssignmentDue

StudentViolation-LibraryBookDue

StudentViolation-...

For instance, while the administrator is about to perform a system backup of student states and log files of the chat room, the PublicAnnouncement- SystemMaintenance signal is generated. Other signals (such as the limitation of the number of students that can simultaneously log-in to the system, whether a student is always hanging around and chats with others, etc.) can be defined accordingly. In addition, classroom activities (such as whether a student had already turned in the homework, or if a student missed a class) can be defined in a similar manner.

With the above conditions, a number of action controls need to be implemented to guard students while they are in the virtual campus or visiting a Web site. We define a list of actions below:

Action ==

Drop SCO

| Load SCO

| Enable CT

| Disable CT

| Show ControlButton

| Hide ControlButton

| SStatus = “Incomplete”

| SStatus = “Complete”

| UserInput Var

| Display MSG

| Transit StateName

| Transit “Exit”

In a Web site navigation sequence, the instructor can decide whether to drop or load a particular section of course content (i.e., SCO). In a similar manner, the instructor can decide if a communication tool should be disabled or enabled. There is a set of predefined “control buttons” for students to use. These control buttons can be hidden to forbid their usage. The “SStatus = “Incomplete”” is an assignment statement used to set the value of a state to incomplete (another for “complete”). The “UserInput Var” statement will bring up a dialogue box and ask students to enter a literal value, which is assigned to the variable “Var.” In some situations, a message should be displayed by the “Display MSG” statement. In a state machine, the most important function is the “Transit” statement. The statement changes the current state of a student. The last state, the “Exit” state, is used before the student logs out of the system.

As we mentioned before, there is a set of predefined control buttons in each scene in the virtual campus. A few buttons that can be used are defined below:

  • Virtual campus action buttons:

  • Beckon: Make a signal to other students

    • Handshake: Shake hands with another student

    • ExchangeMaterial: Exchange a file or a short private message with another student

    • SitDown: Sit down on a chair

    • StandUp: Stand up

    • PositiveCountenance: Indicate that the student is happy

    • NegativeCountenance: The student is not happy

    • NextScene: This button depends on where the student may be; it is a destination-dependent button

    • [Navigation]: The student can use keys and mouse moves to decide which direction to navigate

  • Action buttons to control communication tools:

    • InitiateWB: Start a white board

    • TerminateWB: End a white board

    • InitiateVC: Start a videoconference

    • TerminateVC: End a videoconference

    • InitiateAC: Start an audioconference

    • TerminateAC:: End an audioconference

    • AskQuestion: Ask a question to another student or the instructor; the button will start the recording

    • SaveAnswer: End the recording

These buttons are designed for all scenes in the virtual campus. In addition, there are specific buttons for each scene:

  • Buttons for Open Plaza

    • CallForAttention

  • Buttons for Classroom

    • RaiseHand

    • LowerHand

    • TurnInAssignment

  • Buttons for Faculty Office

    • TurnInAssignment

    • MakeAnAppointment

    • CancelAnAppointment

  • Buttons for Discussion Room

    • ReserveADiscussionRoom

    • CancelADiscussionRoom

  • Buttons for Library

  • SearchReference

  • ReserveABook

  • CheckOutABook

  • CheckInABook

The meanings of the above buttons are as clear as their names. The above buttons (common buttons and scene-specific buttons) control the status of each student. Thus, each student will be controlled by an individual state machine, while they are in the campus or watching a Web course. Based on the log of students, the system will analyze student behavior. We will discuss the analysis procedure in the following sections.

Before we end this section, we give an example of a specification program that can be generated by the graphical user interface:

Variable Declaration /* Global specification */

MSG GlobMsg “Please save your chat room log.”

MSG Msg1 “Please turn in your assignment.”

Rule Declaration /* Global specification */

if PublicAnnouncement-SystemMaintenance then Display GlobMsg

if PublicAnnouncement-SystemMaintenance then Transit “Exit”

is StudentViolation-AssignmentDue then Display Msg1

State Declaration

Declare “Open Plaza” as /* Local specification */

Variable Declaration

SCO CourseUnitA

CT Whiteboard

CT VideoConf

Rule Declaration

  • if StudentViolation-ClassAbsent then Load CourseUnitA

    if StudentViolation-ClassAbsent then Transit “Classroom”

    if CampusAlert-CapacityFull then Disable VideoConf

    if SStatus eq “Complete” then Enable Whiteboard

    if SStatus eq “Incomplete” then Display Msg2

Declare “Classroom” as ...

Declare “Faculty Office” ...

Declare “Discussion Room” ...

Declare “Library” as ...

As one can see, it is not easy for an instructor to type in the above example program. So, we designed a user-friendly interface that is shown in Figure 9. Because the amount of constants in our declarative specification language is limited to a small number, it is easy to incorporate all of the options for a particular instance by using a pull-down menu bar. However, some of the default values, such as the URL of a specific sharable content object (SCO), should be given in a text box by the designer. There are two internal data types: SNAME and CT. Five default states are designed, and five types of communication channels are implemented. The designer (i.e., the instructor) does not need to worry about these system-specific items. However, the designer should be aware of the concept of status inheritance, as all of the properties of the global state should be inherited by a local state (e.g., Library), while the student is in such state. Note that, for each student, the system keeps a transition state. In general, the state machine consists of five default states that comprise a nondeterministic finite state automata (NDFA). However, it is easy to use an algorithm to transfer a NDFA to a deterministic finite a declarative specification program.

click to expand
Figure 9: The graphical user interface of the declarative specification

While a student navigates through the virtual campus, a few items will be recorded:

  • The international states visited in the NDFA

  • The types of communication tools used, including the frequency and duration

  • The SCO (course units) visited, including frequency and duration

  • The values of state variables

  • The declarative rule fired by the action, which includes the following:

    • Completeness of state transitions

    • The Campus Alert types of agent triggers

    • The Student Violation types of agent triggers

    • The control buttons of virtual campus navigation pushed

In addition, chat room logs (discussed in Subproject 3) and question–answer logs (discussed in Subproject 2) will be recorded. A statistic summary will be generated after each session of navigation of each student (for an optional review by the student). This information can be used to find the popular locations (such as which class and which discussion room), popular communication channels, types of triggers fired by the system, and others.

The specification language defined so far is primitive. While we are implementing the project, additional rules and states may be introduced.

The virtual campus should have a few types of patrols. The concept is similar to the one used in a traditional university. For instance, an overdue periodical check-out is not returned, an assignment is not turned in, class is skipped, there are impolite discussions in a chat room session, an appointment with a professor (or a student) is missed, and so on. Virtual campus regularity will be designed. Yet, these are university policies. The actual definition of campus regularity is an open issue. However, as long as a rule is defined, there must be an underlying virtual patrol (as an intelligent agent program) running under the system. The virtual patrols can send an online message to a student (or instructor) or send an offline e-mail. More seriously, a virtual campus may prohibit the action of an individual. For instance, if a student always comes to the virtual university and just talks to friends, without attending any classes, the student may be restricted to access of the chat room. Regular violation will be summarized and analyzed. The outcome can be used as a reference for us when redesigning the virtual campus facility and policy.



 < Day Day Up > 



Designing Distributed Environments with Intelligent Software Agents
Designing Distributed Learning Environments with Intelligent Software Agents
ISBN: 1591405009
EAN: 2147483647
Year: 2003
Pages: 121

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net