Having decided on the theme of your WEB-EM submission, it is a good idea to become as familiar as possible with the EM tools that you intend to use. (The term 'instrument' is mentioned prominently here to remind you that the aspiration in supporting EM is to develop development environments in which human agency is involved in somewhat like the way in which a musician plays an instrument. We are far from achieving this goal at present!) To some extent, it may be appropriate to consolidate on your understanding by revisiting previous labs. The directory /dcs/emp/empublic/teaching/ExampleModels includes several excellent examples of previous WEB-EM models. This lab also provides links to further resources, including labs from previous versions of CS405, that may be topical for your submission.
More about EDEN
You may well find it useful to exploit additional notations, such as the
eddi notation for relational views and tables. Other features that may be of interest include:
- The agent-oriented parser (AOP): This is a notation developed by Antony Harfield that makes it possible to implement new definitive notations within EDEN itself (and indeed to modify them on the fly). The
eddinotation is one example of a notation implemented in this way. (For more details, see Lab 6 from 2006-7.)
- The dependency modelling tool (DMT): This exists in the form of a Java-based tool for visualising dependencies developed by Allan Wong, and in a version that is implemented in EDEN itself (see Lab 5 from 2006-7).
- Other extensions: Useful extensions to the EDEN interface include Karl King's Visual Symbol Table (vstKing2005) and variants of his tool for drawing Scout windows with the mouse alone drawScoutKing2004 (see Lab 8 from 2005-6).
The series of WEB-EDEN workshops relating to the theme of Sudoku solving is a useful introduction to many of the key themes and techniques introduced in the CS405 module. Versions of these workshops for use with desktop EDEN have been the subject of CS405 labs in previous years.
More about JS-EDEN
For the 2013 edition of the Rough Guide to JS-EDEN load the JS-EDEN presentation environment (e.g. by selecting the JSPE project from the Project List in the master variant of JS-EDEN), and enter include("models/cs405/RoughGuideJS-EDEN2013.js-e");
http://jseden.dcs.warwick.ac.uk/master/library/declarevar.js-e and its use is illustrated in the associated testfile
http://jseden.dcs.warwick.ac.uk/master/tests/testdeclare.js-e. (The introduction of testfiles of this nature is a good practice to follow when adding new functionality to the JS-EDEN interpreter.) The use of this function to add a cardDeck to JS-EDEN in a more persistent manner is also illustrated in the Rough Guide (see slide 9). For another example of its use, see the simple demonstration of HTML5 audio within JS-EDEN in the file:
Model Readme of Hui Zhu's 'graph prototype' model. This forms part of Hui's exploratory research into modelling parsing states using definitive scripts which we expect to simplify the implementation of additional definitive notations in JS-EDEN in due course. The graph prototype replicates most of the functionality of the EDEN graph package introduced by Charlie Care that was deployed in making an EDEN version of the DMT in a previous lab. For instructions on loading the model, enter the command
via the EDEN Interpreter Window in JS-EDEN, and follow the instructions that you then find under the 'Model Readme' tab. Hui has also developed a tutorial that gives a step-by-step account of one way in which new notations can be added to JS-EDEN - this is the subject of Lab 10.