Modular Generation and Customization
Author(s)
Edwards, Jonathan
DownloadMIT-CSAIL-TR-2008-061.pdf (444.4Kb)
Additional downloads
Other Contributors
Software Design
Advisor
Daniel Jackson
Terms of use
Metadata
Show full item recordAbstract
Modularity and flexibility can conflict in multi-language systems. For example, the templates commonly used to generate web pages must be manually updated when the database schema changes. Modularity can be improved by generating web pages automatically from the database schema, but it is hard for such a generator to produce the same variety of outputs that are easily achieved by ad hoc edits to a template. Ideally, such ad hoc edits would be abstracted into transformations that compose with the generator, offering both modularity and flexibility. However common customizations cannot be abstracted using the standard techniques of textual identifiers and ordinal positions. These difficulties are distilled into a challenge problem to evaluate potential solutions. A solution is proposed based on field trees, a new data model for software artifacts that provides persistent identifiers and unshifting positions within sequences. But using field trees with conventional programming languages and development environments requires more effort than the ad hoc editing they seek to supplant. Field trees are therefore extended into differential trees, which integrate artifacts and their transformations into a unified representation.
Date issued
2008-10-10Series/Report no.
MIT-CSAIL-TR-2008-061
Collections
The following license files are associated with this item: