Carp@ — A Reflection Based Tool for Observing Jini Services

  • Michael Fahrmair
  • Chris Salzmann
  • Maurice Schoenmakers
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1826)


Jini™ offers the basic technology to develop distributed systems where the participating clients, services and their interactions can adapt dynamically to a changing environment.1 To monitor the internal processes in such a system a reflection mechanism is necessary. However, the existing reflection mechanisms in Java emerged to be too weak to supply enough information for a suitable management of such a system. Therefore these mechanisms had to be extended by a reflective meta level upon Jini. The tool Carp@ (implemented itself as Jini system) is designed to visualize, analyze and control dynamic and distributed Jini systems. This is done by developing a meta architecture upon a Jini system that reflects the running Jini system.

This paper describes the meta architecture, the tool to monitor it and reports the gained experiences together with their implied consequences.


Dynamic Systems Reflection Distributed Systems Jini Tool Support 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Robert Allen and David Garlan. A Formal Basis for Architectural Connection. ACM Transactions on Software Engineering and Methodology, July 1997.Google Scholar
  2. 2.
    Ken Arnold. The Jini Architecture: Dynamic Services in a Flexible Network. In Proceedings of the 36th ACM/IEEE Conference on Design Automation, 1999.Google Scholar
  3. 3.
    Ken Arnold, Bryan O’Sullivan, Robert W. Scheifler, Jim Waldo, and Ann Wollrath. The Jini™ Specification. Addison-Wesley, 1999.Google Scholar
  4. 4.
    Specification of the Bluetooth System v1.0A., July 1999.
  5. 5.
    Grady Booch, James Rumbaugh, and Ivar Jacobson. The Unified Modeling Language User Guide. Object Technology Series. Addison-Wesley, Reading, Massachussetts 01867, 3 edition, February 1999.CrossRefGoogle Scholar
  6. 6.
  7. 7.
    Walter Cazzola, Andrea Savigni, Andrea Sosio, and Francesco Tisato. Architectural Reflection: Concepts, Design, and Evaluation. Technical Report RI-DSI 234-99, DSI, University degli Studi di Milano, May 1999. Available at
  8. 8.
    Geoff A. Cohen, Jeffrey S. Chase, and David L. Kaminsky. Automatic Program Transformation with JOIE. In Proceedings of USENIX Annual technical Symposium 98, 1998.Google Scholar
  9. 9.
    Corba Homepage.
  10. 10.
    Desmond F. D’Souza and Alan Cameron Wills. Objects, Components, and Frameworks with UML — The Catalysis Approach. Addison Wesley, Reading, Mass., 1999.Google Scholar
  11. 11.
    Guy Eddon and Henry Eddon. Inside Distributed COM. Microsoft Press, 1998.Google Scholar
  12. 12.
    W._Keith Edwards. Core Jini. Prentice Hall, 1999.Google Scholar
  13. 13.
    David Flanagan. JAVA in a Nutshell. O’Reilly & Associates, Inc., 1996.Google Scholar
  14. 14.
    Martin Fowler and Kendall Scott. UML Distilled. Addison Wesley, New York, 1997.Google Scholar
  15. 15.
    Eric Freeman, Susanne Hupfer, and Ken Arnold. JavaSpaces™ Principles, Patterns, and Practice. Addison Wesley, 1999.Google Scholar
  16. 16.
    Daniel Friedman and Mitchell Wand. Reification: Reflection Without Metaphysics. In Proceedings of ACM Conference on Lisp and Functional Programming, Austin, Texas, USA, 1984. ACM.Google Scholar
  17. 17.
    Eric Gamma, Richard Helm, Ralph Johnson, and Richard Vlissides. Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley. Reading, MA, 1994.Google Scholar
  18. 18.
    Ursula Hinkel and Katharina Spies. Anleitung zur Spezifikation von Mobilen, Dynamischen FOCUS-Netzen. Technical Report TUM-I9639, Munich University of Technology, 1996. German.Google Scholar
  19. 19.
  20. 20.
    Federated Management Architecture Specification Version 1.0., November 1999.
  21. 21.
    Ingolf Krüger. Towards the Methodical Usage of Message Sequence Charts. In Katharina Spies and Bernhard Schätz, editors, Formale Beschreibungstechniken für verteilte Systeme. FBT99, 9. GI/ITG Fachgespräch, pages 123–134. Herbert Utz Verlag, June 1999.Google Scholar
  22. 22.
    Pattie Maes. Concepts and Experiments in Computational Reflection. In Proceedings of the Conference on Object-Orientated Programming Systems, Languages and Applications (OOPSLA’87), 1987.Google Scholar
  23. 23.
    Neno Medvidovic. A Classification and Comparison Framework for Software Architecture Description Languages. Technical Report UCI-ICS-97-02, Department of Information and Computer Science, University of California, Irvine, feb 1996.Google Scholar
  24. 24.
    Matthias Radestock and Susan Eisenbach. Formalizing System Structure. In Int. Workshop on Software Specification and Design, pages 95–104. IEEE Computer Society Press, 1996.Google Scholar
  25. 25.
    James Rumbaugh, Ivar Jacobson, and Grady Booch. The Unified Modeling Language Reference Manual. Addison Wesley, Reading, Mass., 1999.Google Scholar
  26. 26.
    Salutation Architecture Specification V2.0c., June 1999.
  27. 27.
    Chris Salzmann and Maurice Schoenmakers. Dynamics and Mobility in Software Architecture. In Jan Bosch, editor, Proceedings of NOSA 99 — Second Nordic Workshop on Software Architecture, 1999.Google Scholar
  28. 28.
    Bran Selic, Garth Gullekson, and Paul T. Ward. Real-Time Object Oriented Modeling. Wiley & Sons, 1994.Google Scholar
  29. 29.
    Mary Shaw and David Garlan. Software Architecture — Perspectives on an Emerging Discipline. Prentice Hall, 1996.Google Scholar
  30. 30.
    Brian C. Smith. Reflection and Semantics in a Procedural Language, 1982.Google Scholar
  31. 31.
    Universal Plug and Play — Device Architecture Reference Specification Version 0.90., November 1999.
  32. 32.
    Voyager Overview., 1999.
  33. 33.
    Jim Waldo. The Jini Architecture for Network-Centric Computing. Communications of the ACM (CAM), 1999.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2000

Authors and Affiliations

  • Michael Fahrmair
    • 1
  • Chris Salzmann
    • 1
  • Maurice Schoenmakers
    • 1
  1. 1.Institut für InformatikTechnische Universität MünchenMünchenGermany

Personalised recommendations