Grade/CPN is a tool for automatically grading several student assignments using CPN Tools. The tool allows teachers to create a generic base model with an interface intended to be filled out by students. Students fill in the missing parts and this can be tested against a formal specification and other formal requirements and assigned scores based on a configuration set up by the teacher. Grade/CPN provides an overview of the overall scores of all students as well as individual reports for each student with scores and reasons for each score.

Grade/CPN currently comprises 4 tools: the grader, the central component which grades assignments against a configuration and a base model, a signer, which cryptographically ties a base model to individual student ids to prevent cheating, a tester which makes building and testing formulas for describing dynamic properties in out custom temporal logic, BTL, easy, and a student tester, which allows students to run a simplified version of the grader against (a subset of) the specification used to grade the models to catch errors early.

Grade/CPN builds on our Access/CPN library. Grade/CPN runs on Mac OS X, Windows, and Linux.

For now, refer to this blog post for a brief overview of Grade/CPN. In the future, we shall add a proper manual here.

The short version is that you download the entire suite from the Download-page and double-click on the appropriate JAR file to start. Make sure you have Java 6 or newer installed. The BTL Tester can be started without any configuration on any cpn file for testing, the others require a configuration file. There is a simple sample configuration file in our repository. We shall add more comprehensive documentation about the configuration format in the future. The main Grader and the Signer have issues when you have to select a directory on any platform but Mac OS X. For now, create the desired directory, select a file in that directory, and remove it from the text-field afterwards.

Grader

See the above blog post.

BTL Tester

See the above blog post.

Student Tester

Signer

See the above blog post.