Specification of parallel processing using production systems

Production system specification of policies of access to shared resources can be analyzed for the following properties (1) compatibility, (2) liveness (free of deadlock), and (3) fairness (no starvation of one process by another). Furthermore, policies in production system form can be restricted to specify systems of competing concurrent processes which are guaranteed to be compatible, live, and fair using design procedures presented in this paper.

[1]  N.R. Malik,et al.  Graph theory with applications to engineering and computer science , 1975, Proceedings of the IEEE.

[2]  Alan C. Shaw,et al.  Software Descriptions with Flow Expressions , 1978, IEEE Transactions on Software Engineering.

[3]  Jonathan K. Millen,et al.  Security Kernel validation in practice , 1976, CACM.

[4]  John R. Anderson Language, Memory, and Thought , 1976 .

[5]  John P. Hayes,et al.  Computer Architecture and Organization , 1980 .

[6]  Arthur J. Bernstein,et al.  Conditional Capabilities , 1979, IEEE Transactions on Software Engineering.

[7]  Tilak Agerwala,et al.  Comments on capabilities, limitations and “correctness” of Petri nets , 1973, ISCA '73.

[8]  J. McDermott,et al.  Production system conflict resolution strategies , 1977, SGAR.

[9]  Kurt Lautenbach,et al.  Use of Petri Nets for Proving Correctness of Concurrent Process Systems , 1974, IFIP Congress.

[10]  Richard J. Lipton,et al.  Reduction: a method of proving properties of parallel programs , 1975, CACM.

[11]  Per Brinch Hansen,et al.  Distributed processes: a concurrent programming concept , 1978, CACM.

[12]  L. Boi,et al.  Design and principles of a fault tolerant system , 1978, ICSE '78.

[13]  Roy H. Campbell,et al.  The specification of process synchronization by path expressions , 1974, Symposium on Operating Systems.

[14]  Robert S. Fabry,et al.  Capability-based addressing , 1974, CACM.

[15]  Ashok K. Agrawala,et al.  An optimal algorithm for mutual exclusion in computer networks , 1981, CACM.

[16]  Edward F. Gehringer,et al.  Functionality and performance in capability-based operating systems. , 1979 .

[17]  Per Brinch Hansen,et al.  Operating System Principles , 1973 .

[18]  Warwick S. Ford Implementation of a Generalized Critical Region Construct , 1978, IEEE Transactions on Software Engineering.

[19]  Abraham Silberschatz,et al.  Communication and Synchronization in Distributed Systems , 1979, IEEE Transactions on Software Engineering.

[20]  M. W. Shields,et al.  Abstract specification of resource accessing disciplines: adequacy, starvation, priority and interrupts , 1978, SIGP.

[21]  David C. Walden,et al.  A system for interprocess communication in a resource sharing computer network , 1972, CACM.

[22]  Virgil D. Gligor Review and Revocation of Access Privileges Distributed Through Capabilities , 1979, IEEE Transactions on Software Engineering.

[23]  Sreekaanth S. Isloor,et al.  The Deadlock Problem: An Overview , 1980, Computer.

[24]  Anthony P. Lucido,et al.  Deadlock Detection and Avoidance for Shared Logical Resources , 1979, IEEE Transactions on Software Engineering.

[25]  David Klahr,et al.  A PRODUCTION SYSTEM FOR COUNTING, SUBITIZING AND ADDING , 1973 .

[26]  Jean-Loup Baer,et al.  A Survey of Some Theoretical Aspects of Multiprocessing , 1973, CSUR.

[27]  Richard C. Holt Structured concurrent programming with operating systems applications , 1978 .

[28]  Zohar Manna,et al.  Formalization of properties of parallel programs , 1970 .

[29]  Robert M. Keller,et al.  Parallel program schemata and maximal parallelism , 1972 .

[30]  David Gries,et al.  Program Schemes with Pushdown Stores , 1972, SIAM J. Comput..

[31]  Allen Newell,et al.  A theoretical exploration of mechanisms for coding the stimulus , 1972 .

[32]  Peter J. Denning,et al.  Protection: principles and practice , 1972, AFIPS '72 (Spring).

[33]  Michael D. Zisman Use of production systems for modeling asynchronous, concurrent processes , 1977, SGAR.

[34]  R. Karp,et al.  Properties of a model for parallel computations: determinacy , 1966 .

[35]  Jonathan K. Millen Construction with parallel derivatives of the closure of a parallel program schema , 1974, STOC '74.

[36]  Richard A. DeMillo,et al.  Parallel scheduling of programs in a restricted model of computation , 1974, STOC '74.

[37]  Antonio Pizzarello,et al.  Rational Design Methodology. , 1978 .

[38]  Butler W. Lampson,et al.  Reflections on an operating system design , 1976, CACM.

[39]  Dorothy E. Denning,et al.  A lattice model of secure information flow , 1976, CACM.

[40]  Zohar Manna,et al.  Program schemas with equality , 1972, STOC.

[41]  C. A. R. Hoare,et al.  Monitors: an operating system structuring concept , 1974, CACM.

