Ehud Shapiro

Publications

(The publications listed below that are available online include a link named pdf.)
Books

Shapiro E., Algorithmic Program Debugging, MIT Press, 1983.

Shapiro E., Inductive Inference of Theories from Facts, Kyoritsu Publishing, 1986 (A
Japanese translation of a monograph that appeared as a Yale CS technical report).

3. Sterling L. and Shapiro E., The Art of Prolog: Advanced Programming Techniques, MIT
Press, 1986. Translated to Japanese, Dutch, French, German and Russian. Second edition,
1994.

4. Shapiro E. (Editor), Concurrent Prolog: Collected Papers, Vols. 1 and 2, MIT Press, 1987.

5. Scherz Z., Maler O. and Shapiro E., Hebrew Prolog for Beginners, Ramot Publishing, 1988 (in Hebrew).

Journals

1. Shapiro E. and Takeuchi A. (1983) Object-oriented programming in concurrent Prolog, J. New Generation Computing 1(1), 25–49.

2. Shapiro E. (1984) Alternation and the computational complexity of logic programs, J. Logic Programming 1(1), 19–33. pdf

3. Shapiro E. and Mierowsky C. (1984) Fair, biased, and self-balancing merge operators: their specification and implementation in Concurrent Prolog, J. New Generation Computing 2(3), 221–240.

4. Hellerstein L. and Shapiro E. (1986) Implementing parallel algorithms in Concurrent Prolog: the MAXFLOW experience, J. Logic Programming 3(2), 157–184.

5. Scherz Z., Maler O. and Shapiro E. (1986) Learning with Prolog - a new approach, J. Computers in Mathematics and Science Teaching VI (1), 31–37.

6. Shapiro E. (1986) Concurrent Prolog: a progress report, IEEE Computer 19(8), 44–58.

7. Shapiro E. and Safra M. (1986) Multiway merge with constant delay in Concurrent Prolog, J. New Generation Computing 4(2), 211–216.

8. Safra S. and Shapiro E., Meta-interpreters for real, Information Processing 86 (1986) 271–278.

9. Codish M. and Shapiro E. (1987) Compiling OR-parallelism into AND-parallelism, J. New Generation Computing 5(1), 45–61.

10. Taylor S., Av-Ron E. and Shapiro E. (1987) A layered method for process and code mapping, J. New Generation Computing 5(2).

11. Taylor S., Hellerstein L., Safra S. and Shapiro E. (1987). Notes on the complexity of systolic programs, J. Parallel and Distributed Computing 4(3).

12. Taylor S., Safra S. and Shapiro E. (1987) A parallel implementation of Flat Concurrent Prolog, Intl. J. Parallel Programming 15(3), 245–275.

13. Gallagher J., Codish M. and Shapiro E. (1988) Specialization of Prolog and FCP programs using abstract interpretation, J. New Generation Computing 6,159–186.

14. Houri A. and Shapiro E. (1989) A sequential abstract machine for Flat Concurrent Prolog, J. Logic Programming 7, 85–123.

15. Shapiro E. (1989) Or-parallel Prolog in Flat Concurrent Prolog, J. Logic Programming 6, 243–267.

16. Shapiro E. (1989) The family of concurrent logic programming languages, ACM Computing Surveys 21(3), 412–510. pdf

17. Yardeni E., Kliger S., Kahn, K. and Shapiro, E. (1990) The languages FCP(:) and FCP(:,?), J. New Generation Computing 7, 89–107. An earlier version appeared in Proc. Intl. Conf. on Fifth Generation Computer Systems, ICOT, Tokyo, 1988, pp. 763–773.

18. Yardeni E. and Shapiro E. (1991) A type system for logic programs, J. Logic Programming 10(2), 125-153. pdf

19. Feldman Y. and Shapiro E. (1992) Spatial machines: a more realistic approach to parallel computation. Comm. ACM 35(10), 60-73. pdf

20. Moscowitz Y. and Shapiro E. (1995) On the structural simplicity of machines and languages, Annals Mathematical and Artificial Intelligence 15, 379–405. pdf

21. Priami C., Regev A., Silverman W., and Shapiro E. (2001) Application of a stochastic name-passing calculus to representation and simulation of molecular processes. Information Processing Letters 80, 25-31. pdf

22. Benenson Y., Paz-Elitzur T., Adar R., Keinan E., Livneh Z. and Shapiro E. (2001) Programmable and autonomous computing machine made of biomolecules. Nature, 414, 430-434.pdf

