Bibliography

[1]

Markus Aleksy, Axel Korthaus and Martin Schader. Implementing Distributed Systems with Java and CORBA. Springer-Verlag, 2005.

[2]

Jeff Alger. OpenDoc vs. OLE. MacTech, 100 (8), 1994. Available at http://www.mactech.com/articles/mactech/Vol.10/10.08/OpenDoc2/.

[3]

Felix Bachmann, Len Bass, Charles Buhman, Santiago Comella-Dorda, Fred Long, John Robert, Robert Seacord and Kurt Wallnau. Volume II: Technical Concepts of Component-Based Software Engineering, 2nd Edition. Technical report, Carnegie Mellon Software Engineering Institute, May 2000. Available at http://www.sei.cmu.edu/pub/documents/00.reports/pdf/00tr008.pdf.

[4]

David Bank. The Java saga. Wired Magazine, 30 (12), December 1995. Available at http://www.wired.com/wired/archive/3.12/java.saga.html.

[5]

Neil Bartlett. OSGi in practice, January 2009. Draft preview, no publisher announced. Available at http://neilbartlett.name/blog/osgibook/.

[6]

Grady Booch, Hedley Apperly, William T. Councill, Martin Griss, George T. Heineman, Ivar Jacobson, Steve Latchem, Barry McGibbon, Davyd Norris and Jeffrey Poulin. The near-term future of Component-Based Software Engineering. In George T. Heineman and William T. Councill, editors, Component-Based Software Engineering: Putting the Pieces Together, pages 753–777. Addison-Wesley, 2001.

[7]

Don Box. Windows 2000 brings significant refinements to the COM(+) programming model. Microsoft Systems Journal, 140 (5), May 1999. Available at http://www.microsoft.com/msj/0599/complusprog/complusprog.aspx.

[8]

Keith Brown. Building a lightweight COM interception framework, part I: The Universal Delegator. Microsoft Systems Journal, 140 (1):0 17–29, January 1999a. Available at http://www.microsoft.com/msj/0199/intercept/intercept.aspx.

[9]

Keith Brown. Building a lightweight COM interception framework, part II: The guts of the UD. Microsoft Systems Journal, 140 (2):0 49–59, February 1999b. Available at http://www.microsoft.com/msj/0299/intercept2/intercept2.aspx.

[10]

Bruce Bukovics. .NET 2.0 Interoperability Recipes. Apress, 2006.

[11]

Jon Byous. Java Technology: The Early Years. Sun Microsystems, 1998. Available at http://java.sun.com/features/1998/05/birthday.html.

[12]

Charlie Calvert. Charlie Calvert’s Delphi 4 Unleashed. Sams Publishing, 1999.

[13]

Bryan M. Cantrill, Michael W. Shapiro and Adam H. Leventhal. Dynamic instrumentation of production systems. In Proceedings of USENIX ’04, 2004. Available at http://www.sun.com/bigadmin/content/dtrace/dtrace_usenix.pdf.

[14]

Alan F. Chalmers. What is this Thing Called Science?: An Assessment of the Nature and Status of Science and Its Methods, chapter Theories as structures I: Kuhn’s paradigms. University of Queensland Press, 1999.

[15]

Stephen Clamage. Stability of the C++ ABI: Evolution of a Programming Language. Sun Microsystems, 2002. Available at http://developers.sun.com/solaris/articles/CC_abi/CC_abi_content.html.

[16]

John Corwin, David F. Bacon, David Grove and Chet Murthy. MJ: A rational module system for Java and its applications. In Proceedings of the OOPSLA ’03 Conference, pages 241–254. Association for Computing Machinery SIGPLAN, 2003.

[17]

Edsger W. Dijkstra. The humble programmer. Communications of the ACM, 150 (10):0 859–866, October 1972. Available at http://www.cs.utexas.edu/users/EWD/ewd03xx/EWD340.PDF.

[18]

Bruce Eckel. Thinking in Java, chapter Appendix A: Using non-Java code. Prentice Hall, first edition, 1998. Chapter written by Andrea Provaglio. Available at http://www.mindviewinc.com/Books/.

[19]

Guy Eddon and Henry Eddon. Understanding the DCOM wire protocol by analyzing network data packets. Microsoft Systems Journal, 130 (3), March 1998. Available at http://www.microsoft.com/msj/0398/dcom.aspx.

[20]

Hans-Erik Eriksson, Magnus Penker, Brian Lyons and David Fado. UML 2 Toolkit, chapter Representing Architecture, pages 255–257. John Wiley and Sons, 2004.

[21]

