First assignment for MSc students 2013-14
There is an additional assignment for the MSc students studying CS405. This assignment is worth 10% of the total credit for the module: the rest of the credit to be made up by the principal coursework exercise (a submission to WEB-EM-10 worth 50%) and the written examination in Term 3 (worth 40%). The purpose of the assignment is to help the MSc students in preparing their submissions for WEB-EM-10. Though MEng students are not required to carry out this assignment, they are also encouraged to study the two construals introduced in the assignment, possibly in collaboration with the MSc students. There are several reasons for this! Firstly, these construals illustrate many key issues relating to EM and software development that will be the subject of the first and only compulsory question on the CS405 exam paper in June 2014. Secondly, studying these construals will be helpful where planning your submissions to WEB-EM-10 is concerned. Thirdly, you will be better placed to appreciate the presentation to be given by the MSc students in Week 6 (see below), which will be one of the best opportunities to for us all (students, tutors and staff) to explore some relatively complex EM construals together.
About the assignment
The assignment is an exercise in construal comprehension and exposition to be carried out as teamwork involving all MSc students. (Registration for the module is yet to be finalised but we anticipate at this stage [registrations as of 21/10/2013] that there will be five students viz. Jeffrey Downie, Eyimofe Prest, Theerayut Sueverachai, Hamish Todd and Yibo Zhao.) As a team, you will be studying two existing construals developed in EDEN, both of which will be presented to you in the Empirical Modelling presentation environment ("EMPE") together with a short introductory slide.
The two construals - pjawnsMartin2003 and pjawnsBowen2003 - were developed by John Martin and Adam Bowen as coursework for CS405 in 2003. They relate to the little known game of Pjawns. The rules of Pjawns are set out here. Both construals have been developed to the point where a computer player has been implemented. Reports by the authors on their models are available within these subdirectories. To access these construals you execute the run.eden files in the prespjawnsMartin2003 and prespjawnsBowen2003 subdirectories within the UsingEMPE directory that featured in Lab 2A and Lab 2B. For instance, to load Martin's Pjawns construal use:
cd /dcs/emp/empublic/teaching/cs405-2011/UsingEMPE/prespjawnsMartin2003/ tkeden run.eden
Your task will have three components:
(a) to develop a comprehensive understanding of the construals by identifying and documenting the observables, dependencies and agency in these two models of Pjawns
(b) to compare and contrast the two construals with reference to the following five key issues:
i. the way in which the board and pieces are represented
ii. the mechanisms used to implement turn-taking
iii. the way in which the game state is supported visually
iv. the implementation of the rules
v. the potential for developing an AI player.
(c) to explain and demonstrate your findings in a series of individual presentations based on these construals that make use of the EMPE.
Your individual presentations (each approximately 10 minutes in length) will together make up a 50 minute oral presentation
to be presented from 4pm to 5pm in
CS1.04 on Thursday of Week 6 (7th November). Your mark will be based on the overall team mark and your individual practical contribution and presentation. You will
make a Tabula submission email a copy of the resources you prepare for your individual presentation to email@example.com by 12 noon on Wednesday 6th November .
Additional information and resources
In order to tackle the comprehension exercise, you will first need to develop a basic understanding of the principal EDEN notations (Eden, Scout and Donald) covered in the forthcoming EM labs and lectures. You will also be given additional documentation, guidance and specific tools to assist you in your task. The first of these is the "symbol info" tool that will help you to extract and record observables in the given models (as introduced in Lab 2B). [Note that in order to use the symbol info tool to record observables and dependencies most conveniently you will need to be working in a directory in which you have write permission.] Since not all the features you will encounter in the models are covered explicitly in the lab sessions, and some are not prominently documented, you should keep in close touch with the module tutors and organisers by contacting them in person or posting your questions on the module Forum.
Further guidance on various aspects of your exercise are given below - more will be given informally in later sessions and via the module Forum. Lab 2B is a useful guide to how an environment for construal can be effectively configured.
Using the Empirical Modelling Presentation Environment (EMPE): Details of how to use the EMPE are available from this link on the module website. As explained there, you will find many examples of the use of the EMPE in the public directory: /dcs/emp/empublic/teaching/cs405/UsingEMPE. These include stubs for the presentations that you have to develop in connection with your comprehension exercise. Each construal has an individual subdirectory in which you will find a run.eden file that when executed using tkeden will generate a stub for your EMPE presentation. In each presentation you will find 9 slides preceding the opening slide: these give you general guidance on how to use the EMPE which you should study carefully. Note in particular the crucial role of the 'Copy definitions' button in recording your work so that it persists after the EMPE environment is closed. You should also be aware of the benefits of the 'Show tkeden' feature which gives access to the real Eden Input Window and the output window in which the results of queries can be inspected. (It is not advisable to enter complex input into the dummy Input Window in the LH panel of the EMPE.)
Additional resources: Each of the construals presented in the UsingEMPE directory has a different character, and is best understood in conjunction with additional resources (these include specialised documentation of models and notations, EM papers and links to related models etc). Details of such resources are given here. Not all the features illustrated in the construals within UsingEMPE are relevant to studying the Pjawns construals, but many of them may be topical in connection with your WEB-EM-10 submission.
The symbol info tool: Within the /dcs/emp/empublic/teaching/cs405/UsingEMPE directory, you can find the syminfoBeynon2011 subdirectory. Executing the run.eden file within this subdirectory using tkeden launches a basic tool that can be used to explore and record observables within any model that has been loaded into the same environment. Instructions on how to use this tool are given in README2013.html within this subdirectory. (For convenience, they are also presented here.)
Identifying observables: In order to use the symbol info tool effectively, you need to be able to identify observables in your construal. Once some initial observables have been recorded, you can expect to find others by consulting their definitions, but it is also helpful to use constructs such as ?v; in Eden to find out how the observable v is defined and what other observables depend upon it. You can also study a construal by viewing the Eden / Donald / Scout definitions via the View menu on the EDEN Input Window, and by inspecting the History of your interaction. Note that viewing operations of this nature are best carried out with the basic construal loaded without the EMPE wrapper in place, since the EMPE itself generates so many additional observables and redefinitions that swamp the interesting history. The symbol info tool only records the Eden definitions of observables, but it is useful to be aware of the form that definitions in other definitive notations take when translated into Eden. For this purpose, you will find it helpful to note that ?v; operates in Eden, Scout and Eddi, and that conventions of the following kind apply to other translations: door/hinge in %donald becomes _door_hinge in Eden, Scout windows and Eddi tables are recorded in long EDEN lists of a special format, and scoreboardwin.content in %angel becomes scoreboardwin_content in Eden.
The Dependency Modelling Tool (DMT): The DMT is a tool for graphical display of dependencies between EDEN observables that was devised by Allan Wong in 2003 (see dmtWong2003). As mentioned in the README for the symbol info tool, the outputdefns.e file in the syminfoBeynon2011 subdirectory is a small file of Eden commands that can be used with the symbol info tool to output the definitions of observables that you have recorded. This will enable you to develop a visualisation of dependencies in your construal using the DMT.
You are encouraged to work together as team, and consult each other in planning your group and individual presentations. In order to ensure a good overall team mark, it is desirable to address each of the five topics listed under (b) above, for instance, and you should avoid too much overlap between individual presentations. Each team member will be expected to
produce a Tabula submission and submit by email to firstname.lastname@example.org not later than 12 noon on Wednesday 6th November the following two items:
(i) a short EMPE presentation suitable for projection from the Linux machine in CS1.04 [comprising a folder of EDEN executable files and README in .zip format]
(ii) a handout of not more than 5 A4 pages that demonstrates their personal understanding of the observables, dependencies and agency within the Pjawns construals [in .pdf format].
In preparing your individual submission, you may find it useful to refer to the advice given in Lab 6 from 2011-12. Note that if you wish to refer to both the pjawns construals in your presentation, your presentation may involve executing two separate EMPE files, and this is acceptable.