Restricted object based design of event driven commercial software

  • Authors:
  • M. Krieger;S. Lemire

  • Affiliations:
  • University of Ottawa;National Defence Headquarters

  • Venue:
  • CASCON '94 Proceedings of the 1994 conference of the Centre for Advanced Studies on Collaborative research
  • Year:
  • 1994

Quantified Score

Hi-index 0.00

Visualization

Abstract

The Restricted Object Based Design (ROBD) methodology was developed for the implementation of interactive commercial software in which the desired response is elicited by initiating an event, i.e., a request. Shrink-wrap software, operator-assistants, simulators and business software are prime examples. This methodology has its roots in the multiactivity paradigm, which is based on two observations. First, all work has two components: the various activities that must be executed and their coordination. Second, system design is simpler and more flexible when activity coordination and execution are separated at implementation. In ROBD, event driven software is viewed as a set of responses, each defined as a set of activities and interactions that must be executed in a given precedence relation. Related activities are grouped into execution modules: the restricted objects that respond to calls from an object manager.The resulting software system has a number of general characteristics. One, it is highly modular, with modules that can be implemented and modified separately (cost-effective design) and are easily related to the application (making it simple to update and modify). Second, it is a highly testable system: one can test each module separately by exercising all its calls and each manager by building a condition table and checking the corresponding sequence of actions. Furthermore, due to the resulting architecture, one only needs to do differential testing in case of modifications -- test the affected (modified or new) execution modules and managers.To indicate the applicability of ROBD, a simple case study is presented in some detail and a number of examples that are under development are also outlined.