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.
- DemeterF. http://www.ccs.neu.edu/home/chadwick/demeterf/.Google Scholar
- The SAX Project. http://www.saxproject.org/.Google Scholar
- B. Chadwick and K. Lieberherr. Functional Adaptive Programming. Technical Report NU-CCIS-08-75, CCIS/PRL, Northeastern University, Boston, October 2008.Google Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- J. Jeuring and P. Jansson. Polytypic programming. In 2nd Int. School on Advanced Functional Programming, pages 68--114. Springer-Verlag, 1996. Google ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- J. Ovlinger and M. Wand. A language for specifying recursive traversals of object structures. SIGPLAN Not., 34(10):70--81, 1999. Google ScholarDigital Library
- 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 ScholarDigital Library
- 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 Scholar
- 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 ScholarDigital Library
Index Terms
- Controlled evolution of adaptive programs
Recommendations
Towards adaptive programming: integrating reinforcement learning into a programming language
Current programming languages and software engineering paradigms are proving insufficient for building intelligent multi-agent systems--such as interactive games and narratives--where developers are called upon to write increasingly complex behavior for ...
Towards adaptive programming: integrating reinforcement learning into a programming language
OOPSLA '08: Proceedings of the 23rd ACM SIGPLAN conference on Object-oriented programming systems languages and applicationsCurrent programming languages and software engineering paradigms are proving insufficient for building intelligent multi-agent systems--such as interactive games and narratives--where developers are called upon to write increasingly complex behavior for ...
Evolved open-endedness, not open-ended evolution
Open-endedness is often considered a prerequisite property of the whole evolutionary system and its dynamical behaviors. In the actual history of evolution on Earth, however, there are many examples showing that open-endedness is rather a consequence of ...
Comments