Summer Rules Training

From RuleML Wiki
(Redirected from SummerRulesTraining)
Jump to: navigation, search

1 Summer Rules Training

1.1 2006

While not officially "Summer Rules Training", David trained Tshering in XML Schema etc. in July and August of 2006. For the first 4 weeks, there was 5 hours of training per week usually divided up between Tuesday and Friday.

1.1.1 Week 1

  • XML
    • used the W3Schools.com XML tutorial, including the final quiz (for fun). Covered everything except:
      • XML Data Island
      • XML Parser
      • XML Encoding
      • XML Server
      • XML Application
      • XML HTTP Request
      • XML Save Data
      • XML Behaviors
  • XML Schema
    • used the W3Schools.com XSD tutorial Focused on the following (useful to know even if we only use a subset for RuleML):
      • Simple types
      • Complex types

1.1.2 Week 2

After introducing Tshering to the NRC "cookie break" custom (actually, it was a cake break), we interactively created an XML file and corresponding XML Schema about breaks: http://www.ruleml.org/temp/tshering/break.xml and http://www.ruleml.org/temp/tshering/TsheringML.xsd

This example gave us a chance to get used to the typical edit-upload-validate cycle (using Notepad++, FileZilla and XSV). We also experimented with fixed attribute values (for @kind) and XSD built-ins (for <Date>).

Tshering then went ahead and came up with her own ConferenceML example without any help: http://www.ruleml.org/temp/tshering/Conference.xml and http://www.ruleml.org/temp/tshering/conferenceML.xsd

We also made http://www.ruleml.org/temp/tshering/TsheringML2.xsd to explore the use of <redefine> (adding <Organizer> to <Break>) and also had time to quickly try doing all of this with local definitions instead of global ones (http://www.ruleml.org/temp/tshering/TsheringML-local.xsd).

1.1.3 Week 3

Tshering was interested in learning more about XSL(T), so we did some experimentation: http://www.ruleml.org/temp/tshering/Calendar.xml and http://www.ruleml.org/temp/tshering/simple.xsl

There was a namespace issue for a while, but eventually we figured it out.

1.1.4 Week 4

  • progress report
  • practice writing RuleML (from English)

See http://www.ruleml.org/temp/tshering/tshering.ruleml

    • "If X is human then X is mortal."
    • "If John does not eat and it is not the case that somebody feeds him then John is hungry."
    • "Every honest student who does not procrastinate receives a good mark and always passes the course easily."
  • reasoning with written RuleML using OO jDREW (TD)

1.1.5 Week 5

(After a one week break.)

1.2 2005

Summer Rules Training (SRT) took place during the summer of 2005 (June 22 - July 15). The goal was to share "know how" about RuleML etc. with more students by offering 'watch-the-expert', 'learning-by-doing' training in two primary areas:

  • Java Interpreters for RuleML (OO jDREW) - Marcel
  • XML Schemas for RuleML - David

An invite was sent out to the UNB CS graduate student mailing list (gradcs-l AT unb.ca) the week before.

After the first plenary session, we decided to focus on one topic (OO jDREW or XML Schemas) for a week (i.e. Thursday and Monday) and then switch topics after the next Wednesday plenary session. We eventually "slowed down" to only two sessions per week. The training sessions were generally an hour and a half long.

Note: the exact sessions may not have been as follows; the following has been reconstructed based on memory and old emails.

1.2.1 XML Schemas for RuleML

1.2.1.1 Session 1

Outline of the session:

1.2.1.2 Session 2

This session was much more hands-on, with students even using XML Spy:

  • interactive modifications of the RuleML XSDs

A document titled ["How to Add New Elements and Attributes to RuleML XSDs"] was prepared as a handout for this session.

We encountered the technical difficulty of not being able to install any software (without administrator rights) to be able to test upload files to test them, but we solved this by using a standalone FTP program called WinSCP that didn't need to be installed.

1.2.2 Session 3

We merged <opr>, <opc> and <opf> (found in <Atom>, <Cterm> and <Equal>, respectively) into context-sensitive <op>.

1.2.3 Session 4

We tackled creating a new sublanguage (Nafhornlog) as follows:


1.2.4 Java Interpreters for RuleML

1.2.4.1 Session 1

Looking at the core Bottom-Up OO jDREW engine.

Not sure exactly what was covered, but here are some relevant links sent by Harold:

1.2.4.2 Session 2

To get a flavour of RuleML in the real-world, the use case NBBizKB (http://www.ruleml.org/usecases/nbbizkb) was explored using OO jDREW.

Also, more features of OO jDREW were presented, e.g. how to use OO jDREW Top-Down.

1.2.4.3 Session 3

On Monday, July 11th, 10:30am there will be a special training session on ANTLR (http://www.antlr.org) and its use for the POSL grammar (appendix A of http://www.ruleml.org/posl/poslintweb.pdf).

1.2.4.4 Session 4

Covered negation as failure in OO jDREW.

Also, added support for the element (from 0.9) to OO jDREW.