|
ABSTRACT
Component-based software structuring principles are now commonplace at the application level; but componentization is far less established when it comes to building low-level systems software. Although there have been pioneering efforts in applying componentization to systems-building, these efforts have tended to target specific application domains (e.g., embedded systems, operating systems, communications systems, programmable networking environments, or middleware platforms). They also tend to be targeted at specific deployment environments (e.g., standard personal computer (PC) environments, network processors, or microcontrollers). The disadvantage of this narrow targeting is that it fails to maximize the genericity and abstraction potential of the component approach. In this article, we argue for the benefits and feasibility of a generic yet tailorable approach to component-based systems-building that offers a uniform programming model that is applicable in a wide range of systems-oriented target domains and deployment environments. The component model, called OpenCom, is supported by a reflective runtime architecture that is itself built from components. After describing OpenCom and evaluating its performance and overhead characteristics, we present and evaluate two case studies of systems we have built using OpenCom technology, thus illustrating its benefits and its general applicability.
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
|
N. Bencomo , G. Blair , G. Coulson , P. Grace , A. Rashid, Reflection and aspects meet again: runtime reflective mechanisms for dynamic aspects, Proceedings of the 1st workshop on Aspect oriented middleware development, November 28-December 02, 2005, Grenoble, France
[doi> 10.1145/1101560.1101567]
|
 |
