Software Requirements Monitoring
Software Requirements Monitoring is the activity of determining whether a software system is meeting its requirements. There are a multitude of uses for, styles of, and means to accomplish such monitoring. The following provides a guide to these concerns, and pointers to relevant work.
transfer of information, e.g., alerting users when they are using a system in a manner for which its design was not intended; alterting designer when system is being operated in novel ways
customization and maintenance, e.g., alerting systems administrator of the need to reconfigure the system based on altered patterns of use
Software packages requiring customization
Groupware
Small systems operating in unpredictable environments
System administrators (i.e., knowledgable of the environment in which the monitored system resides, but not necessarily of the system itself; likely to be conversant with computer programming languages)
Software package designers (i.e., knowledgable of the design of the monitored system, and likely to be conversant with computer programming languages)
End users (i.e., knowldgeable of the uses to which they wish to put the monitored system; ignorant of the design details of that system; not necessarily conversant with computer programming languages)
Event language (i.e., a formal language, but one expressly built to ease concise and convenient expression of event queries)
GUI interfaces (e.g., alert levels on gauges)
Large, user-selectable, dynamic (new queries can be added on-the-fly).
Systems administrators, end-users, designers, or even the monitored system itself.
Pop-up notifications
Summary log files, and visualizations of them (e.g., charts/graphs)
Standardized (for most monitoring applications) GUI events (e.g., warning lights; gauge levels)
Customized (application specific) GUI events
Wrapper
Message Bus
Repository
Modified program
NO. Assumption that the monitored system's environment has computational capacity to spare, and so that that the additional burden of monitoring is unlikely to perturb the results of monitoring.
Automatically compiled
Running prototypes of: monitoring language, language compiler, simple instances of data-gathering mechanisms, and simple notification mechanisms.