Erich Gamma, Richard Helm, Ralph Johnson and John Vlissides. Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, 1995.

[22]

Angana Ghosh, Magnus Olsson and Patrik Persson. Ericsson Review: Open application environments in mobile devices: Focus on JME and Ericsson Mobile Platforms. Ericsson Review, 820 (2), 2005. Available at http://ericsson.com/ericsson/corpinfo/publications/review/2005_02/files/200502.pdf.

[23]

Crispin Goswell. The COM Programmer’s Cookbook. Microsoft, 1995. Available at http://msdn.microsoft.com/en-us/library/ms809982.aspx.

[24]

George T. Heineman and William T. Councill, editors. Component-Based Software Engineering: Putting the Pieces Together. Addison-Wesley, 2001a.

[25]

George T. Heineman and William T. Councill. Definition of a software component and its elements. In George T. Heineman and William T. Councill, editors, Component-Based Software Engineering: Putting the Pieces Together, pages 5–21. Addison-Wesley, 2001b.

[26]

George T. Heineman and William T. Councill. Summary. In George T. Heineman and William T. Councill, editors, Component-Based Software Engineering: Putting the Pieces Together, pages 741–753. Addison-Wesley, 2001c.

[27]

Michi Henning. The rise and fall of CORBA. ACM Queue, 40 (5):0 28–34, June 2006. Available at http://queue.acm.org/detail.cfm?id=1142044.

[28]

Bill Hludzinski. Understanding Interface Definition Language: A developer’s survival guide. Microsoft Systems Journal, 130 (8), August 1998. Available at http://www.microsoft.com/msj/0898/idl/idl.aspx.

[29]

Galen C. Hunt and Michael L. Scott. Intercepting and instrumenting COM applications. In Proceedings of the 5th Conference on Object-Oriented Technologies and Systems (COOTS’99), pages 45–56, 1999.

[30]

Dong-Heon Jung, JongKuk Park, Sung-Hwan Bae, Jaemok Lee and Soo-Mook Moon. Efficient exception handling in Java bytecode-to-C ahead-of-time compiler for embedded systems. Computer Languages, Systems and Structures, 34:0 170–183, 2008.

[31]

Michael Kornby. The EMP story. Ericsson Review, 820 (1), 2005. Available at http://ericsson.com/ericsson/corpinfo/publications/review/2005_01/files/2005013.pdf.

[32]

Joseph C. Libby and Kenneth B. Kent. An embedded implementation of the Common Language Infrastructure. Journal of Systems Architecture, 55:0 114–126, 2009.

[33]

Tim Lindholm and Frank Yellin. The Java Virtual Machine Specification, chapter Loading, Linking, and Initializing. Prentice Hall, second edition, 1999. Available at http://java.sun.com/docs/books/jvms/second_edition/html/VMSpecTOC.doc.html.

[34]

Ray Lischner. Delphi in a Nutshell: A Desktop Quick Reference. O’Reilly & Associates, 2000.

[35]

Steve Lohr. Microsoft told to stop shipments of software at issue in rival’s suit. The New York Times, 1998. Published on the 18th of November.

[36]

Frank Lüders, Ivica Crnkovic and Per Runeson. Adopting a component-based software architecture for an industrial control system—a case study. Component-Based Software Development, Lecture Notes in Computer Science, 3378:0 232–248, 2005.

[37]

Lars Mathiassen, Andreas Munk-Madsen, Peter Axel Nielsen and Jan Stage. Objektorienterad analys och design, page 223. Studentlitteratur, 2001.

[38]

R. Jon McGee and Richard L. Warms. Anthropological Theory, chapter Ethnoscience and Cognitive Anthropology, pages 385–386. The McGraw-Hill Companies, third edition, 2004.

[39]

Douglas McIlroy. Mass produced software components. In Peter Naur and Brian Randell, editors, Software Engineering: Report on a conference sponsored by the NATO Science Committee, Garmisch, Germany, 7th to 11th October 1968, pages 138–155. North Atlantic Treaty Organization, NATO Scientific Affairs Division, 1969. Available at http://homepages.cs.ncl.ac.uk/brian.randell/NATO/nato1968.PDF. The PDF version’s pagination differs from the original; refer to pages 79–87 in this version.

[40]

Merriam-Webster. Merriam-Webster’s Online Dictionary: Definition for object, 2009a. Available at http://www.m-w.com/dictionary/object.

[41]

Merriam-Webster. Merriam-Webster’s Online Dictionary: Definition for component, 2009b. Available at http://www.m-w.com/dictionary/component.

[42]

