article

Implementing protocols via declarative event patterns

Published:31 October 2004Publication History

Abstract

This paper introduces declarative event patterns (DEPs) as a means to implement protocols while improving their traceability, comprehensibility, and maintainability. DEPs are descriptions of sequences of events in the execution of a system that include the ability to recognize properly nested event structures. DEPs allow a developer to describe a protocol at a high-level, without the need to express extraneous details. A developer can indicate that specific actions be taken when a given pattern occurs. DEPs are automatically translated into the appropriate instrumentation and automaton for recognizing a given pattern. Support for DEPs has been implemented in a proof-of-concept extension to the AspectJ language that is based on advanced compiler technology. A case study is described that compares the use of DEPs in the implementation of a protocol (FTP user authentication) to the use of a set of other approaches, both object-oriented and aspect-oriented.

Get full access to this article

Purchase, subscribe or recommend this article to your librarian.

References

  1. R. Åberg et al. On the automatic evolution of an OS kernel using temporal logic and AOP. In Int'l Conf. Automated Softw. Eng., 2003.]]Google ScholarGoogle Scholar
  2. A. Aho, R. Sethi, and J. Ullman. Compilers: Principles, Techniques, and Tools. Addison-Wesley, 1986.]] Google ScholarGoogle Scholar
  3. J. Aycock and N. Horspool. Schrodinger's token. Software---Practice & Experience, 31(8), 2001.]]Google ScholarGoogle Scholar
  4. J. Aycock, N. Horspool, J. Janouek, and B. Melichar. Even faster generalized LR parsing. Acta Informatica, 37(9), 2001.]] Google ScholarGoogle Scholar
  5. W. Bartussek and D. Parnas. Using assertions about traces to write abstract specifications for software modules. In Information Systems Methodology, 1978. LNCS 65.]] Google ScholarGoogle Scholar
  6. J. Bradfield and C. Stirling. Modal logics and mu-calculi. In Handbook of Process Algebra. Elsevier, 2001.]]Google ScholarGoogle Scholar
  7. S. Butkevich, M. Renedo, G. Baumgartner, and M. Young. Compiler and tool support for debugging object protocols. In Int'l Symp. Foundations Softw. Eng., 2000.]] Google ScholarGoogle Scholar
  8. T. Colcombet and P. Fradet. Enforcing trace properties by program transformation. In Symp. Princ. Progr. Lang., 2000.]] Google ScholarGoogle Scholar
  9. Cs3 Inc. TriggerWare: Infrastructure for Event Reasoning Applications, Version 1.0, 2004. http://www.cs3-inc.com/www.cs3-inc.com.]]Google ScholarGoogle Scholar
  10. W. De Pauw, D. Lorenz, J. Vlissides, and M. Wegman. Execution patterns in object-oriented visualization. In USENIX Conf. Object-Oriented Tech. and Sys., 1998.]] Google ScholarGoogle Scholar
  11. R. Douence, P. Fradet, and M. Südholt. A framework for the detection and resolution of aspect interactions. In Int'l Conf. Generic Prog. and Component Eng., 2002. LNCS 2487.]] Google ScholarGoogle Scholar
  12. R. Douence, O. Motelet, and M. Südholt. A formal definition of crosscuts. In Metalevel Architectures and Separation of Crosscutting Concerns, 2001. LNCS 2192.]] Google ScholarGoogle Scholar
  13. R. Douence and M. Südholt. A model and a tool for event-based aspect-oriented programming (EAOP). TR 02/11/INFO, Ecole des Mines de Nantes, 2002.]]Google ScholarGoogle Scholar
  14. M. Feather. Reuse in the context of a transformation-based methodology. In T. Biggerstaff and A. Perlis, editors, Software Reusability, volume 1. Addison--Wesley, 1989.]] Google ScholarGoogle Scholar
  15. S. Fickas and M. Feather. Requirements monitoring in dynamic environments. In IEEE Symp. Requirements Eng., 1995.]] Google ScholarGoogle Scholar
  16. R. Filman and K. Havelund. Source-code instrumentation and quantification of events. In Wkshp. Foundations Aspect-Oriented Lang. at AOSD, 2002.]]Google ScholarGoogle Scholar
  17. D. Hoffman and P. Strooper. State abstraction and modular software development. In Int'l Symp. Foundations Softw. Eng., 1995.]] Google ScholarGoogle Scholar
  18. JAsCo tool. http://ssel.vub.ac.be/jascossel.vub.ac.be/jasco, 2004.]]Google ScholarGoogle Scholar
  19. G. Kiczales et al. An overview of AspectJ. In Proc. European Conf. Object-Oriented Progr., 2001. LNCS 2072.]] Google ScholarGoogle Scholar
  20. D. Knuth. On the translation of languages from left to right. Information and Control, 8(6), 1965.]]Google ScholarGoogle Scholar
  21. E. Ochmanski. Recognizable trace languages. In The Book of Traces. World Scientific, 1995.]]Google ScholarGoogle Scholar
  22. J. Postel and J. Reynolds. File Transfer Protocol (FTP). Request for Comments 959, Network Working Group, 1985.]] Google ScholarGoogle Scholar
  23. S. Reiss and M. Renieris. Encoding program executions. In Int'l Conf. Softw. Eng., 2001.]] Google ScholarGoogle Scholar
  24. D. Sereni and O. de Moor. Static analysis of aspects. In Int'l Conf. Aspect-Oriented Softw. Dev., 2003.]] Google ScholarGoogle Scholar
  25. The AspectJ Team. The AspectJ Programming Guide. Palo Alto Research Center, Inc., 2003.]]Google ScholarGoogle Scholar
  26. K. Viggers and R. Walker. An implementation of declarative event patterns. TR 2004-745-10, Univ. of Calgary, 2004.]]Google ScholarGoogle Scholar
  27. D. Wagner and D. Dean. Intrusion detection via static analysis. In IEEE Symp. Security and Privacy, 2001.]] Google ScholarGoogle Scholar
  28. R. Walker. IConJ 0.1: A proof-of-concept tool for the application of the implicit context model to Java software. TR 2004-757-22, Univ. of Calgary, 2004.]]Google ScholarGoogle Scholar
  29. R. Walker and G. Murphy. Implicit context: Easing software evolution and reuse. In Int'l Symp. Foundations Softw. Eng., 2000.]] Google ScholarGoogle Scholar
  30. D. Yellin and R. Strom. Protocol specifications and component adaptors. ACM Trans. Progr. Lang. Sys., 19(2), 1997.]] Google ScholarGoogle Scholar

Index Terms

  1. Implementing protocols via declarative event patterns

              Comments

              Login options

              Check if you have access through your login credentials or your institution to get full access on this article.

              Sign in

              Full Access

              About Cookies On This Site

              We use cookies to ensure that we give you the best experience on our website.

              Learn more

              Got it!