Especificação Formal de uma Ferramenta de Trabalho Colaborativo através da Composição de Objetos Náutilus

  • Cirney Carneiro UFRGS
  • Rodrigo Quites Reis UFRGS / UFPA
  • Paulo Blauth Menezes UFRGS

Abstract


The construction of correct and reliable concurrent and distributed programs holds one of the most important issues in the Software Engineering field nowadays. The Náutilus object based language is a formalism developed to deal with this kind of programs. This language was used in the specification of a synchronous collaborative editor called CoEdit (which was originally developed with Java). CoEdit specification in Náutilus is more clear because of the facilities available in this language to express concurrent process synchronization. Also, an important extension to the original CoEdit program was implemented by the use of Náutilus’ abstraction mechanisms in order to reuse previously specified components.

Keywords: computer supported cooperative work, concurrent and distributed programming, formal specification, software components, Category Theory

References

ASPERTI, Andrea; LONGO, Giuseppe. Categories, Types and Structures - An Introduction to the Working Computer Science. Foundations of Computing. M. Garey, A. Meyer - Editors. The MIT Press, 1991.

BARR, Michael; WELLS, Charles. Category Theory for Computing Science. London: Prentice Hall International. 1990.

BISCHOFBERGER, W. et al. Computer Supported Cooperative Software Engineering with Beyond-Sniff. [link] 1995.

BORGES, M. et al. Suporte por Computador ao Trabalho Cooperativo. Canela-RS: Instituto de Informática da UFRGS, 1995. JAI, 14., 1994, Canela.

CARNEIRO, C.; REIS, R.; MENEZES, P.B. Processamento Concorrente em Náutilus e Java. Simpósio Brasileiro de Linguagens de Programação, 3. Anais... Porto Alegre: SBC, 1999.

CARNEIRO, C. et. al. Náutilus: its Concurrent and Distributed Characteristics and as an Academic Language. In: Parallel and Distributed Processing Techniques and Applications, 1999, Las Vegas. Proceedings... Athens: C.S.R.E.A., 1999.

CARNEIRO, C. Autômato Não Seqüencial Identificado como Suporte para Classes em Náutilus. Porto Alegre: UFRGS, II-PPGC, 1999. Dissertação de Mestrado.

ELLIS, C.; GIBBS, S.; REIN, G. Groupware: some issues and experiences. Communications of the ACM, v.34, n.1, p.28-36, May 1994.

ELLIS, C. A Framework and Mathematical Model for Collaboration Technology. Berlin: Springer-Verlag, 1998 (Lecture Notes in Computer Science 1364)

GOSLING, J.; JOY, Bill.; STEELE, Guy. The Java Language Specification. [link].

GUTWIN, C.; GREENBERG, S. Workspace Awareness. In: CHI'97 Workshop on Awareness in Collaborative Systems, Proceedings... 1997.

HOARE, C.A.R. Monitors - An Operating System Structuring Concept. Communications of the ACM, v.17, n.10. p.549-557. 1974.

ISO-Information Processing Systems-Open Systems Interconection. LOTOS - A Formal Description Technique Based on the Temporal Ordering of Observational Behaviour. DIS 8807. [S.l.]. 1987.

KHOSHAFIAN, S.; BUCKIEWICZ, M. Introduction to Groupware, Workflow and Workgroup Computing. New York: John Wiley & Sons, 1995.

LI, D.; MUNTZ, R. COCA: Collaborative Objects Coordination Architecture. In: CSCW'98. ACM 1998 Conference on CSCW, Proceedings... p. 179-188, 1998.

MENEZES, P.B.; COSTA, J.F. Compositional Reification of Concurrent Systems. Journal of the Brazilian Computer Society. v.2, n.1, p.50-67. Jul. 1995.

MENEZES, P.B. et al. Refinement in a Concurrent Object-Based Language. In: Simpósio Brasileiro de Linguagens de Programação, 1. Anais... SBC: Belo Horizonte. 1996.

MENEZES, P.B. Reificação de Objetos Concorrentes. Tese de doutorado. Instituto Superior Técnico. Universidade Técnica de Lisboa. 148 p. 1997.

MENEZES, P.B. et al. Nonsequential Automata Semantics for a Concurrent Object-Based Language. In: US-Brazil Workshop on Formal Foundations of Software Systems, 1. Proceedings... Rio de Janeiro. Electronic Notes in Theoretical Computer Science 14. 29 p. (http://www.elsevier.nl/locate/entcs/volume1.html). 1998.

MENEZES, P.B. A Categorial Framework for Concurrent, Anticipatory Systems. In: INTERNATIONAL CONFERENCE ON COMPUTING ANTICIPATORY SYSTEMS, 2., 1998, Liege, BE. Abstract Book. Liege, BE: Chaos ASBL, 1998.

RATIONAL (http://www.rational.com)

REGLI, W.C.Internet-Enabled Computer-Aided Design. IEEE Internet Computing, New York, v. 1, n. 1, p. 39-50, Feb. 1997.

REINHARD, W. et al. CSCW Tools: Concepts and Architectures. IEEE Computer, v.27, n. 5, p.28-36, May 1994.

REIS, R.Q. Uma Proposta de Suporte ao Desenvolvimento Cooperativo de Software no Ambiente PROSOFT. Dissertação de mestrado, CPGCC-UFRGS, 1998. (http://www.inf.ufrgs.br/~prosoft)

REIS, R.Q. et al. CoEdit - Um editor colaborativo síncrono em Java. Relatório Técnico, PPGC-UFRGS, 1998.

REKERS, J.; SPRINKHUIKEN-KUYPER, I. A LOTOS Specification of a CSCW Tool. (ftp://ftp.wi.LeidenUniv.nl/pub/CS/TechnicalReports/1992/tr92-28.ps.gz), 1992.

SERNADAS, A.; RAMOS, J. A. Linguagem GNOME: Sintaxe, Semântica e Cálculo. Relatório técnico. Universidade Técnica de Lisboa. 1994.

SERNADAS, C.; GOUVEIA, P.; SERNADAS, A. OBLOG: Object-Oriented Logic-Based Conceptual Modelling. Research report. Section of Computer Science. Department of Mathematics. IST. 1096 Lisboa. Portugal. 1992.

SERNADAS, C.; CARMO, P.; PENEDO, P. The GNOME compiler. Research Report. Section of Computer Science. Department of Mathematics. Instituto Superior Técnico. 1096 Lisboa. Portugal. 1994.

STEFIK, M. et al. Beyond the Chalk Board: Computer Support for Collaboration and Problem Solving in Meetings. Communications of the ACM, v. 30, n. 1, 1987.

SUN. Java 1.2 Documentation. Disponível por www em (http://java.sun.com/products/jdk/1.2/download-docs.html). 1999.

TAKAHASHI, T. et al. Programação Orientada a Objetos. SP: IME-USP. 1990.

WEGNER, P. Concepts and Paradigms of Object-Oriented Programming. OOPS MESSENGER. ACM Press. vI. nI. Aug 1990.
Published
1999-10-13
CARNEIRO, Cirney; REIS, Rodrigo Quites; MENEZES, Paulo Blauth. Especificação Formal de uma Ferramenta de Trabalho Colaborativo através da Composição de Objetos Náutilus. In: BRAZILIAN SYMPOSIUM ON SOFTWARE ENGINEERING (SBES), 13. , 1999, Florianópolis/SC. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 1999 . p. 78-93. ISSN 2833-0633. DOI: https://doi.org/10.5753/sbes.1999.23916.