Control machines: a new model of parallelism for compositional specifications and their effective compilation

Abstract We present a model of parallelism and a specification language which allow modular (compositional) specifications of parallel processes. The specifications specify the states of the processes and broadcasted signals. We also give an algorithm which compiles the main part of this specification language and requires only linear time and space. This specification language is therefore a logical programming language for parallel processes, efficiently compilable. The model introduces a new communication mean: the synchronization of processes on common states, which implement rigorously instantaneous communications. This is made possible by the introduction of a control environment. The model exhibits a strong connection between temporal logic operators and regular operations on processes. It also allows a natural representation of hierarchical networks of processes and of dynamic creation of processes. We also give a fully abstract semantics based on modular specifications. The model and the specification language have been designed for real-time applications although the basic ideas are more general.

[1]  Raymond R. Devillers,et al.  Sequential and Concurrent Behaviour in Petri Net Theory , 1987, Theor. Comput. Sci..

[2]  Martín Abadi,et al.  Temporal Logic Programming , 1989, J. Symb. Comput..

[3]  A. Prasad Sistla,et al.  Automatic verification of finite state concurrent system using temporal logic specifications: a practical approach , 1983, POPL '83.

[4]  A. Prasad Sistla,et al.  Reasoning with Many Processes , 1987, LICS.

[5]  Bowen Alpern,et al.  Proving Boolean Combinations of Deterministic Properties , 1987, Logic in Computer Science.

[6]  Zohar Manna,et al.  Specification and verification of concurrent programs by A∀automata , 1987, POPL '87.

[7]  Richard E. Ladner,et al.  The Computational Complexity of Provability in Systems of Modal Propositional Logic , 1977, SIAM J. Comput..

[8]  Antoni W. Mazurkiewicz,et al.  Compositional Semantics of Pure Place/ Transition Systems , 1988, European Workshop on Applications and Theory of Petri Nets.

[9]  Jozef Hooman,et al.  A Compositional Proof Theory for Real-Time Distributed Message Passing , 1987, PARLE.

[10]  Robin Milner,et al.  Calculi for Synchrony and Asynchrony , 1983, Theor. Comput. Sci..

[11]  Luisa Gargano,et al.  Synchronizability of Multivalued Encodings , 1988 .

[12]  Pierre Wolper,et al.  Temporal logic can be more expressive , 1981, 22nd Annual Symposium on Foundations of Computer Science (sfcs 1981).

[13]  Joseph Y. Halpern,et al.  Decision procedures and expressiveness in the temporal logic of branching time , 1982, STOC '82.

[14]  Eike Best COSY: Its Relation to Nets and CSP , 1986, Advances in Petri Nets.

[15]  Willem P. de Roever,et al.  Full abstraction of a real-time denotational semantics for an OCCAM-like language , 1987, POPL '87.

[16]  K. Sato A decision procedure for the unique decipherability of multivalued encodings (Corresp.) , 1979, IEEE Trans. Inf. Theory.

[17]  Ugo Montanari,et al.  Partial ordering derivations for CCS , 1985, FCT.

[18]  E. Pascal Gribomont,et al.  Design and Proof of Communicating Sequential Processes , 1987, PARLE.

[19]  Mordechai Ben-Ari,et al.  The Temporal Logic of Branching Time , 1981, POPL.

[20]  Renato M. Capocelli A decision procedure for finite decipherability and synchronizability of multivalued encodings , 1982, IEEE Trans. Inf. Theory.

[21]  Chin-Laung Lei,et al.  Modalities for Model Checking: Branching Time Logic Strikes Back , 1987, Sci. Comput. Program..

[22]  Christoph G. Günther,et al.  A Universal Algorithm for Homophonic Coding , 1988, EUROCRYPT.

[23]  Martín Abadi,et al.  A Timely Resolution , 1986, LICS.

[24]  Moshe Y. Vardi Verification of Concurrent Programs: The Automata-Theoretic Framework , 1991, Ann. Pure Appl. Log..

[25]  Neelam Soundararajan,et al.  A Proof System for Distributed Processes , 1985, Logic of Programs.

[26]  James L. Massey,et al.  An Information-Theoretic Treatment of Homophonic Substitution , 1990, EUROCRYPT.

[27]  David Harel,et al.  Statecharts: A Visual Formalism for Complex Systems , 1987, Sci. Comput. Program..

[28]  Willem P. de Roever,et al.  Compositional Semantics for Real-Time Distributed Computing , 1985, Inf. Comput..

[29]  Gérard Berry,et al.  The ESTEREL Synchronous Programming Language and its Mathematical Semantics , 1984, Seminar on Concurrency.

[30]  Amir Pnueli,et al.  A really abstract concurrent model and its temporal logic , 1986, POPL '86.

[31]  Matthew Hennessy,et al.  Full Abstraction for a Simple Parallel Programming Language , 1979, MFCS.

[32]  Colin Stirling,et al.  A Complete Compositional Model Proof System for a Subset of CCS , 1985, ICALP.

[33]  Toniann Pitassi,et al.  Semantics for Nondeterministic Asynchronous Broadcast Networks , 1987, ICALP.

[34]  Edmund M. Clarke,et al.  Design and Synthesis of Synchronization Skeletons Using Branching-Time Temporal Logic , 1981, Logic of Programs.

[35]  Edmund M. Clarke,et al.  Characterizing Finite Kripke Structures in Propositional Temporal Logic , 1988, Theor. Comput. Sci..

[36]  Chin-Laung Lei,et al.  Temporal Reasoning Under Generalized Fairness Constraints , 1986, STACS.

[37]  E. Emerson,et al.  Modalities for model checking (extended abstract): branching time strikes back , 1985, ACM-SIGACT Symposium on Principles of Programming Languages.

[38]  Amir Pnueli,et al.  Checking that finite state concurrent programs satisfy their linear specification , 1985, POPL.

[39]  Ugo Vaccaro,et al.  Structure of decoders for multivalued encodings , 1989, Discret. Appl. Math..

[40]  Pierre Wolper,et al.  Synthesis of Communicating Processes from Temporal Logic Specifications , 1981, TOPL.

[41]  Amaury Heibig Un langage modulaire de specifications de programmes paralleles et sa compilation , 1988 .

[42]  Joseph Y. Halpern,et al.  "Sometimes" and "not never" revisited: on branching versus linear time (preliminary report) , 1983, POPL '83.

[43]  Amir Pnueli,et al.  The Glory of the Past , 1985, Logic of Programs.

[44]  Jennifer Widom,et al.  Completeness and incompleteness of trace-based network proof systems , 1987, POPL '87.