首页 | 本学科首页   官方微博 | 高级检索  
     


Efficient Implementations of Software Architectures via Partial Evaluation
Authors:Renaud Marlet  Scott Thibault  Charles Consel
Affiliation:(1) IRISA/INRIA-Université de Rennes 1, Campus universitaire de Beaulieu, 35042 Rennes cedex, France
Abstract:The notion of flexibility (that is, the ability to adapt to changing requirements or execution contexts) is recognized as a key concern in structuring software, and many architectures have been designed to that effect. However, the corresponding implementations often come with performance and code size overheads. The source of inefficiency can be identified to be in the loose integration of components, because flexibility is often present not only at the design level but also in the implementation. To solve this flexibility vs. efficiency dilemma, we advocate the use of partial evaluation, which is an automated technique to produce efficient, specialized instances of generic programs. As supporting case studies, we consider several flexible mechanisms commonly found in software architectures: selective broadcast, pattern matching, interpreters, software layers, and generic libraries. Using Tempo, our specializer for C, we show how partial evaluation can safely optimize implementations of those mechanisms. Because this optimization is automatic, it preserves the original genericity and extensibility of the implementation.
Keywords:software architectures  partial evaluation  program specialization  genericity  extensibility  adaptability  selective broadcast  pattern matching  interpreters  software layers
本文献已被 SpringerLink 等数据库收录!
设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司  京ICP备09084417号