CS405 Introduction to Empirical Modelling 2013/14
The version of the module to be taught in 2013-14 will have a different orientation from previous years. Though much of the material will be unchanged (see the links to resources for previous years below), it will be revised and reorganised to reflect a primary focus on Empirical Modelling as an alternative approach to software development.
Content
The key themes of the module are summarised in the description of computer science taught modules (as of October 2013, the last time on which the module was taught). The way in which these themes are developed varies from year to year. Our focus this year is on the way in which Empirical Modelling helps to give new insights into the problems of software development and offers principles and tools that can contribute towards resolving them. For more details, consult the motivating questions that will frame each week of the module.
Much of the material by way of papers and models discussed in the module is drawn from the Empirical Modelling website. Most of the models in the projects archive were developed using variants of the well-established EDEN interpreter, as documented under the Software link on the "Empirical Modelling" tab top left of this page. A web-enabled variant of the EDEN interpreter ("JS-EDEN") closely linked to JavaScript, that has been developed by Tim Monks and Nick Pope, will also be deployed in the module. For 2013-14, both EDEN and JS-EDEN will be used in the labs and lectures. JS-EDEN opens up new horizons for Empirical Modelling and promises to address issues that have proved problematic with EDEN. Some familiarity with EDEN is essential for understanding the material to be presented and examined in the module. Either JS-EDEN, or EDEN, or other tools to be introduced in passing in the module (such as Nick Pope's CADENCE interpreter) can be used in the assessed work submission.
Timetable
For 2013-14, CS405 will run in Term 1, weeks 1-10:
- Lecture: Monday 11am in CS101 (weeks 2-10 only).
- Lab Session: Tuesday 12 noon - 2 pm in CS101/CS001
- Lecture: Thursday 4 pm in CS104
A ten minute overview of CS405 Introduction to EM will be given at 16.30 in CS1.01 on Monday September 30th 2013 (week 1).
Tuesday lab sessions will normally be held in CS001, and will typically be preceded by a brief introductory talk at 12 noon in CS101.
Remember the module forum
Previous material 2005-6, 2006-7, 2007-8, 2008-9, 2009-10, 2010-11, 2011-12 and 2012-13 is available for those interested.
See also the previous editions of the Warwick Electronic Bulletin on EM (WEB-EM)
Download the tkeden tool (version 1.73 is now the default on the departmental Linux system and is available for download for Windows and Mac from the EM website). This tool will be extensively used for demonstration purposes in lectures and in the lab sessions. The JS-EDEN interpreter is a research prototype that will also be introduced in the labs and lectures. It has two topical variants: master (being used in the labs and coursework this year) and emile (to be used in conjunction with resources from 2012).
Coursework
The principal component of coursework, and the only component for MEng students, takes the form of a submission of a paper and an accompanying modelling exercise to the Tenth Warwick Electronic Bulletin on EM (WEB-EM-10). This is worth 50% of the total credit for the module. The deadline for this submission (to be confirmed) is 12 noon on Tuesday 28th January 2014 in week 4 of Term 2. You will be able to choose the theme of your submission subject to approval of an abstract and proposal for an associated modelling study to be submitted by 12 noon on Wednesday 20th November (week 8). Your proposal will be approved subject to suitability and originality.
More details of the submission procedure can be found here. This will be further discussed by Matt Leeke in the 4-5pm session on Thursday 17th October and is also the subject of Lab 7 in Session 7.2. Your WEB-EM-10 proposals, together with feedback to guide your final submission, can be found here. Note that there is a standard template for your paper that is available for you to use with Word or Latex: this can be found together with further advice on writing your paper in the Author guidelines for final submission.
MSc students have an additional coursework exercise worth 10% of the total credit; this involves an exercise in documentation and comprehension in Term 1. You individual presentations using the EMPE and supporting documentation are to be submitted by 12 noon on Wednesday 6th November, prior to a group presentation in CS104 on Thursday 7th November. Further details of this assignment can be found here (see also Lab 4 in Session 4.2). General feedback on the overall team performance and the assessment procedure can be found here. Your individual marks and feedback will be sent to you by email.
Examination
The examination contributes 50% to the overall mark for the module for MEng students and 40% for MSc students. The format of the CS405 exam for 2013-14 will be unchanged: Question 1 is a compulsory question, and you must answer two questions out of the other four. You will have 3 hours to answer the paper. Previous exam papers are available online from the Warwick Exam Papers archive. For more details of the June 2014 examination, to be held on 4th June at 2pm, consult the CS405 exam skeleton and revision guidance - together with the additional links to resources and some useful diagrams - as discussed in the exam revision session on Wednesday 14th May at 12 noon in CS1.01.
Further details of lectures and laboratory sessions will be presented here as the module is delivered. Note that some background skill in using Unix / Linux will be helpful in managing the resources to be introduced in the labs.
For background information on UNIX, please consult Chapter 4 Getting Started in the online version of "Introducing UNIX and Linux", and other relevant teaching material.
Sessions and Resources
Orientation
- Session 1.1: Introduction to Introduction to EM (Monday 30th September)
- Session 1.2: Lab 1 (Tuesday 1st October)
- Session 1.3: Thursday 3rd October:
- Reflections on Learnable Programming: an EM perspective (slides 1-32: rest to be considered later)
Construals
- Session 2.1: Introducing the notion of a construal (Monday 7th October)
- About EM
- Construal in a linguistic sense, and as introduced by Gooding
- Adventures in a lift: a practical application of construal
- Session 2.2: This session is based on Labs 1 and 2 from CS405 in 2012-13 (Tuesday 8th October)
- Session 2.3: More about construals (Thursday 10th October)
- Semantic issues for construals (slides 1-6)
- Personal, concurrent and human-driven / functional, sequential and automatic (exc. SBR's Reflections slides)
- The semantics of construals: based on EM model cabinetdigitBeynon1990 - available via Web EDEN here
- The EMPE presentation prescabinetdigitBeynon2007 can be replayed by using tkeden as explained here. (See also the footnote in the CS405 forum.)
- The error in the EMPE whereby changing pres_fontsize has no effect can be fixed by loading a definition for pres_slideheader that can be found in the same location.
Making Construals
- Session 3.1: Tools for making construals (Monday 14th October)
- Orientation on making construals (slides 7-14) illustrated using oxoGardner1999
- Modelling with definitive scripts (slides 1-25, and 41 onwards - for more technical information about DoNaLD and Scout)
- An introduction to definitive notations
- Orientation on making construals (slides 7-14) illustrated using oxoGardner1999
- Session 3.2: This session is based on Labs 4 and 5 from CS405 in 2012-13 (Tuesday 15th October)
- Lab 3: An introduction to JS-EDEN with some additional background on web-enabled EDEN (a presentation by Jonny Foss)
- Session 3.3: Making your own construals (Thursday 17th October)
- Making construals and WEB-EM-10 (a presentation by Matt Leeke)
Programming Paradigms
- Session 4.1: Programming from an EM perspective (Monday 21st October)
- Going beyond classical programming
- What is meant by 'experience'?
- The JUGS program in JS-EDEN (a version of this presentation re-engineered for the master variant of JS-EDEN will be presented in Lab 6)
- Session 4.2: This session lays the foundation for the construal comprehension exercise (Tuesday 22nd October)
- Lab 4: Construal comprehension groundwork
- Supplementary notes on EDEN, Donald and Scout (slides 27 onwards from "Modelling with definitive scripts" in Session 3.1) - to be read in conjunction with exercises from the first part of Lab 4 from 2011-12
- A brief introduction to the GEL environment (of optional interest)
- Lab 4: Construal comprehension groundwork
- Session 4.3: Programming paradigms and EM principles - slides and overview (Thursday 24th October)
- EM as a paradigm for programming
- the JUGS program as an example of definitive programming
- LSD and the ODA framework
- Functional programming and modelling with definitive scripts
- 3-D noughts-and-crosses in Miranda with supplementary notes
- More background on Miranda here
- to download the interpreter etc, see http://miranda.org.uk/ (linux-based, but can be installed via cygwin on Windows)
- Mike Joy's original noughts-and-crosses program
- 3-D noughts-and-crosses as an example of definitive programming (an instance of a construal derived from oxoJoy1994)
- 3-D noughts-and-crosses in Miranda with supplementary notes
- EM as a paradigm for programming
Formalism
- Session 5.1: Formalist and hermeneutic perspectives on computing (Monday 28th October)
- Formalism from an EM perspective: Reflections on Learnable Programming: an EM perspective (slides 30-36: rest to be considered later)
- illustration via Hui Zhu's construal of monotone boolean functions in 3 variables (link to be supplied)
- Rethinking programming: modelling heapsort as a case study
- Supplementary slides: Heapsort auxiliary slides
- Handout: Heapsort model interactions (use in conjunction with /dcs/acad/wmb/public/projects/misc/HEAPSORT/HEAPSORT2011)
- Online model: heapsortBeynon2008 (now updated as /dcs/acad/wmb/public/projects/misc/HEAPSORT/HEAPSORT2011)
- Morals of the heapsort modelling exercise
- Introducing formalist and hermeneutic perspectives: the significance of SQL
- The SQL-EDDI project: construals to support studying the flaws in SQL
- Powerpoint slides (all and a selection) made from an EDEN presentation within sqleddiWard2003 as executed using tkeden-1.46
- Formalism from an EM perspective: Reflections on Learnable Programming: an EM perspective (slides 30-36: rest to be considered later)
- Session 5.2: This session illustrates construal comprehension and a hermeneutic perspective on development (Tuesday 29th October)
- Lab 5: The instructions for setting up the labsheet within the EMPE can be found here
- Some auxiliary slides that relate to Exercise 8 in the labsheet.
- Postscript to Lab 5: blending the syminfo tool with the EDEN variant of the DMT - an annotated EDEN history and a screenshot.
- Session 5.3: Reading resources relating to the role of formalism in computing (Thursday 31st October)
The Development Process
- Session 6.1: EM and the Development Process (Monday 4th November)
- Orientation by way of review, comparison, stance re object-orientation and logic (cf. the linesBeynon1991 model)
- Some ideas and sources to reflect on
- An essay on the theme of EM and software development presented at the Onward2012 conference at SPLASH'2012.
This presentation can be accessed using the JS-EDEN interpreter on the Chrome browser by loading a model of the essay:include("models/Onward2012/run.js-e");
- Session 6.2: This session revisits JS-EDEN (Tuesday 5th November)
- Lab 6: The labsheet can be found here.
- Session 6.3: Presentations from MSc students: the Pjawns construal comprehension exercise (Thursday 7th November)
Learning
- Session 7.1: EM and the Development Process (Monday 11th November)
- Empirical Modelling and Learning (a presentation by Steve Russ)
- Session 7.2: This session is devoted to consultation and preparation for your WEB-EM-10 submissions (Tuesday 12th November)
- Lab 7: Relevant resources include previous WEB-EM submissions and guidance from Matt Leeke (slides 10-24) and Steve Russ.
- Session 7.3: Education-related themes in EM (Thursday 14th November)
Concurrency
- Session 8.1: EM and concurrency - lectures as background reading
Resources prepared for Monday 18th November - but presented on Tuesday 19th:- EM for systems development - including perspectives on development from Michael Jackson and David Harel
- Ant Navigation (a construal and presentation developed by Daniel Keer)
- Visual Formalisms: the digital watch construal with statechart and animation
- Session 8.2: Further consultation and preparation for your WEB-EM-10 submissions (Tuesday 19th November)
- Session 8.3: EM and concurrency from a machine perspective (Thursday 21st November)
Resources relating to Lectures 4-7 on EM and concurrency:- LSD accounts and specifications as illustrated by LSD examples: the telephone, the digital watch and the electronic catflap (Yung and Bridge)
- The Abstract Definitive Machine (ADM)
Multi-agent development
- Session 9.1: EM and concurrency - interpreting LSD accounts (Monday 25th November)
- Animating LSD accounts: with special reference to the railway station arrival-departure protocol and vehicle cruise controller
- Animating the train arrival-departure account in the ADM - see ~wmb/public/projects/simulations/train
- Animating the vehicle cruise control construal in EDEN - see cruisecontrolBridge1991
- Session 9.2: Lab 9 - More about EM tools and instruments (Tuesday 26th November)
- Session 9.3: EM and the explanation of behaviour (Thursday 28th November)
- The ficts fiction see EM paper #037 and Dominic Gehring's ficts cartoons
- Back to the future: modern computing in railway history - an LSD agenda for some historic railway accidents
- Online resources relating to the Clayton Tunnel Disaster: claytontunnelChanHarfield2005, claytontunnelSun1999
For a brief account of the accident, see claytontunnelSun1999/Website/discussion.htm.
For miscellaneous screenshots, see claytontunnelSun1999/claytontunnelshots-echan-apr05/
For more extensive discussion, see EM paper 053: Computer-mediated communication: a distributed Empirical Modelling perspective - The Abermule railway accident - see James Silver Abermule Railway Station: agent-oriented task-centred Empirical Modelling: WEB-EM-05
Retrospect and Prospect
- Session 10.1: Perspectives on EM for software development (Monday 2nd December)
- Jurgen Lind, Fred Brooks, David Harel, Brian Cantwell-Smith, Mike J. Ridley
- Conceptual integrity and the railway station animation construal - see railwayYung1995 (updated version railwayBeynon2010 still pending!)
- Situational, explicit, mental and internal aspects of state- see EM paper #069 and Chris Roe's digital watch model
- Philosophical perspectives: quotes from Feynman, Brödner, Gooding and William James
- Session 10.2: Feedback on WEB-EM-010 preliminary submissions and Lab 10 - Hui Zhu's JS-EDEN parsing model (Tuesday 3rd December)
- Session 10.3: Human Computing (a presentation by Steve Russ) (Thursday 5th December)