Issue No. 10 - October (1995 vol. 21)
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/32.469456
Distributed networks of personal workstations are becoming the dominant computing environment for software development organizations. Many cooperative activities that are carried out in such environments are particularly well suited for automated support. Taking the point of view that such activities are modeled most naturally as the occurrence of events requiring actions to be performed, we have developed a system called Yeast (Yet another Event-Action Specification Tool). Yeast is a client-server system in which distributed clients register event-action specifications with a centralized server, which performs event detection and specification management. Each specification submitted by a client defines a pattern of events that is of interest to the client’s application plus an action that is to be executed in response to an occurrence of the event pattern; the server triggers the action of a specification once it has detected an occurrence of the associated event pattern. Yeast provides a global space of events that is visible to and shared by all users. In particular, events generated by one user can trigger specifications registered by another user. Higher-level applications are built as collections of Yeast specifications. We use Yeast on a daily basis for a variety of applications, from deadline notification to software process automation. This paper presents an in-depth description of Yeast and an example application of Yeast, in which Yeast specifications are used to automate a software distribution process involving several interdependent software tools.
Computer networks, distributed computing, event-action systems, event models, software development environments, software process, specifications.
D. S. Rosenblum and B. Krishnamurthy, "Yeast: A General Purpose Event-Action System," in IEEE Transactions on Software Engineering, vol. 21, no. , pp. 845-857, 1995.