23. Regev A. and Shapiro E. (2002) Cellular abstractions: Cells as computation. Nature 419, 343.pdf

24. Benenson Y., Adar R., Paz-Elitzur T., Livneh Z. and Shapiro E. (2003) DNA molecule provides a computing machine with both data and fuel. PNAS, 100, 2191-2196.pdf

25. Regev A., Panina E., Silverman W., Cardelli L., Shapiro E. (2003) BioAmbients: An abstraction from biological compartments. Theoretical Computer Science, 325, 141-167. pdf

26. Adar R., Benenson Y., Linshiz G., Rozner A, Tishby N. and Shapiro E. (2004) Stochastic computing with biomolecular automata. PNAS, 101, 9960-65.pdf

27. Benenson Y., Gil B., Ben-Dor U., Adar R. and Shapiro E. (2004) An autonomous molecular computer for logical control of gene expression. Nature, 429, 423-429. pdf

28. Kaplan S, Itzkovitz S, Shapiro E. (2007) A universal mechanism ties genotype to phenotype in trinucleotide diseases. PLoS Computational Biology. pdf

29. Kahan M, Gil B, Adar R and Shapiro E. (2008) Towards molecular computers that operate in a biological environment. Physica D: Nonlinear Phenomena. In press. pdf | Electronic Version

30. Dan Frumkin, Adam Wasserstrom, Shalev Itzkovitz, Alon Harmelin, Gideon Rechavi and Ehud Shapiro (2008) Amplification of multiple genomic loci from single cells isolated by laser micro-dissection of tissues. BMC Biotechnology 2008, 8:17.
pdf | Electronic version

31. A Robot Programming Language. pdf

Conference Proceedings
1. Shapiro E. An algorithm that infers theories from facts, in Proc. 7th Intl. Joint Conf. on Artificial Intelligence, Vancouver, BC, Canada, 1981, pp. 446–451.

2. Shapiro E. The model inference system (program demonstration), in Proc. 7th Intl. Joint Conf. on Artificial Intelligence, Vancouver, BC, Canada, 1981, p. 1064.

3. Shapiro E. Algorithmic program diagnosis, in Proc. 9th Annual ACM Symp. on Principles of Programming Languages, Albuquerque, NM, 1982, pp. 299–308.pdf

4. Chikayama T., Furukawa K. and Shapiro E. Communication and synchronization by shared logical variables, in Proc. 26th Conf. of the Information Processing Society of Japan, 1983 (in Japanese).

5. Shapiro E. Logic programs with uncertainties: a tool for implementing rule-based systems, in Bundy A., editor, Proc. 8th Intl. Joint Conf. on Artificial Intelligence, Karlsruhe, Germany, 1983, pp. 529–532.pdf

6. Shapiro E. Methodology of logic programming, in Proc. Logic Programming Workshop, Praia da Falesia, Algarve, Portugal, 1983, pp. 84–93.

7. Shapiro E. Systolic programming: a paradigm of parallel processing, in Proc. Fifth Generation Computer Systems, ICOT, Tokyo, 1984, pp. 458–471.

8. Shapiro E. Systems programming in Concurrent Prolog, in Proc. 11th Annual ACM Symp. on Principles of Programming Language, 1984, pp. 93–105. Also in Logic Programming and Its Applications (Warren, D.H.D. and van Caneghem, M., eds.), Ablex.

9. Edelman S. and Shapiro E. Quadtrees in Concurrent Prolog, in Proc. IEEE Intl. Conf. On Parallel Processing, August 1985, pp. 544–551.

10. Fiat A., Shamir A. and Shapiro E. Polymorphic arrays: an architecture for a programmable systolic machine, in Proc. IEEE Intl. Conf. on Parallel Processing, August 1985, pp. 112–117.

11. Maler O., Scherz Z. and Shapiro E. A new approach for introducing Prolog to naive users, in Proc. 3rd Intl. Conf. on Logic Programming (Goos, G. and Hartmanis, J., eds.), LNCS 225, Springer-Verlag, July 1986, pp. 544–551.

12. Scherz Z. and Shapiro E. The use of logic programming in education, in Developments in Educational Software and Courseware - Proc. European Conf. on Information Technology in Education (Moonen, J. and Plomp, T., eds.), Pergamon Press, 1987, pp. 531–539.