2
|
Gordon S. Blair , Geoff Coulson , Paul Grace, Research directions in reflective middleware: the Lancaster experience, Proceedings of the 3rd workshop on Adaptive and reflective middleware, p.262-267, October 19-19, 2004, Toronto, Ontario, Canada
[doi> 10.1145/1028613.1028627]
|
| |
3
|
Bruneton, E., Coupaye, T., Leclerc, M., Quema, V., and Stefani, J. B. 2004. An open component model and its support in Java. In Proceedings of the 7th International Symposium on Component-Based Software Engineering (ICSE-CBSE7, Edinburgh, Scotland).
|
| |
4
|
Bruneton, E. and Riveill, M. 2000. JavaPod: An adaptable and extensible component platform. Proceedings of the Reflective Middleware 2000, (New York, NY).
|
| |
5
|
Campbell, A. T., Chou, S., Kounavis, M.E., Stachtos, V. D., and Vicente, J. B. 2002. NetBind: A binding tool for constructing data paths in network processor-based routers. In Proceedings of the 5th IEEE International Conference on Open Architectures and Network Programming (OPENARCH' 02).
|
| |
6
|
|
| |
7
|
Paolo Costa , Geoff Coulson , Richard Gold , Manish Lad , Cecilia Mascolo , Luca Mottola , Gian Pietro Picco , Thirunavukkarasu Sivaharan , Nirmal Weerasinghe , Stefanos Zachariadis, The RUNES Middleware for Networked Embedded Systems and its Application in a Disaster Management Scenario, Proceedings of the Fifth IEEE International Conference on Pervasive Computing and Communications, p.69-78, March 19-23, 2007
[doi> 10.1109/PERCOM.2007.36]
|
| |
8
|
|
| |
9
|
|
| |
10
|
Coulson, G., Blair, G. S., and Grace, P. 2004. On the performance of reflective systems software. In Proceedings of the International Workshop on Middleware Performance (MP 2004, Phoenix, AZ); satellite workshop of the IEEE International Performance, Computing and Communications Conference (IPCCC 2004).
|
 |
11
|
Geoff Coulson , Gordon Blair , David Hutchison , Ackbar Joolia , Kevin Lee , Jo Ueyama , Antonio Gomes , Yimin Ye, NETKIT: a software component-based approach to programmable networking, ACM SIGCOMM Computer Communication Review, v.33 n.5, October 2003
[doi> 10.1145/963985.963991]
|
| |
12
|
|
 |
13
|
|
| |
14
|
|
 |
15
|
Bryan Ford , Godmar Back , Greg Benson , Jay Lepreau , Albert Lin , Olin Shivers, The Flux OSKit: a substrate for kernel and language research, Proceedings of the sixteenth ACM symposium on Operating systems principles, p.38-51, October 05-08, 1997, Saint Malo, France
|
| |
16
|
Nathalie Furmento , Anthony Mayer , Stephen McGough , Steven Newhouse , Tony Field , John Darlington, ICENI: optimisation of component applications within a Grid environment, Parallel Computing, v.28 n.12, p.1753-1772, December 2002
[doi> 10.1016/S0167-8191(02)00187-4]
|
| |
17
|
|
| |
18
|
|
| |
19
|
Grace, P., Blair, G. S., and Samuel, S. 2003. ReMMoC: A reflective middleware to support mobile client interoperability. In Proceedings of the Symposium on Distributed Objects and Applications (DOA 2003, Catania, Sicily, Italy).
|
| |
20
|
Grace, P., Coulson, G., Blair, G. S., and Porter, B. 2005. Deep middleware for the divergent grid. In Proceedings of IFIP/ACM/USENIX Middleware 2005.
|
| |
21
|
|
 |
22
|
|
| |
23
|
Hughes, D., Greenwood, P., Blair, G., Coulson, G., Pappenberger, F., Smith, P., and Beven, K. 2006. An intelligent and adaptable grid-based flood monitoring and warning system. In Proceedings of the UK eScience All Hands Meeting.
|
| |
24
|
Intel. 2004. Intel IXP1200/2400 Network Processors. Go online to http://www.intel.com/IXA.
|
| |
25
|
Bo Nørregard Jørgensen , Eddy Truyen , Frank Matthijs , Wouter Joosen, Customization of object request brokers by application specific policies, IFIP/ACM International Conference on Distributed systems platforms, p.144-163, April 03-07, 2000, New York, New York, United States
|
| |
26
|
|
| |
27
|
|
| |
28
|
Karlin, S. and Peterson, L. 2001. VERA: An extensible router architecture. In Proceedings of the IEEE Conference on Open Architectures and Network Programming (OPENARCH 2001, Anchorage, AK). 3--14.
|
 |
29
|
|
 |
30
|
|
 |
31
|
Kostas Magoutis , José Carlos Brustoloni , Eran Gabber , Wee Teck Ng , Avi Silberschatz, Building appliances out of components using Pebble, Proceedings of the 9th workshop on ACM SIGOPS European workshop: beyond the PC: new challenges for the operating system, September 17-20, 2000, Kolding, Denmark
[doi> 10.1145/566726.566769]
|
| |
32
|
Microsoft. 2005. Net Home Page. Go online to http://www.microsoft.com/net.
|
| |
33
|
Mozilla Organization. 2005. XPCOM project. Go online to http://www.mozilla.org/projects/xpcom.
|
| |
34
|
Network Processing Forum. 2005. Go online to http://www.npforum.org/.
|
| |
35
|
Object Management Group. 1995. The Common Object Request Broker: Architecture and Specification, 2.0 ed. MG, Needham, MA.
|
| |
36
|
Object Management Group. 1999. CORBA components final submission. OMG Document orbos/99-02-05. OMG, Needham, MA.
|
| |
37
|
Parlavantzas, N. 2005. Constructing modifiable middleware with component frameworks. Ph.D. dissertation. Computing Department, Lancaster University, Lancaster, U.K.
|
| |
38
|
|
| |
39
|
Rashid, R., Baron, B., Forin, A., Golub, D., Jones, M., Julin, D., Orr, D., and Sanzi, R. 1989. Mach: A foundation for open systems. In Proceedings of the 2nd Workshop on Workstation Operating Systems (WWOS2).
|
| |
40
|
Alastair Reid , Matthew Flatt , Leigh Stoller , Jay Lepreau , Eric Eide, Knit: component composition for systems software, Proceedings of the 4th conference on Symposium on Operating System Design & Implementation, p.24-24, October 22-25, 2000, San Diego, California
|
| |
41
|
Roman, M., Mickunas, D., Kon, F., and Campbell, R. H. 2000. LegORB. In Proceedings of the IFIP/ACM Middleware 2000 Workshop on Reflective Middleware. IBM Palisades Executive Conference Center, Yorktown Heights, NY.
|
| |
42
|
Stewart, D., Volpe, R., and Khosla, P. 1993. Design of dynamically reconfigurable real-time software using port-based objects. Robotics Institute, Rep. No. CMU-RI-TR-93-11. Carnegie Mellon University, Pittsburgh, PA.
|
| |
43
|
Sun Microsystems. 2005. Go online to http://java.sun.com/products/ejf/index.html.
|
| |
44
|
|
| |
45
|
|
 |
46
|
Thomas Genßler , Alexander Christoph , Michael Winter , Oscar Nierstrasz , Stéphane Ducasse , Roel Wuyts , Gabriela Arévalo , Bastiaan Schönhage , Peter Müller , Chris Stich, Components for embedded software: the PECOS approach, Proceedings of the 2002 international conference on Compilers, architecture, and synthesis for embedded systems, October 08-11, 2002, Grenoble, France
[doi> 10.1145/581630.581634]
|
CITED BY 8
|
|
Nelly Bencomo , Paul Grace , Carlos Flores , Danny Hughes , Gordon Blair, Genie: supporting the model driven development of reflective, component-based adaptive systems, Proceedings of the 30th international conference on Software engineering, May 10-18, 2008, Leipzig, Germany
|
|
|
Amirhosein Taherkordi , Romain Rouvoy , Quan Le-Trung , Frank Eliassen, A self-adaptive context processing framework for wireless sensor networks, Proceedings of the 3rd international workshop on Middleware for sensor networks, p.7-12, December 01-01, 2008, Leuven, Belgium
|
|
|
Danny Hughes , Nelly Bencomo , Gordon Blair , Geoff Coulson , Paul Grace , Barry Porter, Exploiting extreme heterogeneity in a flood warning scenario using the Gridkit middleware, Proceedings of the ACM/IFIP/USENIX Middleware '08 Conference Companion, December 01-05, 2008, Leuven, Belgium
|
|
|
Gareth Tyson , Paul Grace , Andreas Mauthe , Sebastian Kaune, The survival of the fittest: an evolutionary approach to deploying adaptive functionality in peer-to-peer systems, Proceedings of the 7th workshop on Reflective and adaptive middleware, p.23-28, December 01-05, 2008, Leuven, Belgium
|
|
|
|
|
|
|
|
|
|
|
|
|
|