Generative Programming Past present and future A panel

  • Slides: 5
Download presentation
Generative Programming: Past, present, and future A panel at GPCE 2004 Vancouver, BC October

Generative Programming: Past, present, and future A panel at GPCE 2004 Vancouver, BC October 27, 2004 Jeff Gray, University of Alabama at Birmingham

“How to teach it? ” …to my mother Assist in automating tasks that are

“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…

“How. Assist to teach it? ” … to my father-in-law in mitigating effects of

“How. Assist to teach it? ” … to my father-in-law in mitigating effects of accidental complexities. - 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”

“How to teach it? ” … to my grad n The previous were somewhat

“How to teach it? ” … to my grad n The previous were somewhat embarrassingly simple students examples, but perhaps offers insight into essential characteristics of GP that could be understood by laypersons q A key is relating experiences “with” and “without” the availability of certain tools n For Grad students: n Provide a 5 k SLOC sample application q Traditional Adaptation: Ask them to perform an adaptation using “traditional” development (e. g. , plain Java in Eclipse) q Metaprogramming and reflection: Introduce core literature and related tools; request students to perform same changes using Open. Java, Javassist, JMangler, etc q AOSD: introduce core literature in AOSD and tools; request students to perform same changes using Aspect. J q 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 q

“What do we do next? ” n Key challenge q n managing the syntactic

“What do we do next? ” n Key challenge q n managing the syntactic mismatch between abstraction layers Examples q Debugging and testing a DSL program (e. g. , debugging YACC output) n q It would be desirable to do this at the abstraction of the conceptual artifact Version control of models/visualization n Forced to view differences as flat text files (perhaps in XML!), rather than the abstraction provided by the modeling tool