Abstract
“Composition Primitives” is a novel component model targeting .NET. The model facilitates composition across component programming frameworks via an adaptation mechanism external to the component. Constructing adapters is relatively inexpensive, because the model is minimal and focused on just one concern: offering enough information to support composition. Although small, the model supports static discovery of the services provided and consumed by a component—in other words, it is reflective. To strengthen the value of its reflection capabilities, it purposely does not rely on the Service Locator pattern and it supports n–order composition scenarios. In this paper, we present our model and support our claims.
Access provided by Autonomous University of Puebla. Download to read the full chapter text
Chapter PDF
Similar content being viewed by others
Keywords
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
References
Object Management Group. Corba Component Model (2002), http://www.omg.org
The Castle Project. Microkernel, http://www.castleproject.org
Nicholas Blumhardt. Autofac, http://www.autofac.org
Bruneton, E., Coupaye, T., Leclercq, M., Quema, V., Stefani, J.-B.: An open component model and its support in java. In: Crnković, I., Stafford, J.A., Schmidt, H.W., Wallnau, K. (eds.) CBSE 2004. LNCS, vol. 3054, pp. 7–22. Springer, Heidelberg (2004)
ECMA International. Standard ECMA-335 - Common Language Infrastructure (CLI), 4 edn. (June 2006)
Szyperski, C., Gruntz, D., Murer, S.: Component Software: Beyond Object-Oriented Programming, 2nd edn. Component Software. Addison-Wesley/ACM Press (2002)
Kircher, M., Jain, P.: Pattern-Oriented Software Architecture. In: Patterns for Resource Management, vol. 3. Wiley, Chichester (2004)
Johnson, R.E., Foote, B.: Designing reusable classes. Journal of Object-Oriented Programming 1(2), 22–35 (1988)
Black, A.P. (ed.): ECOOP 2005. LNCS, vol. 3586. Springer, Heidelberg (2005)
van Ommering, R.: Software reuse in product populations. IEEE Transactions on Software Engineering 31(7), 537–550 (2005)
Sun Microsystems. Java 2TM Platform Enterprise Edition Specification, v1.4 (November 2003), http://java.sun.com/j2ee/j2ee-1_4-fr-spec.pdf
Box, D.: Essential COM. Addison-Wesley, Reading (1998)
Lee, R., Seligman, S.: The Jndi API Tutorial and Reference: Building Directory-Enabled Java Applications. Addison-Wesley Longman Publishing Co., Inc., Boston (2000)
Trofin, M., Murphy, J.: Static verification of component composition in contextual composition frameworks. International Journal on Software Tools for Technology Transfer 10(3), 247–261 (2008)
World Wide Web Consortium (W3C). Web services description language (WSDL) v. 2.0, http://www.w3.org/TR/wsdl20
Oberleitner, J., Gschwind, T., Jazayeri, M.: The vienna component framework enabling composition across component models. In: ICSE 2003: Proceedings of the 25th International Conference on Software Engineering, Washington, DC, USA, pp. 25–35. IEEE Computer Society, Los Alamitos (2003)
OSGi Alliance. Osgi service platform – release 4, version 4.2 (2009)
Meyer, B.: Eiffel: The Language. Prentice-Hall, Englewood Cliffs (1992)
Flanagan, C., Leino, K., Lillibridge, M., Nelson, C., Saxe, J., Stata, R.: Extended Static Checking for Java. In: Proceedings of Programming Language Design and Implementation (2002)
Barnett, M., Leino, K.R.M., Schulte, W.: The Spec# Programming System: An Overview. In: Barthe, G., Burdy, L., Huisman, M., Lanet, J.-L., Muntean, T. (eds.) CASSIS 2004. LNCS, vol. 3362, pp. 49–69. Springer, Heidelberg (2005)
Ng, K., Kramer, J.: Automated support for distributed software design. In: CASE 1995: Proceedings of the Seventh International Workshop on Computer-Aided Software Engineering, Washington, DC, USA, p. 381. IEEE Computer Society, Los Alamitos (1995)
Magee, J., Dulay, N., Eisenbach, S., Kramer, J.: Specifying Distributed Software Architectures. In: Botella, P., Schäfer, W. (eds.) ESEC 1995. LNCS, vol. 989. Springer, Heidelberg (1995)
Aldrich, J., Chambers, C., Notkin, D.: Archjava: connecting software architecture to implementation. In: ICSE 2002: Proceedings of the 24th International Conference on Software Engineering, pp. 187–197. ACM, New York (2002)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2010 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Trofin, M., Blumhardt, N., Szyperski, C. (2010). The .NET Primitives for Open, Dynamic and Reflective Component Frameworks. In: Baudry, B., Wohlstadter, E. (eds) Software Composition. SC 2010. Lecture Notes in Computer Science, vol 6144. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-14046-4_10
Download citation
DOI: https://doi.org/10.1007/978-3-642-14046-4_10
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-14045-7
Online ISBN: 978-3-642-14046-4
eBook Packages: Computer ScienceComputer Science (R0)