From interpreting to compiling binding times
Proceedings of the third European symposium on programming on ESOP '90
Partial evaluation and automatic program generation
Partial evaluation and automatic program generation
An introduction to partial evaluation
ACM Computing Surveys (CSUR)
Declarative specialization of object-oriented programs
Proceedings of the 12th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
COM+ and the battle of the middle tier
COM+ and the battle of the middle tier
Component-based software engineering: putting the pieces together
Component-based software engineering: putting the pieces together
Definition of a software component and its elements
Component-based software engineering
Featherweight Java: a minimal core calculus for Java and GJ
ACM Transactions on Programming Languages and Systems (TOPLAS)
Building product populations with software components
Proceedings of the 24th International Conference on Software Engineering
Architectural Reasoning in ArchJava
ECOOP '02 Proceedings of the 16th European Conference on Object-Oriented Programming
Hand-Writing Program Generator Generators
PLILP '94 Proceedings of the 6th International Symposium on Programming Language Implementation and Logic Programming
Effective Specialization of Realistic Programs via Use Sensitivity
SAS '97 Proceedings of the 4th International Symposium on Static Analysis
Program Specialization via Program Slicing
Selected Papers from the Internaltional Seminar on Partial Evaluation
An Environment for Building Customizable Software Components
CD '02 Proceedings of the IFIP/ACM Working Conference on Component Deployment
Proceedings of the 25th International Conference on Software Engineering
Slicing and partial evaluation of CORBA component model designs for avionics system
Proceedings of the 2003 ACM SIGPLAN workshop on Partial evaluation and semantics-based program manipulation
Automatic component protocol adaptation with the CoConut/J tool suite
Future Generation Computer Systems - Tools for program development and analysis
Specialization Scenarios: A Pragmatic Approach to Declaring Program Specialization
Higher-Order and Symbolic Computation
Towards constructing reusable specialization components
Proceedings of the 2007 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
Specialization for applications using shared libraries
PEPM '08 Proceedings of the 2008 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
Hi-index | 0.00 |
Component-Based Software Development (CBSD)is an attractive way to deliver generic executable pieces of program, ready to be reused in many different contexts. Component reuse is based on a black-box model that frees component consumers from diving into implementation details. Adapting a generic component to a particular context of use is then based on a parameterized interface that becomes a specific component wrapper at runtime. This shallow adaptation, which keeps the component implementation unchanged, is a major source of inefficiency. By building on top of well-known specialization techniques, it is possible to take advantage of the genericity of components and adapt their implementation to their usage context without breaking the black-box model. We illustrate these ideas on a simple component model, considering dual specialization techniques, partial evaluation and slicing. A key to not breaking encapsulation is to use specialization scenarios extended with assumptions on the required services and to package components as component generators.