Toward an engineering discipline for grammarware
ACM Transactions on Software Engineering and Methodology (TOSEM)
Bidirectional Transformations: A Cross-Discipline Perspective
ICMT '09 Proceedings of the 2nd International Conference on Theory and Practice of Model Transformations
Semantics-preserving Migration of Semantic Rules During Left Recursion Removal in Attribute Grammars
Electronic Notes in Theoretical Computer Science (ENTCS)
Co-transformations in database applications evolution
GTTSE'05 Proceedings of the 2005 international conference on Generative and Transformational Techniques in Software Engineering
An algorithm for layout preservation in refactoring transformations
SLE'11 Proceedings of the 4th international conference on Software Language Engineering
Metamodel adaptation and model co-adaptation
ECOOP'07 Proceedings of the 21st European conference on Object-Oriented Programming
Negotiated grammar transformation
Proceedings of the 2012 Extreme Modeling Workshop
Hi-index | 0.00 |
The paper addresses two problems in software maintenance.Firstly, some maintenance tasks require modificationsof the grammar. A change in a grammar can makeabstract syntax and transformation rules outdated, whichthen themselves become subject to a maintenance process.Secondly, it is essential that after a repair programs lookas much as possible as they looked before. Especially commentsand principle readability by humans are indispensablefor further maintenance.We argue that necessary changes of both abstract syntaxand transformation rules due to grammar extension can bemade automatically. Thus, most of the original rules canbe reused. The approach can be used to define and usesimplified views on complex patterns to be analysed withtransformation rules.To give an example we apply the described techniqueto rule-based program transformations extended with partiallayout preservation. The migration relation is given.The programmer uses common rewriting techniques for programtransformation without taking care of layout, whichthen is automatically included.