Microsoft. Behind the Code—Life and Times of Anders Hejlsberg. Video interview, 2005. Available at http://channel9.msdn.com/shows/Behind+The+Code/Life-and-Times-of-Anders-Hejlsberg/.

[43]

Microsoft. Behind the Code—Tony Williams: Co-inventor of COM. Video interview, 2006. Available at http://channel9.msdn.com/shows/Behind+The+Code/Tony-Williams-Co-inventor-of-COM/.

[44]

Kevin Mukhar, Chris Zelenak, James L. Weaver and Jim Crume. Beginning Java EE 5: From Novice to Professional. Apress, 2005.

[45]

Peter Naur and Brian Randell, editors. Software Engineering: Report on a conference sponsored by the NATO Science Committee, Garmisch, Germany, 7th to 11th October 1968, 1969. North Atlantic Treaty Organization, NATO Scientific Affairs Division. Available at http://homepages.cs.ncl.ac.uk/brian.randell/NATO/nato1968.PDF.

[46]

Greg Olsen. From COM to common. ACM Queue, 40 (5):0 20–26, June 2006. Available at http://queue.acm.org/detail.cfm?id=1142043.

[47]

Open Software Foundation. OSF DCE Version 1.1: DCE Porting and Testing Guide, November 1995. Available at http://www.opengroup.org/dce/download/.

[48]

George Orwell. Nineteen Eighty-Four. Penguin Group, centennial edition, 2003. Original version published in 1949.

[49]

David L. Parnas. On the criteria to be used in decomposing systems into modules. Communications of the ACM, 150 (12):0 1053–1058, December 1972.

[50]

Ted Pattison. Basic instincts: Porting applications from MTS to COM+. MSDN Magazine, March 2000. Available at http://msdn.microsoft.com/en-us/magazine/cc301351.aspx.

[51]

A. J. Perlis. A new policy for algorithms? Communications of the ACM, 90 (4):0 255–256, April 1966.

[52]

Erik Persson. Shadows of Cavernous Shades: Charting the Chiaroscuro of Realistic Computing. Ph.D. thesis, Department of Computer Science, Lund University, 2002.

[53]

Cuno Pfister and Clemens Szyperski. Why objects are not enough. In Proceedings, First International Component Users Conference. SIGS Publishers, 1996.

[54]

Jeff Prosise. Windows 2000: Asynchronous method calls eliminate the wait for COM clients and servers. MSDN Magazine, April 2000a. Available at http://msdn.microsoft.com/en-us/magazine/cc301334.aspx.

[55]

Jeff Prosise. Implementing handler marshaling under Windows 2000: DeviceClient sample app. MSDN Magazine, August 2000b. Available at http://msdn.microsoft.com/en-us/magazine/cc302323.aspx.

[56]

Jeff Prosise. Understanding COM apartments, part I. CodeGuru, 2001. Available at http://www.codeguru.com/cpp/com-tech/activex/apts/article.php/c5529.

[57]

Ingo Rammer and Mario Szpuszta. Advanced .NET Remoting. Apress, 2005.

[58]

Manos Renieris and Steven P. Reiss. Almost: Exploring program traces. In Proceedings of the 1999 Workshop on New Paradigms in Information Visualization and Manipulation, pages 70–77. ACM Press, 1999.

[59]

Dennis M. Ritchie. The evolution of the Unix time-sharing system. Lecture Notes in Computer Science, 79:0 25–35, 1980. Available at http://www.cs.bell-labs.com/who/dmr/hist.html.

[60]

Miro Samek. Portable inheritance and polymorphism in C. Embedded Systems Programming, 100 (12), December 1997. Available at http://www.embedded.com/97/fe29712.htm.

[61]

Douglas C. Schmidt and Steve Vinoski. Object interconnections: Real-time CORBA, part 1: Motivation and overview. C/C++ Users Journal, December 2001. Available at http://www.ddj.com/cpp/184403809.

[62]

Douglas C. Schmidt and Steve Vinoski. CORBA metaprogramming mechanisms, part 1. C/C++ Users Journal, March 2003. Available at http://www.ddj.com/cpp/184403860.

[63]

Douglas C. Schmidt and Steve Vinoski. The CORBA Component Model: Part 1, evolving towards component middleware. C/C++ Users Journal, February 2004. Available at http://www.ddj.com/cpp/184403884.

[64]

Douglas C. Schmidt, Nanbor Wang and Steve Vinoski. Object interconnections: Collocation optimizations for CORBA. C++ Report, September 1999.

[65]

Stephen B. Seidman. IFIP International Federation for Information Processing, volume 280, chapter The Role of Professional Societies in the Emergence of Software Engineering Professionalism in the United States and Canada, pages 59–67. Springer Boston, 2008.

[66]

Alan Snyder. Encapsulation and inheritance in object-oriented programming languages. In Proceedings of the OOPSLA ’86 Conference, pages 38–45. Association for Computing Machinery SIGPLAN, 1986.

[67]

Ian Sommerville. Software Engineering, chapter Component-Based Software Engineering. Pearson Education, eighth edition, 2007.

[68]

Mark Stoodley, Kenneth Ma and Marius Lut. Real-time Java, part 2: Comparing compilation techniques. IBM developerWorks, April 2007. Available at http://www.ibm.com/developerworks/java/library/j-rtj2/.

[69]

Bjarne Stroustrup. The Design and Evolution of C++. Addison-Wesley, 1994.

[70]

Bjarne Stroustrup. Multiple inheritance for C++. The C/C++ Users Journal, May 1999.

[71]

Kevin J. Sullivan. Designing models of modularity and integration. In George T. Heineman and William T. Councill, editors, Component-Based Software Engineering: Putting the Pieces Together, pages 341–367. Addison-Wesley, 2001.

[72]

Sun Microsystems. OpenOffice.org 2.3 Developer’s Guide, 2007. Available at http://api.openoffice.org/docs/DevelopersGuide/DevelopersGuide.pdf.

[73]

Sun Microsystems. Being Unique with Sony Ericsson. Presentation from the JavaOne conference, 2009. Available at http://java.sun.com/javaone/2009/general_sessions.jsp.

[74]

Symbian Foundation. Introduction to the ECom Plug-in Architecture, 2008. Available at http://developer.symbian.org/main/documentation/carbide/ (search for “ecom”).

[75]

Clemens Szyperski, Dominik Gruntz and Stephan Murer. Component Software: Beyond Object-Oriented Programming. Addison-Wesley, second edition, 2002.

[76]

Darryl K. Taft. Distributed OSGi effort progresses. Ziff Davis eWEEK, 2008. Available at http://www.eweek.com/c/a/Application-Development/Distributed-OSGi-Effort-Progresses/.

[77]

Koji Taniguchi, Takashi Ishio, Toshihiro Kamiya, Shinji Kusumoto and Katsuro Inoue. Extracting sequence diagram from execution trace of Java program. In Proceedings of the 2005 Eighth International Workshop on Principles of Software Evolution (IWPSE’05). Institute of Electrical and Electronics Engineers, 2005.

[78]

Dave Templin. Simplify app deployment with ClickOnce and registration-free COM. MSDN Magazine, April 2005. Available at http://msdn.microsoft.com/en-us/magazine/cc188708.aspx.

[79]

Will Tracz. COTS myths and other lessons learned in component-based software development. In George T. Heineman and William T. Councill, editors, Component-Based Software Engineering: Putting the Pieces Together, pages 99–113. Addison-Wesley, 2001.

[80]

Andrew Troelsen. Pro C# with .NET 3.0. Apress, 2007.

[81]

Doug Turner and Ian Oeschger. Creating XPCOM Components. Brownhen Publishing, 2003. Available at https://developer.mozilla.org/en/Creating_XPCOM_Components.

[82]

Jon Udell. ComponentWare. BYTE Magazine, pages 46–56, May 1994.

[83]

Bill Venners and Bruce Eckel. Delegates, components, and simplexity: A conversation with Anders Hejlsberg, part III, 2003. Available at http://www.artima.com/intv/simplexity3.html.

[84]

Mark Vigder. The evolution, maintenance, and management of component-based systems. In George T. Heineman and William T. Councill, editors, Component-Based Software Engineering: Putting the Pieces Together, pages 527–553. Addison-Wesley, 2001.

[85]

Steve Vinoski. CORBA: Integrating diverse applications within distributed heterogeneous environments. IEEE Communications Magazine, 350 (2), February 1997. Available at http://steve.vinoski.net/ieee.pdf.

[86]

Padmal Vitharana. Risks and challenges of component-based software development. Communications of the ACM, 460 (8):0 67–72, August 2003.

[87]

Rainer Weinreich and Johannes Sametinger. Component models and component services: Concepts and principles. In George T. Heineman and William T. Councill, editors, Component-Based Software Engineering: Putting the Pieces Together, pages 33–49. Addison-Wesley, 2001.

[88]

James E. White. A high-level framework for network-based resource sharing. In AFIPS ’76: Proceedings of the June 7-10, 1976, national computer conference and exposition, pages 561–570, 1976. Also available as RFC 707, at http://tools.ietf.org/html/rfc707.

The veracity of all Internet addresses has been verified on April 19, 2010.