Component technology in an embedded system
Master's thesis in computer science
Master's thesis in computer science
This site hosts David Polberger’s master’s thesis in computer science, Component technology in an embedded system. You can either download the PDF version (suitable for printing), or read the thesis online. If you have feedback, please send me an e-mail. Thanks!
Software components have been touted as the solution to the modularity problems faced in the software industry, one that also gives rise to a sophisticated market of software parts. With components, proponents claim, software is effortlessly built by combining components readily available for procurement. This master’s thesis examines components from a technical perspective and brings into focus the industry standards that enable interoperability between components. Particular attention is given to freestanding interfaces, and an object model supporting this concept is developed in the C programming language.
This thesis also includes a discussion of the component technology developed at ST-Ericsson and Sony Ericsson for use in their embedded systems. An execution tracing facility for this environment, enabled using a declarative attribute, is presented, along with a discussion of the implementation of services customized through declarative means in the enterprise.
Much has been written about software components over the years. While there is considerable discrepancy of opinion over some of the finer points of their definition, there is universal agreement that the goal of the discipline is to make it possible to create software, partly or fully, from prefabricated parts. Software components, in other words, facilitate software reuse.
From a technical perspective, component technology lays down standards that enable software parts to be usable from many different environments. While software reuse in and of itself cannot be credited to component technology, the discipline does bring increased rigor. Its standards enable objects—and not just procedures—created in different environments to communicate, while insisting that interfaces are kept separate from their implementations. Some of the technology in this space bring additional features, which enable things like distributed computing and out-of-band services through declarative attributes.
The other major perspective that is often applied to component technology is the business perspective. Because component technology makes reuse possible on a grander scale than before, there is a larger market for software components than for, say, language- and vendor-specific class libraries. As a result, some envision the formation of large software component markets, offering a wide range of compatible components competing on price and functionality, ultimately leading to the transformation of the entire industry. This thesis pays very little attention to the business perspective, and almost exclusively focuses on the enabling technology.
The PDF version of this work is
licensed under a Creative
Commons Attribution-Noncommercial-No Derivative Works
2.5 Sweden License. In essence, you are free to
distribute this thesis as long as you do not stand to
profit directly from it, and you do not modify it.
Please direct comments to david@polberger.se.