The Summer'97 WWW-Based Software Engineering reading project will focus on the theory and implementation of requirements monitoring. Requirements monitoring is a technique which tracks the run-time behavior of a system to notice when it deviates from its design-time specification. Requirements monitoring is useful in the following contexts:
Other examples of requirements monitoring include: monitoring a system's environment for changes which require a known upgrade (e.g., adding licenses to a server licensing model), or monitoring interactive processes, such as workflow or software process models, for compliance.
Requirements monitoring was originally proposed by Fickas and Feather, mainly to monitor environmental assumption in order to allow the dynamic reconfiguration or redesign of component software. Finkelstein has since illustrated how the technique may be used to monitor process compliance; for example, organizational compliance to ISO 9000 or IEEE process descriptions. However, only Feather has actually constructed a working prototype.
Feather's system, called FLEA, allows one to define interesting events in a requirements monitoring language. The implemented system captures interesting events as assertions in a database. (An external system must actually insert the assertions into the database.) When a monitored condition occurs, its defined action is executed. An AP5 database provides for triggered actions. Thus, monitoring mainly consists of the translation of higher-level requirements monitoring descriptions to AP5 triggered actions.
In this course, the student will engage in the following activities, in roughly the order listed:
In addition to supervision of the project, the instructor will provide the following theory and technology to support the student course activities:
To fulfill the five (5) credits associated with this Directed Reading (CIS 838), the student will complete the above defined activities within one quarter. Each week the instructor and student will agree upon score for the previous week. At the end of the quarter, the weekly scores will be aggregated. To receive an 'A', the student must complete each of the above activities and average a 90 percent score throughout the quarter; each ten percent drop will result in a lower letter grade.
To complete these tasks, the student may receive substantial help from the instructor or other outside sources; however, it is the responsibility of the student to complete the final deliverables.