Abstract
The problem of deriving distributed implementations from global specifications has been extensively studied for a number of application domains. We explore it here from the knowledge perspective: A process may decide to take a local action when it has enough knowledge to do so. Such knowledge may be acquired by communication through primitives available on the platform or by static analysis. In this paper, we want to combine control and distribution, that is, we need to impose some global control constraint on a system executed in a distributed fashion. To reach that goal, we compare two approaches: either build a centralized controlled system, distribute its controller and then implement this controlled system on a distributed platform; or alternatively, directly enforce the control constraint while implementing the distributed system on the platform. We show how to achieve a solution following the second approach and explain why this is a pragmatic and more efficient strategy than the other, previously proposed one.
Similar content being viewed by others
Notes
Alternatively, we could allow processes with more than one token, but to keep the framework simple, we restrict ourselves to simple sequential processes.
As already discussed, a (folded) transition of \(N\) may appear several times in \(\sigma \) but each occurrence can be mapped to a different \(t\in T^u\) so that a local transition \(t_\pi \) is part of only one \(t\) occurring in \(\sigma \).
Remember that there is at most one transition of \(T(t_j)\) in a trace.
Note that for transitions that are not symmetric, e.g., because of a data flow, one may add precedence constraints between local transitions of the same global transition—but such precedence relations are not derived from the Petri net.
This is true because \(\varPsi \) is a safety constraint; one may, however, lose progress.
Note that the problem statement as given by the centralized controller is completely symmetric; in case of circular conflicts—in which the size of the conflict set may not be reduced by a set of local arbitrations—some asymmetry must be introduced statically (for example, using priorities) to achieve conflict resolution, or the protocol must rely on some statistical decision (such as, for example, in Ethernet).
This makes clear that for a different platform and a different high level specification paradigm, the response could be different. Our aim here is to propose criteria for choosing the best approach in any given setting.
Note that this does not hold if \({ selected}_t\) is also used for guaranteeing fairness properties.
This is the knowledge exploited in [22].
References
Bagrodia, R.: Process synchronization: design and performance evaluation of distributed algorithms. IEEE Trans. Softw. Eng. 15(9), 1053–1065 (1989)
Basu, A., Bensalem, S., Peled, D., Sifakis, J.: Priority scheduling of distributed systems based on model checking. In: Proceedings of CAV’09, vol. 5643 of LNCS, pp. 79–93. Springer (2009)
Bensalem, S., Bozga, M., Graf, S., Peled, D., Quinton, S.: Methods for knowledge-based controlling of distributed systems. In: Proceedings of ATVA’10, vol. 6252 of LNCS, pp. 52–66. Springer (2010)
Bensalem, S., Bozga, M., Quilbeuf, J., Sifakis, J.: Knowledge-based distributed conflict resolution for multiparty interactions and priorities. In: Proceedings of FMOODS-FORTE’12, vol. 7273 of LNCS, pp. 118–134. Springer (2012)
Benveniste, A., Caspi, P., Edwards, S.A., Halbwachs, N., Le Guernic, P., de Simone, R.: The synchronous languages twelve years later. Proc. IEEE 91(1), 64–83 (2003)
Boussinot, F., de Simone, R.: The esterel language. In: Proceedings of the IEEE, Special Issue on Synchronous Programming, vol. 79, pp. 1293–1304 (1991)
Caspi, P., Girault, A.: Execution of distributed reactive systems. In: Proceedings of Euro-Par’95, vol. 966 of LNCS, pp. 15–26. Springer (1995)
Chu, P.M., Liu, M.T.: Synthesizing protocol specifications from service specifications. In: Proceedings of Computer Networking Symposium, pp. 173–182. IEEE (1988)
Fagin, R., Halpern, J.Y., Vardi, M.Y., Moses, Y.: Reasoning about knowledge. MIT Press, Cambridge, MA (1995)
Genrich, H.J., Lautenbach, K.: System modelling with high-level Petri nets. Theor. Comput. Sci. 13, 109–136 (1981)
Graf, S., Peled, D., Quinton, S.: Achieving distributed control through model checking. In: Proceedings of CAV’10, vol. 6174 of LNCS, pp. 396–409. Springer (2010)
Graf, S., Peled, D., Quinton, S.: Monitoring distributed systems using knowledge. In: Proceedings of FMOODS-FORTE’11, vol. 6722 of LNCS, pp. 183–197. Springer (2011)
Graf, S., Quinton, S.: Knowledge for the distributed implementation of constrained systems. In: 10th International Conference on Integrated Formal Methods, iFM 2013, Turku, 10–14 June. Proceedings, vol. 7940 of LNCS, pp. 77–93. Springer (2013)
Graf, S., Quinton, S.: Building distributed controllers for systems with priorities. J. Log. Algebr. Program. 80(3–5), 194–218 (2011)
Gotzhein, R., von Bochmann, G.: Deriving protocol specifications from service specifications including parameters. ACM Trans. Comput. Syst. 8(4), 255–283 (1990)
Halpern, J.Y., Fagin, R.: Modelling knowledge and action in distributed systems. Distrib. Comput. 3(4), 159–177 (1989)
Kahn, G.: The semantics of simple language for parallel programming. In: IFIP Congress, pp. 471–475 (1974)
Kant, C., Higashino, T., von Bochmann, G.: Deriving protocol specifications from service specifications written in lotos. Distrib. Comput. 10(1), 29–47 (1996)
Katz, S., Peled, D.: Verification of distributed programs using representative interleaving sequences. Distrib. Comput. 6(2), 107–120 (1992)
Katz, G., Peled, D., Schewe, S.: Synthesis of distributed control through knowledge accumulation. In: Proceedings of CAV’11, vol. 6806 of LNCS, pp. 510–525. Springer (2011)
Lamport, L.: How to make a multiprocessor computer that correctly executes multiprocess programs. IEEE Trans. Comput. 28(9), 690–691 (1979)
Laurie Ricker, S.: Know means no: incorporating knowledge into discrete-event control systems. IEEE Trans. Autom. Control 45(9), 1656–1668 (2000)
Laurie Ricker, S., Rudie, K.: Knowledge is a terrible thing to waste: using inference in discrete-event control problems. IEEE Trans. Autom. Control 52(3), 428–441 (2007)
Lin, F., Wonham, W.M.: Decentralized supervisory control of discrete-event systems. Inf. Sci. 44(3), 199–224 (1988)
Pérez, J.A., Corchuelo, R., Toro, M.: An order-based algorithm for implementing multiparty synchronization. Concurr. Pract. Exp. 16(12), 1173–1206 (2004)
Peterson, J.L.: Petri Net Theory and Modeling of Systems. Prentice Hall, Englewood Cliffs (1981)
Probert, R.L., Saleh, K.: Synthesis of communication protocols: survey and assessment. IEEE Trans. Comput. 40(4), 468–476 (1991)
Reisig, W.: Petri Nets, an Introduction. EATCS Monographs on Theoretical Computer Science. Springer, Berlin (1985)
Rudie, K., Wonham, W.M.: Think globally, act locally: decentralized supervisory control. IEEE Trans. Autom. Control 37(11), 1692–1708 (1992)
von Bochmann, G., Gotzhein, R.: Deriving protocol specifications from service specifications. In: Proceedings of SIGCOMM’86, pp. 148–156. ACM (1986)
Wong, K.C., Wonham, W.M.: Modular control and coordination of discrete-event systems. Discrete Event Dyn. Syst. 8(3), 247–297 (1998)
Yamaguchi, H., El-Fakih, K., von Bochmann, G., Higashino, T.: Deriving protocol specifications from service specifications written as predicate/transition-nets. Comput. Netw. 51(1), 258–284 (2007)
Yoo, T.-S., Lafortune, S.: A general architecture for decentralized supervisory control of discrete-event systems. Discrete Event Dyn. Syst. 12(3), 335–377 (2002)
Yamaguchi, H., Okano, K., Higashino, T., Taniguchi, K.: Synthesis of protocol entities’ specifications from service specifications in a petri net model with registers. In: Proceedings of ICDCS’95, pp. 510–517 (1995)
Zafiropulo, P., West, C.H., Rudin, H., Cowan, D.D., Brand, D.: Towards analyzing and synthesizing protocols. IEEE Trans. Commun. COM–28(4), 651–661 (1980)
Author information
Authors and Affiliations
Corresponding author
Additional information
Communicated by Prof. Einar Broch Johnsen and Luigia Petre.
Rights and permissions
About this article
Cite this article
Graf, S., Quinton, S. Knowledge-based construction of distributed constrained systems. Softw Syst Model 15, 1163–1180 (2016). https://doi.org/10.1007/s10270-014-0451-z
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10270-014-0451-z