Skip to main content

An Open Component Model and Its Support in Java

  • Conference paper

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 3054))

Abstract

This paper presents Fractal, a hierarchical and reflective component model with sharing. Components in this model can be endowed with arbitrary reflective capabilities, from black-boxes to components that allow a fine-grained manipulation of their internal structure. The paper describes Julia, a Java implementation of the model, a small but efficient run-time framework, which relies on a combination of interceptors and mixins for the programming of reflective features of components. The paper presents a qualitative and quantitative evaluation of this implementation, showing that component-based programming in Fractal can be made very efficient.

This is a preview of subscription content, log in via an institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Aldrich, J., Chambers, C., Notkin, D.: Architectural Reasoning in ArchJava. In: Magnusson, B. (ed.) ECOOP 2002. LNCS, vol. 2374, p. 334. Springer, Heidelberg (2002)

    Chapter  Google Scholar 

  2. Aldrich, J., Sazawal, V., Chambers, C., Notkin, D.: Language Support for Connector Abstractions. In: Cardelli, L. (ed.) ECOOP 2003. LNCS, vol. 2743, Springer, Heidelberg (2003)

    Google Scholar 

  3. Ancona, D., Lagorio, G., Zucca, E.: A Smooth Extension of Java with Mixins. In: Bertino, E. (ed.) ECOOP 2000. LNCS, vol. 1850, Springer, Heidelberg (2000)

    Chapter  Google Scholar 

  4. Bellissard, L., de Palma, N., Freyssinet, A., Herrmann, M., Lacourte, S.: An Agent Plateform for Reliable Asynchronous Distributed Programming. In: Symposium on Reliable Distributed Systems (SRDS 1999), Lausanne, Switzerland (October 1999)

    Google Scholar 

  5. Bergmans, L., Aksit, M.: Composing Crosscutting Concerns Using Composition Filters. Communications of the ACM 44(10) (2001)

    Google Scholar 

  6. Bruneton, E., Coupaye, T., Stefani, J.B.: The Fractal Component Model. Technical report, Specification v2, ObjectWeb Consortium (2003)

    Google Scholar 

  7. Clarke, M., Blair, G., Coulson, G., Parlavantzas, N.: An Efficient Component Model for the Construction of Adaptive Middleware. In: Guerraoui, R. (ed.) Middleware 2001. LNCS, vol. 2218, p. 160. Springer, Heidelberg (2001)

    Chapter  Google Scholar 

  8. David, P., Ledoux, T.: Towards a Framework for Self-adaptive Component-Based Applications. In: Stefani, J.-B., Demeure, I., Hagimont, D. (eds.) DAIS 2003. LNCS, vol. 2893, pp. 1–14. Springer, Heidelberg (2003)

    Chapter  Google Scholar 

  9. Duclos, F., Estublier, J., Morat, P.: Describing and Using Non Functional Aspects in Component Based Applications. In: AOSD 2002 (2002)

    Google Scholar 

  10. Dumant, B., Dang Tran, F., Horn, F., Stefani, J.B.: Jonathan: an open distributed platform in Java. Distributed Systems Engineering Journal 6 (1999)

    Google Scholar 

  11. Kiczales, G., Hilsdale, E., Hugunin, J., Kersten, M., Palm, J., Griswold, W.: An Overview of AspectJ. In: Knudsen, J.L. (ed.) ECOOP 2001. LNCS, vol. 2072, p. 327. Springer, Heidelberg (2001)

    Chapter  Google Scholar 

  12. Leavens, G., Sitaraman, M. (eds.): Foundations of Component-Based Systems. Cambridge University Press, Cambridge (2000)

    MATH  Google Scholar 

  13. McDirmid, S., Flatt, Hsieh, W.C.: Jiazzi: New-age components for oldfashioned Java. In: Proceedings OOPSLA 2001, ACM Press, New York (2001)

    Google Scholar 

  14. Medvidovic, N., Taylor, R.N.: A Classification and Comparison Framework for Software Architecture Description Languages. IEEE Trans. on Soft. Eng. 26(1) (2000)

    Google Scholar 

  15. Outhred, G., Potter, J.: A Model for Component Composition with Sharing. In: Proceedings ECOOP Workshop WCOP 1998 (1998)

    Google Scholar 

  16. Pawlak, R., Seinturier, L., Duchien, L., Florin, G.: JAC: A Flexible Solution for Aspect-Oriented Programming in Java. In: Yonezawa, A., Matsuoka, S. (eds.) Reflection 2001. LNCS, vol. 2192, p. 1. Springer, Heidelberg (2001)

    Chapter  Google Scholar 

  17. Pichler, R., Ostermann, K., Mezini, M.: On Aspectualizing Component Models. Software Practice and Experience (2003)

    Google Scholar 

  18. Popovici, A., Alonso, G., Gross, T.: Just in time aspects: Efficient dynamic weaving for Java. In: AOSD 2003 (2003)

    Google Scholar 

  19. Popovici, A., Alonso, G., Gross, T.: Spontaneous Container Services. In: Cardelli, L. (ed.) ECOOP 2003. LNCS, vol. 2743, Springer, Heidelberg (2003)

    Google Scholar 

  20. Prochazka, M.: Jironde: A Flexible Framework for Making Components Transactional. In: Stefani, J.-B., Demeure, I., Hagimont, D. (eds.) DAIS 2003. LNCS, vol. 2893, pp. 98–109. Springer, Heidelberg (2003)

    Chapter  Google Scholar 

  21. Rivierre, N., Coupaye, T.: Observing component behaviors with temporal logic. In: 8th ECOOP Workshop on Correctness of Model-Based Software Composition, CMC 2003 (2003)

    Google Scholar 

  22. Szyperski, C.: Component Software, 2nd edn. Addison-Wesley, Reading (2002)

    Google Scholar 

  23. ASM: A Java Byte-Code Manipulation Framework, Objectweb (2002), http://www.objectweb.org/asm/

  24. Java Message Service Specification Final Release 1.1, Mars, Sun Microsystems (2002), http://java.sun.com/products/jms/docs.html

  25. JORAM: Java Open Reliable Asynchronous Messaging, Objectweb (2002), http://www.objectweb.org/joram/

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2004 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Bruneton, E., Coupaye, T., Leclercq, M., Quema, V., Stefani, JB. (2004). An Open Component Model and Its Support in Java. In: Crnkovic, I., Stafford, J.A., Schmidt, H.W., Wallnau, K. (eds) Component-Based Software Engineering. CBSE 2004. Lecture Notes in Computer Science, vol 3054. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-24774-6_3

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-24774-6_3

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-21998-9

  • Online ISBN: 978-3-540-24774-6

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics