Parallel Alchemist: a Visual Environment for Parallel Software Development with Shared Memory Programming Models
Resumo
Este artigo apresenta um ambiente de desenvolvimento visual de software paralelo. Alquimista se baseia em multithreading e utiliza memória compartilhada como o meio de comunicação entre as threads. O processo de desenvolvimento de software é integralmente visual, permitindo a construção de programas complexos a partir de blocos de programação primitivos. Alquimista utiliza meta-esquemas de modelos de programação paralela e gera código em qualquer modelo descrito por um meta-esquema, inclusive o modelo nativo de programação paralela Mulplix, em desenvolvimento para o multiprocessador Multiplus. Alquimista está implementado em Java e disponivel para a plataforma Solaris. Exemplos de meta-esquemas e código gerado são apresentados e discutidos neste artigo.
Referências
Ahmed, S.; Carriero, N.; Gelemter, D. "A Program Building Tool for Parallel Applications", DIMACS Workshop on Specifications of Parallel Algorithms, Princeton University, May 1994
Azevedo, Rafael P. "Mulplix: An UNIX-like Operating System for Parallel Programming", M.Sc. Thesis, COPPE/UFRJ, 1993, in portuguese
Barros, Márcio O. "Implementation of the Pthreads Model under the Mulplix Operating System", Technical Report NCE-01/96, NCE/UFRJ, 1996, in portuguese Boehm, Barry W. "Software Engineering", IEEE Transactions on Computers, December 1976
J. C. Browne et al "Visual Programrning and Debugging for Parallel Computing", IEEE Parallel and Distributed Technology, Vol. 3, No. 1, 1995
Carrera, Enrique V. et al. "P-RIO: Construção Gráfica e Modular de Programas Paralelos e Distribuídos", Proceedings of the Vll Brazilian Symposium on Computer Architecture - Parallel Processing, Canela, Brazil, 1995
Flamagan, D. "Java in a Nutshell: A Desktop Quick Reference for Java Programmers", O'Reilly & Associates Inc., 1996
Geist AI, Beguelin A., Dongarra J., Jiang W., Mancheck R., Sunderam V., "PVM - A users guide and tutorial for Network Parallel Computing", The MIT Press, Massachusetts, 1994
Grahan, John R. "Solaris 2.x: Internais and Architecture", McGraw-Hill, Inc., 1995
Hils, D. D. "Visual Languages and Computing Survey: Data Flow Visual Programming Languages", Journal of Visual Languages and Computing, Vol. 3, No. 1, 1992
Institute for Electrical and Electronic Engineers, POSIX P1003.4a, "Threads Extension for Portable Operating Systems", 1994
lngalls, D. et al. "Fabrik, A Visual Programming Environment", OOSPLA'88 Proceedings, ACM Sigplan Notices, Vol. 23, No. 11, November 1988
Karsai, Gabor. "A Configurable Visual Programming Environment: A Tool for Domain-Specific Programming", IEEE Computer, March 1995
Kemighan, B. and Ritchie, D. "The C Programming Language", Second Edition, Prantice-Hall Software Series, 1988
Message Passing Interface Forum, "MPI: A Message-Passing Interface Standard", MPI Forum Draft, June 1995
Newton, P. and Dongarra, J. "Overview of VPE: A Visual Environment for Message-Passing", Heterogeneous Computing Workshop at the 9'th International Parallel Processing Symposium, Santa Barbara, EUA, 1995
Pressman, Roger. "Software Engineering: a Practitioner's Approach", Third Edition, McGraw-Hill International Editions, 1992
Repenning, A.; Sumner, T. "Agentsheets: A Medium for Creating Domain-Oriented Visual Languages", IEEE Computer, March 1995
Schaeffer, J et al. "The Enterprise Model for Developing Distributed Applications", IEEE Parallel & Distributed Technology, Vol. I, No. 3, August 1993
Sun Microsystems, Inc. "Multithreaded Programming Guide", 1995