OMNI: Sistema de Suporte a Aplicações Distribuídas
Abstract
The OMNI system provides facilities for creation and communication of distributed processes in an heterogeneous network of computers running UNIX. Several concepts present in the UNIX system (such as the sending of signals, for example) have been extended to their distributed equivalent. Processes communicate via ports, which can be connection or connectionless. System objects (such as ports, for example) may be referenced by symbolic names, thus providing total transparency with regard to their actual location. The system will be used to support three distributed programming Languages currently under development at the A_HAND Project: Cm, LegoShell and CO2.
References
François Armand, Michel Gien, Fréderic Herrmann and Marc Rozjer. Revolution 89 or "Distributing UNIX Brings it Back to its Original Virtues". In workshop on Experiences with Distributed (and Multiprocessor) Systems, pages 153-174. Ft. Lauderdale, FL, USA, October 1989.
David R. Cheriton. The V kernel: A software base for distributed systems. IEEE Software, April 1984.
David R. Cheriton. The V distributed system. Communications of the ACM, 31(3), March 1988.
Leirton S. de Castro. SISTRAC: Sistema de Suporte a Trabalho Cooperativo. Tese de mestrado, Departamento de Ciência da Computação da Universidade Estadual de Campinas, 1991.
Defense Advanced Research Projects Agency, Information Proceesing Techniques Office, RFC 791. Internet Program Protocol Specification, September 1981.
Fred Douglis and John Ousterhout. Process migration in the Sprite operating system. I Proceedings of the 7th International Conference in Distributed Computing Systems, September 1987. Reprinted by the Computer Society Press of the IEEE.
Rogério Drummond. LegoShell linguagem de computações. III Simpósio Brasileiro de Engenharia de Software, pages 1-13, Recife, PE, outubro 1989.
Rogério Drummond e Fábio Q. B. da Silva. Linguagem Cm: Manual de referência. Anais da IV Reunião de Trabalho de Projeto ESTRA, páginas 175-210. SID Informática, outubro 1988.
Rogério Drummond e Marcelo A. H. de Souza. Linear - linearizador de estruturas complexas. Relatório técnico. Projeto A_HAND. DCC - IMECC - UNICAMP, 1992.
Rogério Drummond e Hans Liesenberg. A_HAND Ambiente de desenvolvimento de software baseado em Hierarquias de Abstração em Níveis Diferenciados. IV Encontro de Trabalho de Projeto Ethos, Petrópolis, RJ, abril 1987. Revisto e reimpresso como relatório técnico do Projeto A_HAND em outubro de 1987.
Rogério Drummond e Hans Liesenberg. Requisitos para um ambiente de desenvolvimento de programa. I Encontro IBM de Ciência e Tecnologia em Informática, Rio de Janeiro, RJ, novembro 1987.
Mauricio Fernández e Rogério Drummond. A_HAND Ambientes e Linguagens. Relatório técnico. Projeto A_HAND. DCC - IMECC - UNICAMP, 1991. Capítulo "Sobre uma linguagem de prototipagem para ambiente Unix".
Mauricio Fernández e Rogério Drummond. Linguagem de Comandos para Desenvolvimento de Software. Proposta de tese de mestrado do primeiro autor submetida ao Departamento de Ciência da Computação da Unicamp, outubro 1991.
Carlos A. Furuti. Introdução a Cm. Relatório técnico, Projeto A_HAND, DCC - IMECC - UNICAMP, setembro 1991.
Carlos A. Furuti. Um compilador para uma linguagem de programação orientada a objetos. Tese de mestrado, Departamento de Ciência da Computação da Universidade Estadual de Campinas, julho 1991.
Per Brinch Hansen. Distributed Processes: A Concurrent Programming Concept. Communications of the ACM, November 1978.
C.A.R. Hoare. Communicating Sequential Processes. Communications of the ACM, August 1978.
Michael B. Jones and Richard F. Rashid. Mach and Matchmaker: Kernel support for object-oriented distributed systems. In OOPSLA'86 Proceedings. Association for Computing Machinery. 1986.
Celso G. Junior. Suporte para a programação em sistemas distribuídos. Proposta de tese de mestrado submetida ao Departamento de Ciência da Computação da Unicamp, abril 1992.
Brian W. Kernighan and Dennis M. Ritchie. The C Programming Language. Prentice-Hall, Inc., 1978.
Jeff Magee and Naranker Dulay. MP: A Programming Environment for Multicomputers. Submited for publication.
Jeff Magee, Naranker Dulay, and Jeff Kramer. Constructive Communication in MP. Submited for publication.
Jeff Magee, Naranker Dulay, and Jeff Kramer. Structuring Parallel and Distributed Programs. Submited for publication.
John K. Ousterhout, Andrew R. Cherenson, Frederick Douglis, Michael N. Nelson, and Brent B. Welch. The Sprite network operating system. IEEE Computer, February 1988.
M. L. Powel, S. R. Kleiman, S. Barton, D. Shah, D. Stein, and M. Weeks. SunOS multi-threaded architecture. Technical report, Sun Microsystems Inc., 1991.
M. Rozier, V. Abrossimov, F. Armand, I. Boule, M. Gien, M. Guillemont, F. Herrmann, C. Kaiser, S. Langlois, P. Leonard, and W. Nenhauser. Overview of the CHORUS Distributed Operating System. Technical Report CS/TR-90-25, Chorus Systemes, April 1990.
Sun Microsystems. Network Programming Guide, March 1990.
Sun Microsystems. Programming Utilities & Libraries. March 1990. Chapter 2 "Lightweight Processes".
Sun Microsystems. SunOS Reference Manual, March 1990.
Alexandre P. Teles. Extensão da linguagem Cm. Proposta de tese de mestrado submetida ao Departamento de Ciência da Computação da Unicamp, abril 1992.
Lídia A. R. Yamamoto e Rogério Drummond. Ferramentas para Groupware. Relatório técnico. Projeto A_HAND. DCC - IMECC - UNICAMP, 1991. Capítulo "Sistema de Teleconferencia".