13. Tribble E., Miller M., Kahn K., Bobrow D., Abbott C. and Shapiro E., Channels: a generalization of streams, in Proc. 4th Intl. Conf. on Logic Programming (Lassez, J.L., ed.), 1987, pp. 839–857.

14. Weinbaum D. and Shapiro E. Hardware description and simulation using Concurrent Prolog, in Proc. IFIP WG 10.2 8th Intl. Conf. On Computer Hardware Description Languages and their Applications (Barbacci, M. and Koomen, C.J., eds.), Elsevier, April 1987, pp. 9–27.

15. Alkalaj L. and Shapiro E. An architectural model of an FCP processor, in Proc. 5th Intl. Seattle, WA, 1988, pp. 1277–1297.

16. Lichtenstein Y. and Shapiro E. Abstract algorithmic debugging, in Proc. 5th Intl. Conf. and Symp. on Logic Programming (Bowen, K. and Kowalski, R.A., eds.), MIT Press, Seattle, WA. 1988, pp. 1315–1336.

17. Shapiro E. The panel on theory and practice of concurrent systems, in Proc. Intl. Conf. On Fifth Generation Computer Systems, ICOT, Tokyo, 1988, pp. 152–153.

18. Gallagher J., Codish M. and Shapiro E. Using safe approximations of fixed points for analysis of logic programs, in Proc. Workshop on Meta-Programming in Logic Programming (Abramson, A. and Rogers, M.H., eds.), MIT Press, Bristol, 1988, pp. 233–261.

19. Gerth R., Codish M., Lichtenstein Y. and Shapiro E. Fully abstract denotational semantics for Flat Concurrent Prolog, in Proc. IEEE Symp. On Logic in Computer Science, 1988, 320–333.

20. Kliger S. and Shapiro E. A decision tree compilation algorithm for FCP(|,:,?), in Proc. 5th Intl. Conf. and Symp. on Logic Programming (Bowen, K. and Kowalski, R.A., eds.), MIT Press, Seattle, WA, 1988, pp. 1315–1336.

21. Saraswat V.A., Weinbaum D., Kahn K. and Shapiro E. Detecting stable properties of networks in concurrent logic programming languages, in Proc. 7th Annual ACM Symp. On Principles of Distributed Computing, August 1988, pp. 210–222.

22. Taylor S., Shapiro R. and Shapiro E. FCP: A summary of performance results, in Proc. 3rd Conf. on Hypercube Concurrent Computers and Applications (Fox, G., ed.), ACM Press, 1988, pp. 1364–1373. An abridges version of FCP: Initial Studies of Parallel Performance, Technical Report CS87–19, Department of Computer Science, Weizmann Institute of Science, Rehovot, 1987.

23. Gaifman H. and Shapiro E. Fully abstract compositional semantics for logic programs, in Proc. 16th Annual ACM Symp. on Principles of Programming Languages, Austin, 1989, pp. 134–142.pdf

24. Gaifman H. and Shapiro E. Proof theory and semantics of logic programs, in Proc. 4th Annual IEEE Symp. on Logic in Computer Science, June 1989, pp. 50–62.

25. Gaifman H., Maher M.J. and Shapiro E. Reactive behavior semantics for concurrent constraints logic programs, in Proc. 1989 North American Conf. on Logic Programming (Lusk E.L. and Overbeek E., eds.), MIT Press, 1989, pp. 553–572.

26. Reches E., Gudes E. and Shapiro E. A distributed locking algorithm for a transaction system in Flat Concurrent Prolog. To appear in Proc. 3rd Intl. Conf. on Foundations of Data Organization and Algorithms, INRIA, June 1989.

27. Fruehwirth T.W., Shapiro E. and Yardeni E. Logic programs as types for logic programs, LICS'91, The Netherlands, July 1991, pp. 300–309.

28. Gaifman H., Mahler M.J. and Shapiro E., Replay, recovery, replication, and snapshots of nondeterministic concurrent programs, in Proc. Annual ACM Symp. on Principles of Distributed Computing, 1991.

29. Kleinman A., Moscowitz Y., Pnueli A. and Shapiro E. Communication with directed logic variables, in Proc. 18th Annual ACM Symp. on Principles of Programming Languages, 1991, pp. 221–232.

30. Moscowitz Y. and Shapiro E. Lexical logic programs, in Proc. 8th Intl. Conf. on Logic Programming (Furukawa, K., ed.), MIT Press, 1991, pp. 349–363.

