Download presentation
Presentation is loading. Please wait.
Published byMilton Hall Modified over 8 years ago
1
Generative Programming: Past, present, and future A panel at GPCE 2004 Vancouver, BC October 27, 2004 Jeff Gray, University of Alabama at Birmingham
2
“How to teach it?” …to my mother Assist in automating tasks that are mundane and manual, such that error prone nature is removed and productivity is improved. Context: Real Estate Legal Forms 15 different documents 6 different participants with specific contact information Numerous places within each document where parts of contact information is to be inserted Note: Some internal generator living within word processor…
3
“How to teach it?” … to my father-in-law - Reducing all images to common sizes, producing thumbnails, providing a general index, linking all pictures in a slide show… - Many hours to do manually – about 20 seconds in “Web Picture Creator” Assist in mitigating effects of accidental complexities.
4
“How to teach it?” … to my grad students The previous were somewhat embarrassingly simple examples, but perhaps offers insight into essential characteristics of GP that could be understood by laypersons A key is relating experiences “with” and “without” the availability of certain tools For Grad students: Provide a 5k SLOC sample application Traditional Adaptation: Ask them to perform an adaptation using “traditional” development (e.g., plain Java in Eclipse) Metaprogramming and reflection: Introduce core literature and related tools; request students to perform same changes using OpenJava, Javassist, JMangler, etc AOSD: introduce core literature in AOSD and tools; request students to perform same changes using AspectJ Metamodeling: introduce core literature and GME; request students to perform generative tasks on domain-specific models More info: http://www.cis.uab.edu/gray/Pubs/scicop-2004.pdf
5
“What do we do next?” Key challenge managing the syntactic mismatch between abstraction layers Examples Debugging and testing a DSL program (e.g., debugging YACC output) It would be desirable to do this at the abstraction of the conceptual artifact Version control of models/visualization Forced to view differences as flat text files (perhaps in XML!), rather than the abstraction provided by the modeling tool
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.