Modeling Concurrency in Rule-Based Development Environments
We investigate the problem of cooperation among multiple agents in a class of knowledge-based systems called rule-based development environments (RBDEs). RBDEs use knowledge about the specific development process of a software project in order to provide automated assistance to developers working on the project. The knowledge is in the form of rules, where each rule models a development activity. The rules operate on the project components which are abstracted as attributed objects and stored in a database. Each user command corresponds to a rule, which is fired when the user requests the command. The activity encapsulated in the rule might introduce changes in the database that satisfy the condition of one or more other rules, causing the firing of these rules. The database is thus treated as the working memory of the rule system. When multiple developers request commands concurrently, the rule chains initiated by their commands access the same database concurrently, with the potential of conflicting access. We investigate the nature of these conflicts and how to detect them. We outline an approach for using knowledge about the project in order to resolve the conflicts without obstructing cooperation among the users. The full paper appears in IEEE Expert,December 1990.
KeywordsNism Editing Mellon
Unable to display preview. Download preview PDF.
- [BK91]N. S. Barghouti and G. E. Kaiser. Concurrency control in advanced database applications. ACM Computing Surveys, 1991. To appear. Also available as Columbia University Department of Computer Science Technical Report number CUCS-425–89, May 1990.Google Scholar
- [CLF88]University of Southern California, Information Sciences Institute, Marina del Rey CA. CLF Manual, January 1988.Google Scholar
- [Gup86]]A. Gupta.Parallelism in Production Systems. PhD thesis, Carnegie Mellon University, Department of Computer Science, March 1986. Technical Report CMU-CS-86–122.Google Scholar
- [HL88]K. E. Huff and V. R. Lesser. A plan-based intelligent assistant that supports the software development process. In ACM SIGSOFT/SIGPLAN Software Engineering Symposium on Practical Software Development Environments, pages 97–106, Boston, MA, November 1988. ACM Press. Special issue of SIGPLAN Notices, 24(2), February 1989.Google Scholar
- [KBFS88]G. E. Kaiser, N. S. Barghouti, P. H. Feiler, and R. W. Schwanke. Database support for knowledge-based engineering environments. IEEE Expert, 3 (2): 18–32, Summer 1988.Google Scholar
- [KBS90]G. E. Kaiser, N. S. Barghouti, and M. H. Sokolsky. Preliminary experience with process modeling in the marvel software development environment kernel. In 23rd Annual Hawaii International Conference on System Sciences, volume II, pages 131–140, Kona HI, January 1990.Google Scholar
- [MR88]N. H. Minsky and D. Rozenshtein. A software development environment for law-governed systems. In ACM SIGSOFT/SIGPLAN Software Engineering Symposium on Practical Software Development Environments, pages 65–75, Boston MA, November 1988. ACM Press. Special issue of SIGPLAN Notices, 24(2), February 1989.Google Scholar
- [Nii86]H. P. Nii. Blackboard systems. AI Magazine, 7 (2 and 3), 1986.Google Scholar
- [Per89]D. Perry, editor. 5th International Software Process Workshop, Kennebunkport ME,October 1989. ACM Press.Google Scholar