skip to main content
10.1145/1595808.1595826acmconferencesArticle/Chapter ViewAbstractPublication PagesfseConference Proceedingsconference-collections
research-article

Controlled evolution of adaptive programs

Published:24 August 2009Publication History

ABSTRACT

Adaptive programming (AP) is a programming paradigm for expressing structure-shy computations over semi-structured data graphs. Structure-shyness means that adaptive programs hard code a minimal set of assumptions about the structure of their input. Because of this, adaptive programs are more susceptible to unsafe evolutions; evolutions that jeopardize the correctness of adaptive programs yet go uncaught. In this paper we study the evolution of adaptive programs and present two complementary approaches for controlling their unsafe evolution: a language for expressing application-specific constraints on the runtime behavior of adaptive programs, and a stricter notion of compatibility between the parts of an adaptive program, that does not sacrifice the expressiveness of the AP paradigm.

References

  1. DemeterF. http://www.ccs.neu.edu/home/chadwick/demeterf/.Google ScholarGoogle Scholar
  2. The SAX Project. http://www.saxproject.org/.Google ScholarGoogle Scholar
  3. B. Chadwick and K. Lieberherr. Functional Adaptive Programming. Technical Report NU-CCIS-08-75, CCIS/PRL, Northeastern University, Boston, October 2008.Google ScholarGoogle Scholar
  4. B. Chadwick and K. Lieberherr. A type system for functional traversal-based aspects. In FOAL '09: Proceedings of the 2009 workshop on Foundations of aspect-oriented languages, pages 1--6, New York, NY, USA, 2009. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. A. Cunha and J. Visser. Transformation of structure-shy programs: applied to xpath queries and strategic functions. In PEPM '07: Proceedings of the 2007 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation, pages 11--20, New York, NY, USA, 2007. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. J. Gibbons. Datatype-generic programming. In R. Backhouse, J. Gibbons, R. Hinze, and J. Jeuring, editors, Spring School on Datatype-Generic Programming, volume 4719 of Lecture Notes in Computer Science. Springer-Verlag, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. J. Jeuring and P. Jansson. Polytypic programming. In 2nd Int. School on Advanced Functional Programming, pages 68--114. Springer-Verlag, 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. A. Kellens, K. Mens, J. Brichau, and K. Gybels. Managing the evolution of aspect-oriented software with model-based pointcuts. In D. Thomas, editor, ECOOP, volume 4067 of Lecture Notes in Computer Science, pages 501--525. Springer, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. R. Khatchadourian, P. Greenwood, A. Rashid, and G. Xu. Pointcut rejuvenation: Recovering pointcut expressions in evolving aspect-oriented software. Technical Report COMP-001-2008, Revised March 2009, May 2009, Lancaster University, Lancaster, UK, Aug. 2008.Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. R. Lämmel and S. P. Jones. Scrap your boilerplate: A practical design pattern for generic programming. In Proc. of the ACM SIGPLAN Workshop on Types in Language Design and Implementation TLDI 2003, pages 26--37. ACM Press, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. R. Lämmel, S. Thompson, and M. Kaiser. Programming errors in traversal programs over structured data. ENTCS, 2008. To appear in Proceedings of LDTA 2008.Google ScholarGoogle Scholar
  12. R. Lämmel, E. Visser, and J. Visser. Strategic programming meets adaptive programming. In AOSD '03: Proceedings of the 2nd international conference on Aspect-oriented software development, pages 168--177, New York, NY, USA, 2003. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. K. Lieberherr, B. Patt-Shamir, and D. Orleans. Traversals of object structures: Specification and efficient implementation. ACM Trans. Program. Lang. Syst., 26(2):370--412, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. K. J. Lieberherr. Adaptive Object-Oriented Software: The Demeter Method with Propagation Patterns. PWS Publishing Company, Boston, 1996. 616 pages, web book at www.ccs.neu.edu/research/demeter. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. J. Ovlinger and M. Wand. A language for specifying recursive traversals of object structures. SIGPLAN Not., 34(10):70--81, 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. T. Skotiniotis, J. Palm, and K. J. Lieberherr. Demeter interfaces: Adaptive programming without surprises. In European Conference on Object-Oriented Programming, pages 477--500, Nantes, France, 2006. Springer Verlag Lecture Notes. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. M. Störzer and C. Koppen. Pcdiff: Attacking the fragile pointcut problem, abstract. In European Interactive Workshop on Aspects in Software, Berlin, Germany, September 2004.Google ScholarGoogle Scholar
  18. Z. Yang and T. Zhao. Improve pointcut definitions with program views. In SPLAT '07: Proceedings of the 5th workshop on Software engineering properties of languages and aspect technologies, page 9, New York, NY, USA, 2007. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Controlled evolution of adaptive programs

                  Recommendations

                  Comments

                  Login options

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

                  Sign in
                  • Published in

                    cover image ACM Conferences
                    IWPSE-Evol '09: Proceedings of the joint international and annual ERCIM workshops on Principles of software evolution (IWPSE) and software evolution (Evol) workshops
                    August 2009
                    168 pages
                    ISBN:9781605586786
                    DOI:10.1145/1595808
                    • General Chair:
                    • Tom Mens,
                    • Program Chairs:
                    • Kim Mens,
                    • Michel Wermelinger

                    Copyright © 2009 ACM

                    Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

                    Publisher

                    Association for Computing Machinery

                    New York, NY, United States

                    Publication History

                    • Published: 24 August 2009

                    Permissions

                    Request permissions about this article.

                    Request Permissions

                    Check for updates

                    Qualifiers

                    • research-article

                    Upcoming Conference

                    FSE '24

                  PDF Format

                  View or Download as a PDF file.

                  PDF

                  eReader

                  View online with eReader.

                  eReader