31. Shapiro E., Separating concurrent languages with categories of language embeddings, in Proc. STOC'91, ACM, 1991, pp. 198–208.pdf

32. Yardeni E., Fruehwirth T.W. and Shapiro E. Polymorphically typed logic programs, in Proc. 8th Intl. Conf. on Logic Programming, Paris, June 1991, p. 393.

33. Goldberg Y., Safran M. and Shapiro E. Active mail: a framework for implementing groupware, in Proc. ACM Conf. on Computer Supported Cooperative Work, Toronto, November 1992, pp. 75–83.

34. Goldberg Y., Silverman W. and Shapiro E. Logic programs with inheritance, in Proc. Conf. on Fifth Generation Computer Systems, ICOT, Tokyo, June 1992, pp. 951–960.

35. Shapiro E. Embeddings among concurrent programming languages, in Proc. 3rd Intl. Conf. on Concurrency Theory (Cleveland, W.R., ed.), LNCS 630, Springer-Verlag, 1992, pp. 486–503.

36. Shapiro E., Lancet D. and Segré D. Molecular transition systems: A computational embodiment for the Graded Autocatalysis Replication Domain (GARD) model, Workshop affiliated with ALIFE–6, June 1998.

37. Shapiro E. A Mechanical Turing Machine: Blue-print for a Biomolecular Computer. In Proc. 5th Int. Meeting on DNA Based Computers; Winfree, E., Giffrod, D., Eds.; DIMACS Series in Discrete Mathematics and Theoretical Computer Science, American Mathematical Society: Providence, RI, 1999; 229–230.

38. Regev A., Silverman W., and Shapiro E. Representation and simulation of biochemical processes using the pi-calculus process algebra. Proceedings of the Pacific Symposium of Biocomputing 2001 (PSB2001) 6:459-470. pdf
Chapters in Books

1. Shapiro E. Inductive inference of theories from facts, Research Report 192, Department of Computer Science, Yale University, 1981. Also in Computational Logic: Essays in Honour of Alan Robinson (Lassez, J.-L. and Plotkin, G., eds.), MIT Press, 1993, pp. 199–254.pdf

2. Shapiro E. A subset of Concurrent Prolog and its interpreter, ICOT Technical Report TR-003, Institute for New Generation Computer Technology, Tokyo, 1983. Also in Concurrent Prolog: Collected Papers, E. Shapiro (ed.), MIT Press, 1987, Chapter 2.

3. Edelman S. and Shapiro E. Image processing with Concurrent Prolog, in Concurrent Prolog: Collected Papers, E. Shapiro (ed.), MIT Press, 1987, Chapter 12.

4. Hirsch M., Silverman W. and Shapiro E. Computation control and protection in the Logix system, in Concurrent Prolog: Collected Papers, E.. Shapiro (ed.), MIT Press, 1987, Chapter 20.

5. Katzenellenbogen D., Cohen S. and Shapiro E. An architecture of a distributed window system and its FCP implementation, in Concurrent Prolog: Collected Papers, E. Shapiro (ed.), MIT Press, 1987, Chapter 23.

6. Levy J. and Shapiro E. Translation of safe GHC and safe Concurrent Prolog to FCP, in Concurrent Prolog: Collected Papers, E. Shapiro (ed.), MIT Press, 1987, Chapter 33.

7. Levy J. and Shapiro E. CFL - a concurrent functional language embedded in a concurrent logic programming environment, in Concurrent Prolog: Collected Papers, E. Shapiro (ed.), MIT Press, 1987, Chapter 35.

8. Lichtenstein Y., Codish M. and Shapiro E. Representation and enumeration of Flat Concurrent Prolog computations, in Concurrent Prolog: Collected Papers, E. Shapiro (ed.), MIT Press, 1987, Chapter 27.

9. Shafrir A. and Shapiro E. Distributed programming in Concurrent Prolog, in Concurrent Prolog: Collected Papers, E. Shapiro (ed.), MIT Press, 1987, Chapter 11.

10. Silverman W., Hirsch M., Houri A. and Shapiro E. The Logix system user manual, in Concurrent Prolog: Collected Papers, E. Shapiro (ed.), MIT Press, 1987, Chapter 21.

11. Regev A. and Shapiro E. The pi-calculus as an Abstraction for Biomolecular Systems. In G. Ciobanu, G. Rozenberg (Eds.):"Modelling in Molecular Biology", pages 219-266, Natural Computing Series, Springer, 2004. pdf

Top