CS254r: Programming Methodologies; Catalog Number: 2767

Dr. Robert L. Walton; Prof. Thomas E. Cheatham

Half course (spring term). W., 4-6. EXAM GROUP: 9

The Official Definition

Investigates program analysis, verification, and refinement; programming paradigms including those for parallel and distributed programming; program development and maintenance environments. This year, in a reversal of roles, instructors will present a world-wide programming environment they are designing (including a prototype implementation), and students will critique this system. Student critiques can be based on theoretical considerations, on comparison with other systems, on practical experience the students get when they try to build application systems on top of the prototype programming environment, or on other appropriate considerations.

Prerequisite: Computer Science 51 and 121 or equivalent.

More Details

The instructors have under development a replacement for HTML called WBW, the `World Beyond the Web'. This is a novel system, possibly even a bit radical, based on JAVA serialized objects. WBW permits anyone (not just owners of servers) to write brokers that actively accumulate information and make decisions. One goal is to make a replacement for an operating system shell that manages computations world wide. This world-wide shell would keep a history of computations done, permit the history to be posted on the internet, searched, and examined, and permit computations to be rerun by different people with different parameters.

The instructors are developing the design of the WBW storage system, and are developing a prototype of this system. By itself the storage system permits brokers to be written, but the storage system does not contain a shell, and does not even contain the detailed data structures that would be manipulated by a shell.

An initial version of the prototype WBW storage system should be available when the class starts. This prototype will undergo continuing development by the instructors during the course.

The main idea of the WBW storage system is that a `page' is a list of attribute name/value pairs. A piece of program code is associated with the page, as determined by one or more of the attribute values, e.g., the page type, and by the environment the code will run in. The code presents the data in the page to the user. The code may present data in several related pages to the user. The code may also permit any user to update the page. The code may be updated independently from the pages that use it, and anyone who can write a page can write or update the code used with that page.

Requirements

The following may be refined as the course progresses.

All students must do the following:

The above will take about half the course. In the second half of the course students must construct critiques of the WBW system. Each critique may be based on one or more of the following:

Students can produce a single critique based on a larger amount of work by one or more people, or several smaller critiques each based on a smaller amounts of work. In general, students can otherwise design their own activities in the second half of the course, and work in groups of any size, subject to instructor approval, as long as the result is a critique of the WBW system.

Course Information