|
ABSTRACT
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.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
| |
1
|
|
| |
2
|
P. Clements and L. Northrop. Software Product Lines: Practices and Patterns. Addison-Wesley, Boston, 2002.
|
| |
3
|
|
 |
4
|
|
| |
5
|
B. S. Doerr and D. C. Sharp. Freeing Product Line Architectures from Execution Dependencies. In Proceedings of the 11th Annual Software Technology Conference, Apr. 1999.
|
| |
6
|
|
| |
7
|
G. Muller , R. Marlet , E.-N. Volanschi , C. Consel , C. Pu , A. Goel, Fast, Optimized Sun RPC Using Automatic Program Specialization, Proceedings of the The 18th International Conference on Distributed Computing Systems, p.240, May 26-29, 1998
|
| |
8
|
|
 |
9
|
|
| |
10
|
|
| |
11
|
|
| |
12
|
V. Itkin. On Partial and Mixed Program Execution. In Program Optimization and Transformation, pages 17--30. CCN, 1983. (In Russian).
|
| |
13
|
|
 |
14
|
Kamen Yotov , Xiaoming Li , Gang Ren , Michael Cibulskis , Gerald DeJong , Maria Garzaran , David Padua , Keshav Pingali , Paul Stodghill , Peng Wu, A comparison of empirical and model-driven optimization, Proceedings of the ACM SIGPLAN 2003 conference on Programming language design and implementation, June 09-11, 2003, San Diego, California, USA
|
| |
15
|
G. Kiczales, J. Lamping, A. Mendhekar, C. Maeda, C. V. Lopes, J.-M. Loingtier, and J. Irwin. Aspect-Oriented Programming. In Proceedings of the 11th European Conference on Object-Oriented Programming, pages 220--242, June 1997.
|
| |
16
|
|
 |
17
|
|
| |
18
|
Object Management Group. Real-time CORBA Specification, OMG Document formal/02--08--02 edition, Aug. 2002.
|
| |
19
|
Carlos O'Ryan , Fred Kuhns , Douglas C. Schmidt , Ossama Othman , Jeff Parsons, The design and performance of a pluggable protocols framework for real-time distributed object computing middleware, IFIP/ACM International Conference on Distributed systems platforms, p.372-395, April 03-07, 2000, New York, New York, United States
|
| |
20
|
D. L. Parnas. On the Design and Development of Program Families. IEEE Transactions on Software Engineering, SE-2(1):1--9, 1976.
|
 |
21
|
C. Pu , T. Autrey , A. Black , C. Consel , C. Cowan , J. Inouye , L. Kethana , J. Walpole , K. Zhang, Optimistic incremental specialization: streamlining a commercial operating system, Proceedings of the fifteenth ACM symposium on Operating systems principles, p.314-321, December 03-06, 1995, Copper Mountain, Colorado, United States
|
| |
22
|
Irfan Pyarali , Carlos O'Ryan , Douglas Schmidt , Nanbor Wang , Aniruddha S. Gokhale , Vishal Kachroo, Using Principle Patterns to Optimize Real-Time ORBs, IEEE Concurrency, v.8 n.1, p.16-25, January 2000
[doi> 10.1109/4434.824309]
|
 |
23
|
|
| |
24
|
I. Pyarali, D. C. Schmidt, and R. Cytron. Techniques for Enhancing Real-time CORBA Quality of Service. IEEE Proceedings Special Issue on Real-time Systems, 91(7), July 2003.
|
| |
25
|
|
| |
26
|
|
| |
27
|
D. C. Schmidt, D. L. Levine, and S. Mungee. The Design and Performance of Real-time Object Request Brokers. Computer Communications, 21(4):294--324, Apr. 1998.
|
| |
28
|
|
 |
29
|
|
| |
30
|
D. C. Sharp. Reducing Avionics Software Cost Through Component Based Product Line Development. In Proceedings of the 10th Annual Software Technology Conference, Apr. 1998.
|
| |
31
|
D. C. Sharp and W. C. Roll. Model-Based Integration of Reusable Component-Based Avionics System. In Proc. of the Workshop on Model-Driven Embedded Systems in RTAS 2003, May 2003.
|
| |
32
|
|
| |
33
|
A. van Deursen, P. Klint, and J. Visser. Domain-Specific Languages, homepages.cwi.nl/~jvisser/papers/dslbib/index.html, Feb. 2002.
|
 |
34
|
Brian White , Jay Lepreau , Leigh Stoller , Robert Ricci , Shashi Guruprasad , Mac Newbold , Mike Hibler , Chad Barb , Abhijeet Joglekar, An integrated experimental environment for distributed systems and networks, Proceedings of the 5th symposium on Operating systems design and implementation Due to copyright restrictions we are not able to make the PDFs for this conference available for downloading, December 09-11, 2002, Boston, Massachusetts
[doi> 10.1145/1060289.1060313]
|
| |
35
|
C. Zhang and H. Jacobsen. Re-factoring Middleware with Aspects. IEEE Transactions on Parallel and Distributed Systems, 14(11): 1058--1073, Nov 2003.
|
|