[42]  Raymond R. Devillers Game interpretation of the deadlock avoidance problem , 1977, CACM.

[43]  A. Nico Habermann,et al.  Modularization and hierarchy in a family of operating systems , 1976, CACM.

[44]  Joep L. W. Kessels An alternative to event queues for synchronization in monitors , 1977, CACM.

[45]  Antonio Pizzarello,et al.  An Overview of RDM: Rational Design Methodology , 1979, The Use of Formal Specification of Software.

[46]  永田 守男,et al.  Verifying Properties of Parallel Programs : An Axiomatic Approach , 1976 .

[47]  Robert L. Constable,et al.  On Classes of Program Schemata , 1971, SWAT.

[48]  Allen Newell,et al.  Production Systems: Models of Control Structures , 1973 .

[49]  Abraham Silberschatz,et al.  Capability Managers , 1978, IEEE Transactions on Software Engineering.

[50]  James H. Morris Protection in programming languages , 1973, CACM.

[51]  Randall Davis,et al.  An overview of production systems , 1975 .

[52]  Gordon Bell,et al.  C.mmp: a multi-mini-processor , 1972, AFIPS '72 (Fall, part II).

[53]  Jan van Leeuwen A partial solution to the reachability-problem for vector-addition systems , 1974, STOC '74.

[54]  Maurice V. Wilkes,et al.  The Cambridge CAP computer and its operating system (Operating and programming systems series) , 1979 .

[55]  J. Taylor,et al.  Switching and finite automata theory, 2nd ed. , 1980, Proceedings of the IEEE.

[56]  David Lorge Parnas,et al.  Concurrent control with “readers” and “writers” , 1971, CACM.

[57]  John H. Howard Proving monitors , 1976, CACM.

[58]  Raymond E. Miller,et al.  A Comparison of Some Theoretical Models of Parallel Computation , 1973, IEEE Transactions on Computers.

[59]  J. William Atwood Concurrency in Operating Systems , 1976, Computer.

[60]  Robert C. Tausworthe Standardized development of computer software , 1976 .

[61]  Willem P. de Roever,et al.  A Proof System for Communicating Sequential Processes , 1980, ACM Trans. Program. Lang. Syst..

[62]  Joseph D. Rutledge On Ianov's Program Schemata , 1964, JACM.

[63]  C. V. Ramamoorthy,et al.  Software requirements and specifications: status and perspectives , 1978 .

[64]  Richard J. Lipton,et al.  A Comparative Study of Models of Parallel Computation , 1974, SWAT.

[65]  R. Valette,et al.  Description And Realization Of Parallel Control Systems , 1977 .

[66]  Gregory R. Andrews,et al.  Access Control in Parallel Programs , 1979, IEEE Transactions on Software Engineering.

[67]  Zohar Manna,et al.  The Correctness of Nondeterministic Programs , 1970, Artif. Intell..

[68]  F. de P. Hanika,et al.  Introduction to Operating System Design , 1976 .

[69]  Thomas H. Bredt Analysis of Parallel Systems , 1971, IEEE Transactions on Computers.

[70]  Edward A. Feustel,et al.  On The Advantages of Tagged Architecture , 1973, IEEE Transactions on Computers.

[71]  Stanley J. Rosenschein THE PRODUCTION SYSTEM: ARCHITECTURE AND ABSTRACTION , 1978 .

[72]  M. A. Jackson,et al.  Information systems: Modelling, sequencing and transformations , 1978, ICSE '78.

[73]  William L. Maxwell,et al.  On the implementation of security measures in information systems , 1972, CACM.

[74]  Leslie Lamport,et al.  A new solution of Dijkstra's concurrent programming problem , 1974, Commun. ACM.

[75]  Jeffrey D. Ullman,et al.  Protection in operating systems , 1976, CACM.

[76]  Roger M. Needham,et al.  Protection systems and protection implementations , 1899, AFIPS '72 (Fall, part I).

[77]  C. A. R. Hoare,et al.  Communicating sequential processes , 1978, CACM.

[78]  Barbara Liskov,et al.  A language extension for expressing constraints on data access , 1978, CACM.

[79]  Arthur J. Bernstein,et al.  Analysis of Programs for Parallel Processing , 1966, IEEE Trans. Electron. Comput..

[80]  James W. Havender Avoiding Deadlock in Multitasking Systems , 1968, IBM Syst. J..

[81]  Abraham Silberschatz,et al.  Extending Concurrent Pascal to Allow Dynamic Resource Management , 1977, IEEE Transactions on Software Engineering.

[82]  Robert S. Fabry Dynamic verification of operating system decisions , 1973, CACM.

[83]  Emil L. Post Formal Reductions of the General Combinatorial Decision Problem , 1943 .

[84]  Richard J. Lipton,et al.  On synchronization primitive systems , 1973 .

[85]  Raymond E. Miller Some Undecidability Results for Parallel Program Schemata , 1972, SIAM J. Comput..

[86]  Per Brinch Hansen,et al.  The Architecture of Concurrent Programs , 1977 .

[87]  Jack B. Dennis,et al.  Programming semantics for multiprogrammed computations , 1966, CACM.