ANTLR: a predicated-LL(k) parser generator
Software—Practice & Experience
Compiling language definitions: the ASF+SDF compiler
ACM Transactions on Programming Languages and Systems (TOPLAS)
Generalized Selective XML Markup of Source Code Using Agile Parsing
IWPC '03 Proceedings of the 11th IEEE International Workshop on Program Comprehension
Robust multilingual parsing using island grammars
CASCON '03 Proceedings of the 2003 conference of the Centre for Advanced Studies on Collaborative research
Practical language-independent detection of near-miss clones
CASCON '04 Proceedings of the 2004 conference of the Centre for Advanced Studies on Collaborative research
The TXL source transformation language
Science of Computer Programming - The fourth workshop on language descriptions, tools, and applications (LDTA'04)
Hi-index | 0.00 |
One aspect of autonomic computing is the ability to identify, separate and automatically tune parameters related to performance, security, robustness and other properties of a software system. Often the response to events affecting these properties consists of adjusting tuneable system parameters such as table sizes, timeout limits, restart checks and so on. In many ways these tuneable parameters correspond to the switches and potentiometers on the control panel of many hardware devices. While modern software systems designed for autonomic control may make these parameters easily accessible, in legacy systems they are often scattered or deeply hidden in the software source.In this paper we introduce Software Tuning Panels for Autonomic Control (STAC), a system for automatically re-architecting legacy software systems to facilitate autonomic control. STAC works to isolate tuneable system parameters into one visible area of a system, producing a resulting architecture that can be used in conjunction with an autonomic controller for self-maintenance and tuning. A proof-of-concept implementation of STAC using source transformation is presented along with its application to the automatic re-architecting of two open source Java programs. Use of the new architecture in monitoring and autonomic control is demonstrated on these examples.