Priority scheduling of distributed systems based on model checking

Priorities are used to control the execution of systems to meet given requirements for optimal use of resources, e.g., by using scheduling policies. For distributed systems it is hard to find efficient implementations for priorities; because they express constraints on global states, their implementation may incur considerable overhead.Our method is based on performing model checking for knowledge properties. It allows identifying where the local information of a process is sufficient to schedule the execution of a high priority transition. As a result of the model checking, the program is transformed to react upon the knowledge it has at each point. The transformed version has no priorities, and uses the gathered information and its knowledge to limit the enabledness of transitions so that it matches or approximates the original specification of priorities.

[1]  Ron van der Meyden,et al.  Common Knowledge and Update in Finite Environments , 1998, Inf. Comput..

[2]  Doron A. Peled,et al.  Achieving Distributed Control through Model Checking , 2010, CAV.

[3]  Stéphane Lafortune,et al.  A General Architecture for Decentralized Supervisory Control of Discrete-Event Systems , 2002, Discret. Event Dyn. Syst..

[4]  John G. Thistle,et al.  Undecidability in decentralized supervision , 2005, Syst. Control. Lett..

[5]  Ronald Fagin,et al.  Reasoning about knowledge , 1995 .

[6]  S. Laurie Ricker,et al.  Know means no: Incorporating knowledge into discrete-event control systems , 2000, IEEE Trans. Autom. Control..

[7]  Joseph Sifakis,et al.  Priority Scheduling of Distributed Systems Based on Model Checking , 2009, CAV.

[8]  Joseph Sifakis,et al.  Specification and verification of concurrent systems in CESAR , 1982, Symposium on Programming.

[9]  C. Rattray,et al.  Specification and Verification of Concurrent Systems , 1990, Workshops in Computing.

[10]  Abraham Silberschatz,et al.  An Effective Implementation for the Generalized Input-Output Construct of CSP , 1983, TOPL.

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

[12]  Doron A. Peled,et al.  Methods for Knowledge Based Controlling of Distributed Systems , 2010, ATVA.

[13]  Stavros Tripakis Undecidable problems of decentralized observation and control on regular languages , 2004, Inf. Process. Lett..

[14]  Zohar Manna,et al.  How to cook a temporal proof system for your pet language , 1983, POPL '83.

[15]  Michael Rodeh,et al.  A distributed abstract data type implemented by a probabilistic communication scheme , 1980, 21st Annual Symposium on Foundations of Computer Science (sfcs 1980).

[16]  Joseph Sifakis,et al.  Distributed Semantics and Implementation for Systems with Interaction and Priority , 2008, FORTE.

[17]  Kurt Lautenbach,et al.  System Modelling with High-Level Petri Nets , 1981, Theor. Comput. Sci..

[18]  P. Ramadge,et al.  Supervisory control of a class of discrete event processes , 1987 .

[19]  W. Murray Wonham,et al.  Think Globally, Act Locally: Decentralized Supervisory Control , 1991, 1991 American Control Conference.

[20]  Edmund M. Clarke,et al.  Characterizing Correctness Properties of Parallel Programs Using Fixpoints , 1980, ICALP.

[21]  Joseph Sifakis,et al.  Priority Systems , 2003, FMCO.