Partial evaluation and automatic program generation
Partial evaluation and automatic program generation
Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
Optimistic incremental specialization: streamlining a commercial operating system
SOSP '95 Proceedings of the fifteenth ACM symposium on Operating systems principles
An overview of the CORBA portable object adapter
StandardView
Refactoring: improving the design of existing code
Refactoring: improving the design of existing code
C and tcc: a language and compiler for dynamic code generation
ACM Transactions on Programming Languages and Systems (TOPLAS)
IFIP/ACM International Conference on Distributed systems platforms
Pattern-Oriented Software Architecture: Patterns for Concurrent and Networked Objects
Pattern-Oriented Software Architecture: Patterns for Concurrent and Networked Objects
Efficient Implementations of Software Architectures via Partial Evaluation
Automated Software Engineering
C++ Network Programming: Systematic Reuse with ACE and Frameworks, Vol. 2
C++ Network Programming: Systematic Reuse with ACE and Frameworks, Vol. 2
Using Principle Patterns to Optimize Real-Time ORBs
IEEE Concurrency
Computer
Commonality and Variability in Software Engineering
IEEE Software
Automatic program specialization for Java
ACM Transactions on Programming Languages and Systems (TOPLAS)
A comparison of empirical and model-driven optimization
PLDI '03 Proceedings of the ACM SIGPLAN 2003 conference on Programming language design and implementation
Fast, Optimized Sun RPC Using Automatic Program Specialization
ICDCS '98 Proceedings of the The 18th International Conference on Distributed Computing Systems
Software Factories: Assembling Applications with Patterns, Models, Frameworks, and Tools
Software Factories: Assembling Applications with Patterns, Models, Frameworks, and Tools
Specialization Scenarios: A Pragmatic Approach to Declaring Program Specialization
Higher-Order and Symbolic Computation
Invited application paper: a proposal for the specialization of HA/DRE systems
Proceedings of the 2004 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
Towards just-in-time middleware architectures
Proceedings of the 4th international conference on Aspect-oriented software development
An integrated experimental environment for distributed systems and networks
OSDI '02 Proceedings of the 5th symposium on Operating systems design and implementationCopyright restrictions prevent ACM from being able to make the PDFs for this conference available for downloading
The design of the TAO real-time object request broker
Computer Communications
Refactoring middleware with aspects
IEEE Transactions on Parallel and Distributed Systems
Edicts: implementing features with flexible binding times
Proceedings of the 7th international conference on Aspect-oriented software development
Applying Model Transformations to Optimizing Real-Time QoS Configurations in DRE Systems
QoSA '09 Proceedings of the 5th International Conference on the Quality of Software Architectures: Architectures for Adaptive Software Systems
Hi-index | 0.00 |
Product-line architectures (PLAs) are an emerging paradigm for developing software families for distributed real-time and embedded (DRE) systems by customizing reusable artifacts, rather than hand-crafting software from scratch. To reduce the effort of developing software PLAs and product variants for DRE systems, developers are applying general-purpose -- ideally standard -- middleware platforms whose reusable services and mechanisms support a range of application quality of service (QoS) requirements, such as low latency and jitter. The generality and flexibility of standard middleware, however, often results in excessive time/space overhead for DRE systems, due to lack of optimizations tailored to meet the specific QoS requirements of different product variants in a PLA.This paper provides the following contributions to the study of middleware specialization techniques for PLA-based DRE systems. First, we identify key dimensions of generality in standard middleware stemming from framework implementations, deployment platforms, and middleware standards. Second, we illustrate how context-specific specialization techniques can be automated and used to tailor standard middleware to better meet the QoS needs of different PLA product variants. Third, we quantify the benefits of applying automated tools to specialize a standard Realtime CORBA middleware implementation. When applied together, these middleware specializations improved our application product variant throughput by ~65%, average- and worst-case end-to-end latency measures by ~43% and ~45%, respectively, and predictability by a factor of two over an already optimized middleware implementation, with little or no effect on portability, standard middleware APIs, or application software implementations, and interoperability.