Skip to main content

HERCULE: Non-invasively Tracking Java™ Component-Based Application Activity

  • Conference paper
  • First Online:
ECOOP 2000 — Object-Oriented Programming (ECOOP 2000)

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

Included in the following conference series:

Abstract

This paper presents HERCULE, an approach to non-invasively tracking end-user application activity in a distributed, component-based system. Such tracking can support the visualisation of user and application activity, system auditing, monitoring of system performance and the provision of feedback. A framework is provided that allows the insertion of proxies, dynamically and transparently, into a component-based system. Proxies are inserted in between the user and the graphical user-interface and between the client application and the rest of the distributed, component-based system. The paper describes: how the code for the proxies is generated by mining component documentation; how they are inserted without affecting pre-existing code; and how information produced by the proxies can be used to model application activity. The viability of this approach is demonstrated by means of a prototype implementation.

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

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. ACM. 1998 International Workshop on Component-Based Software Engineering. Proceedings of the 1988 ACM SIGMETRICS Conference on Measurement and Modeling of Computer Systems, Kyoto, Japan, April 25–26, 1998 1988. URL: http://www.sei.cmu.edu/cbs/icse98/papers/index.html

  2. Human Interface Guildelines: The Apple Desktop Interface. Addison-Wesley, Reading, Massachusetts, 1987. Apple Computer Inc.

    Google Scholar 

  3. http://www.parc.xerox.com/spl/projects/aop/aspectj. Aspect J Web Page, 1998.

  4. T. Ball and J.R. Larus. Optimally profiling and tracing programs. ACM Transactions on Programming Languages and Systems, 16(4):1319–1360, 1994.

    Article  Google Scholar 

  5. L. Blackshaw and B. Fishhoff. Decision making in online searching. Journal of the American Society for Information Science, 39:369–389, 1988.

    Article  Google Scholar 

  6. N. Borenstein. Programming as if People Mattered. Princeton Univeristy Press, Princeton, New Jersey, 1991.

    Google Scholar 

  7. A.N. Burton and P.H.J. Kelly. Workload characterization and using lightweight system call tracing and re-execution. In IEEE International Performance Computing and Communications Conference. IPCCC’ 98, Phoenix/Tempe, Arizona, USA, February 16–18 1998. IEEE.

    Google Scholar 

  8. A.N. Burton and P.H.J. Kelly. Tracing and reexecuting operating system calls for reproducible performance experiments. Computers and Electrical Engineering: An International Journal, May 1999.

    Google Scholar 

  9. F.R. Campagnoni and K. Ehrlich. Retrieval using a hypertext-based help system. ACM Transactions on Information Systems, 7:271–291, 1989.

    Article  Google Scholar 

  10. J.M. Carroll, editor. Interfacing Thought: Cognitive Aspects of Human-Computer Interaction. MIT Press, Cambridge, MA, 1987.

    Google Scholar 

  11. J.M. Carroll and M.B. Rosson. The paradox of the active user. In [10], chapter 5, pages 80–111. 1987.

    Google Scholar 

  12. M. Chalmers, K. Rodden, and D. Brodbeck. The order of things: Activity-centred information access. In Proceedings of the 7th International Conference on the World Wide Web, pages 359–367, Brisbane, Australia, Oct 5–7 1998.

    Google Scholar 

  13. H.C. Chan, K.K. Wei, and K.L. Siau. The effect of a database feedback system on user performance. Behaviour and Information Technology, 14(3):152–62, 1995.

    Article  Google Scholar 

  14. D. Chappell. Com+. WEB Document, April 1998. http://www.chappellassoc.com/articles.htm.

  15. C. Dellarocas. Toward exception handling infrastructures for component-based systems. In [1], 1998.

    Google Scholar 

  16. T. Fawcett and F. Provost. Activity monitoring: Noticing interesting changes in behaviour. In Proceedings of the 5th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining, San Diego, CA USA, August 15–18 1990. ACM.

    Google Scholar 

  17. R. Guerraoui, B. Garbinato, and K.R. Mazouni. Garf: A tool for programming reliable distributed applications. IEEE Concurrency, 5(4):32–39, October/December 1997.

    Google Scholar 

  18. C. Jeffery, W, Zhou, K. Templer, and M. Brazell. A lightweight architecture for program execution monitoring. In ACM SIGPLAN/SIGSOFT workshop on Progra Analysis for Software Tools and Engineering, Montreal, Canada, June 16 1998. ACM.

    Google Scholar 

  19. J. Joyce, G. Lomow, K. Slind, and B. Unger. Monitoring distributed systems. ACM Transactions on Computer Systems, 5(2):121–150, May 1987.

    Google Scholar 

  20. M.A. Kersten and G.C. Murphy. Atlas: A case study in building a web-based learning environment using aspect-oriented programming. Technical Report TR-99-04, Department of Computer Science, University of British Columbia, March 31 1999. Wed, 07 Apr 1999 21:31:26 GMT.

    Google Scholar 

  21. G. Kiczales. Aspect-oriented programming. ACM Computing Surveys, 28(4es):154–154, December 1996.

    Google Scholar 

  22. P. Leibscher and G. Marchionini. Browse and analytical search strategies in a full-text cd-rom encyclopedia. School Library Media Quarterly, Summer:223–233, 1988.

    Google Scholar 

  23. C. Lewis. Understanding what’s happening in system interactions. In D.A. Norman and S.W. Draper, editors, [30], chapter 8, pages 171–186. Lawrence Erlbaum Associates, Publishers, Hilldale, New Jersey, 1986.

    Google Scholar 

  24. X. Lin, P. Liebscher, and G. Marchionini. Graphical Representations of Electronic search Patterns. Journal of the American Society for Information Science, 42(7):469–478, 1991.

    Article  Google Scholar 

  25. G. Marchionini. Information-seeking strategies of novices using a full-text electronic encyclopedia. Journal of the American Society for Information Science, 50:54–66, 1989.

    Article  Google Scholar 

  26. Sun Microsystems. javadoc-The Java API documentation Generator. Web Document. http://java.sun.com/products/jdk/1.3/docs/tooldocs/solaris/javadoc.html.

  27. Sun Microsystems. Enterprise Java Beans Specification. Web Document. URL: java.sun.com/products/ejb, March 1998.

    Google Scholar 

  28. J. Nielsen. Usability Engineering. AP Professional, Boston, 1993.

    MATH  Google Scholar 

  29. D. Norman. The “problem” of automation: Inappropriate feedback and interaction, not “overautomation”. Technical Report ICS Report 8904, Institute for Cognitive Science, University of California, San Diego, La Jolla, California, 92093, 1989.

    Google Scholar 

  30. D.A. Norman and S.W. Draper, editors. User Centred System Design. New Perspectives on Human-Computer Interaction. Lawrence Erlbaum Associates, Publishers, Hilldale, New Jersey, 1986.

    Google Scholar 

  31. J.R Olsen. Cognitive analysis of people’s use of software. In [10], chapter 10, pages 260–293. 1987.

    Google Scholar 

  32. K.V. Renaud. A Non-Invasive Mechanism for Monitoring Calls to Java Packages. Technical Report TR-1999-32, Department of Computing Science, University of Glasgow, 17 Lilybank Gardens, Glasgow,G12 8RZ, April 1999.

    Google Scholar 

  33. K.V. Renaud. Tracking activity at the user interface in a Java application. Technical Report TR-1999-33, Department of Computing Science, University of Glasgow, 17 Lilybank Gardens, Glasgow, G12 8RZ, April 1999.

    Google Scholar 

  34. B. Shneiderman. Designing the User Interface. Addison-Wesley, Reading, Massachusetts, 1998.

    Google Scholar 

  35. M. Siegle and R. Hofmann. Monitoring program behaviour on SUPRENUM. In International Conference on Computer Architecture. Proceedings of the 19th Annual International Symposium on Computer Architecture, Queensland, Australia, May 19–21, 1992 1992. ACM.

    Google Scholar 

  36. R.N. Taylor and G.F. Johnson. Separations of concerns in the Chiron-1 user interface development and management system. In Stacey Ashlund, Ken Mullet, Austin Henderson, Erik Hollnagel, and Ted White, editors, Proceedings of the Conference on Human Factors in computing systems, pages 367–374, New York, 24–29 April 1993. ACM Press.

    Google Scholar 

  37. H. Thimblebey. Combining systems and manuals. In J.L. Alty, D. Diaper, and S. Draper, editors, People and Computers VIII HCI’93, pages 479–88, 1993.

    Google Scholar 

  38. A. Thomas. Selecting Enterprise JavaBeans Technology. Prepared for WebLogic, Inc., July 1998. http://www.beasys.com/products/weblogic/server/papers.html.

  39. J.G. Trafton and D.P. Brock. Simplifying interactions with task model tracing. ACT-R Summer School, Psychology Department, Carnegie Mellon University, June 1996.

    Google Scholar 

  40. S. Willett. Cloudscape Woos VARs for Java Database. Computer Reseller News 6-99, June 1999. http://www.crn.com/search/display.asp?ArticleID=7017.

  41. D. Wybranietz and D. Haban. Monitoring and performance measuring distributed systems during operation. In Proceedings of the 1988 ACM SIGMETRICS Conference on Measurement and Modeling of Computer Systems, pages 197–206, Santa Fe, USA, May 1988. ACM.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2000 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Renaud, K. (2000). HERCULE: Non-invasively Tracking Java™ Component-Based Application Activity. In: Bertino, E. (eds) ECOOP 2000 — Object-Oriented Programming. ECOOP 2000. Lecture Notes in Computer Science, vol 1850. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-45102-1_22

Download citation

  • DOI: https://doi.org/10.1007/3-540-45102-1_22

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-67660-7

  • Online ISBN: 978-3-540-45102-0

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics