Eliminating Implicit Dependencies in Component Models

Wouter Horré,Danny Hughes,Ka Lok Man,Steven Guan,Binbin Qian,Tianlin Yu,Haofan Zhang,Zhun Shen,Michel P. Schellekens,Steve Hollands
DOI: https://doi.org/10.1109/nesea.2011.6144945
2011-01-01
Abstract:A software component is defined as a unit of composition with contractually specified interfaces and explicit dependencies that may be independently deployed. Components form generic, re-usable software building blocks, which can be composed into applications and deployed by third parties. A good component model therefore must seek to minimize implicit dependencies in order to maximize re-use and composability. The benefits of component models have led to their widespread application in the area of networked embedded systems and particularly Wireless Sensor Networks. This paper first classifies and analyses the types of dependency that a component may be subject to. Next, we assess the success of contemporary component models in eliminating implicit dependencies and promoting re-usability. We then describe our efforts to reduce implicit distributed dependencies in the design of LooCI: the Loosely-coupled Component Infrastructure. We conclude with a call-to-arms for the component-based software engineering community that suggests avenues for future work.
What problem does this paper attempt to address?