Skip to main content

An Overview of the Virtuosi Toolkit

  • Conference paper
Book cover Advanced Distributed Systems (ISSADS 2004)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 3061))

Included in the following conference series:

  • 316 Accesses

Abstract

Currently, a number of distributed software systems development tools exist, but typically they are designed either to satisfy industrial standards – industrial perspective – or to experiment new concepts – research perspective. There is a need for software development tools where programmers can both learn about distributed computing – pedagogical perspective – and build quality distributed software systems through prototyping – experimental perspective. This paper introduces the Virtuosi Project, which aims at building a toolkit to assist in developing and executing distributed software systems from both pedagogical and experimental perspectives. It combines virtual machine, object-oriented programming and computational reflection concepts to give those perspectives. The Virtuosi runtime environment can be seen as a reflective middleware, where objects can migrate and remote method invocation is totally transparent by using a mechanism based on handle table.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Soley, R.M., Kent, W.: The OMG object model. In: Kim, W. (ed.) Modern Database Systems, pp. 18–41. Addison-Wesley, Reading (1995)

    Google Scholar 

  2. Silberchatz, A., Galvin, P.B.: Operating System Concepts, 5th edn. Addison-Wesley, Reading (1998)

    Google Scholar 

  3. Dahl, O.J., Nygaard, K.: Simula-67 common base language. Technical Report S-22, Norwegian Computing Centre, Oslo (1970)

    Google Scholar 

  4. Goldberg, A., Robson, D.: Smalltalk-80: The Language. Addison-Wesley, Reading (1983)

    MATH  Google Scholar 

  5. Stroustrup, B.: The C++ Programming Language. Addison Wesley, Reading (1986)

    MATH  Google Scholar 

  6. Arnold, K., Gosling, J.: The Java Programming Language. Addison-Wesley, Reading (1996)

    MATH  Google Scholar 

  7. Meyer, B.: Object-Oriented Software Construction, 2nd edn. Prentice Hall PTR, Englewood Cliffs (1997)

    MATH  Google Scholar 

  8. Briot, J.P., Guerraoui, R., Lohr, K.P.: Concurrency and distribution in objectoriented programming. ACM Computing Surveys 30, 291–329 (1998)

    Article  Google Scholar 

  9. Birman, K.P.: Replication and fault-tolerance in the ISIS System. ACM Operating System Review 19 (1985); Proceedings of the 10th ACM Symposium on Operating System Principles

    Google Scholar 

  10. Parrington, G.D., Shrivastava, S.K., Wheater, S.M., Little, M.C.: The design and implementation of Arjuna. USENIX Computing Systems Journal 8 (1995)

    Google Scholar 

  11. Mullender, S.J., Rossum, G.v., Tanenbaum, A.S., Renesse, R.v., Staveren, H.v.: Amoeba: A distributed operating system for the 1990s. IEEE Computer 23, 44–53 (1990)

    Google Scholar 

  12. Boykin, J., Kirschen, D., Langerman, A., Loverso, S.: Programming under Mach. Addison-Wesley, Reading (1993)

    Google Scholar 

  13. Maes, P.: Concepts and experiments in computational reflection. ACM SIGPLAN Notices 22, 147–155 (1987); OOPSLA 1987 (1987)

    Article  Google Scholar 

  14. Kon, F., Roman, M., Liu, P., Mao, J., Yamane, T., Magalhães, L., Campbell, R.: Monitoring, security, and dynamic configuration with the DynamicTAO reflective ORB. In: Coulson, G., Sventek, J. (eds.) Middleware 2000. LNCS, vol. 1795, pp. 121–143. Springer, Heidelberg (2000)

    Chapter  Google Scholar 

  15. Blair, G., Coulson, G., Andersen, A., Blair, L., Clarke, M., Costa, F., Duran- Limon, H., Fitspatrick, T., Johnston, L., Moreira, R., Parlavantzas, N., Saikoski, K.: The design and implementation of Open ORB. In: IEEE Distributed Systems Online (2001)

    Google Scholar 

  16. Kon, F., Costa, F., Blair, G., Campbell, R.H.: The case for reflective middleware. Communications of the ACM 45, 33–38 (2002)

    Article  Google Scholar 

  17. Venkatasubramanian, N.: Safe composability of middleware services. Communications of the ACM 45, 49–52 (2002)

    Article  Google Scholar 

  18. Oliva, A.: Guaraná: Uma arquitetura de software para reflexão computacional implementada em java. Master’s thesis, Universidade Estadual de Campinas, Instituto de Ciência da Computação (1998)

    Google Scholar 

  19. Atkinson, M.: Providing orthogonal persistence for java. In: Jul, E. (ed.) ECOOP 1998. LNCS, vol. 1445, pp. 383–395. Springer, Heidelberg (1998)

    Chapter  Google Scholar 

  20. Kistler, T., Franz, M.: A tree-based alternative to java byte-codes. In: Proceedings of the International Workshop on Security and Efficiency Aspects of Java 1997 (1997); Also published as Technical Report No. 96-58, Department of Information and Computer Science, University of California, Irvine (December 1996)

    Google Scholar 

  21. Franz, M., Kistler, T.: Does java have alternatives? In: Proceedings of the California Software Symposium CSS 1997, pp. 5–10 (1997)

    Google Scholar 

  22. Rumbaugh, J., Jacobson, I., Booch, G.: Unified Modeling Language Reference Manual. Addison-Wesley, Reading (1997)

    Google Scholar 

  23. Hu, Y.C., Yu, W., Cox, A., Wallach, D., Zwaenepoel, W.: Run-time support for distributed sharing in safe languages. ACM Transactions on Computer Systems (TOCS) 21, 1–35 (2003)

    Article  Google Scholar 

  24. Jul, E., Levy, H., Hutchinson, N., Black, A.: Fine-grained mobility in the Emerald system. ACM Transactions on Computer Systems 6, 109–133 (1988)

    Article  Google Scholar 

  25. Birrel, A.D., Nelson, B.J.: Implementing remote procedure calls. ACM Transactions and Computer Systems 2, 39–59 (1984)

    Article  Google Scholar 

  26. Tanenbaum, A.S.: Distributed Operating Systems. Prentice-Hall, Englewood Cliffs (1995)

    Google Scholar 

  27. Calsavara, A., Nunes, L.: Estudos sobre a concepção de uma linguagem de programação reflexiva e correspondente ambiente de execução. In: V Simpósio Brasileiro de Linguagens de Programação, pp. 193–204 (2001) (in Portuguese)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2004 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Calsavara, A., Noda, A.K., da Costa Cesar Filho, J. (2004). An Overview of the Virtuosi Toolkit. In: Ramos, F.F., Unger, H., Larios, V. (eds) Advanced Distributed Systems. ISSADS 2004. Lecture Notes in Computer Science, vol 3061. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-25958-9_4

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-25958-9_4

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-22172-2

  • Online ISBN: 978-3-540-25958-9

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics