Skip to main content

A Framework for Dynamical Construction of Software Components

  • Conference paper
  • First Online:
  • 1554 Accesses

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 10742))

Abstract

A component model enabling to construct new software components from existing ones dynamically, at runtime, without their bytecodes generation is presented with supporting it software framework. The framework is implemented using JavaBeans component model, but is aimed to eliminate its drawback – the inability to create user-defined components without bytecodes generation. To construct user-defined component dynamically, a composed prototype object is built using predefined (hardcoded and/or composed) component instances; that prototype object can provide functionality required and can be transformed at runtime into a new component (instantiable type) whose instances are able to provide the same functionality, but more efficiently. The prototype object is composed using meta-components – the framework provided components to produce user-defined components dynamically.

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 EPUB and 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

Notes

  1. 1.

    Components used as elements of a composition are composing components; a component having been built from composing components is composed component.

  2. 2.

    Java platform can deal with specific “synthetic” classes defined dynamically by JVM itself for specific purposes.

  3. 3.

    We can use bytecode generation as a kind of just in time compilation, similar to JIT support in JVM [13], as an optimization technique. In that case, component production technology will be the same as component composition technology, producing components with “higher degree of integration” on the fly. But, first, we need to have “source information”.

  4. 4.

    We omit package names from type names for short.

  5. 5.

    The context tree is different from, e.g. java.awt.Container/Component tree that does not support reuse (sharing) of the component instances.

References

  1. Sommerville, I.: Software Engineering, 10th edn. Pearson, New York (2015)

    MATH  Google Scholar 

  2. Wang, A.J.A., Qian, K.: Component-Oriented Programming. Wiley, New York (2005)

    Book  Google Scholar 

  3. Lau, K.-K., Wang, Z.: A Survey of Software Component Models (second edition), School of Computer Science, The University of Manchester, Preprint Series, CSPP-38 (2006)

    Google Scholar 

  4. Paul, C., Bachmann, F., Bass, L., Garlan, D., Ivers, J., Little, R., Merson, P., Stafford, R.N.J.: Documenting Software Architectures: Views and Beyond, 2nd edn. Addison-Wesley, Boston (2010)

    Google Scholar 

  5. McIlroy, D.: Mass-produced “software components. In: Naur, P. Randell, B.: Software Engineering, Report on a conference sponsored by the NATO Science Committee, Garmisch, Germany, 7th to 11th October 1968”. Scientific Affairs Division, NATO, Brussels

    Google Scholar 

  6. Spring Framework. https://spring.io/projects

  7. OSGi Technology. https://www.osgi.org/developer/architecture/

  8. Tiobe index. http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html

  9. JavaBeans API Specification. http://www.oracle.com/technetwork/java/javase/documentation/spec-136004.html

  10. Grinkrug, E.: Dynamic component composition. Int. J. Softw. Eng. Appl. 5(4), 84–101 (2014)

    Google Scholar 

  11. Abadi, M., Cardelli, L.: A Theory of Objects. Monographs in Computer Science. Springer, New York (1996). https://doi.org/10.1007/978-1-4419-8598-9

    Book  MATH  Google Scholar 

  12. Nusan, N., Schoken, S.: The Elements of Computing Systems: Building a Modern Computer From First Principles. The MIT Press, Cambridge (2005)

    Google Scholar 

  13. Oaks, S.: Java Performance: The Definitive Guide. O’Reilly Media, Sebastopol (2014)

    Google Scholar 

  14. Meyer, B.: The grand challenge of trusted components. In: Proceedings of ICSE 2003, pp. 660–667. IEEE (2003)

    Google Scholar 

  15. Szyperski, C., Gruntz, D., Murer, S.: Component Software: Beyond Object-Oriented Programming, 2nd edn. Addison-Wesley, Boston (2002)

    Google Scholar 

  16. Heineman, G., Councill, W. (eds.): Component-Based Software Engineering: Putting the Pieces Together, 2nd edn. Addison-Wesley, Boston (2001)

    Google Scholar 

  17. The Ptolemy Project. http://ptolemy.eecs.berkeley.edu/index.html

  18. Lee, E.A., Neuendorffer, S.: Technical Memorandum UCB/ERL M00/12, Dept. EECS. http://ptolemy.eecs.berkeley.edu/publications/papers/00/moml/

  19. McVeigh, A.: Creating, Reusing and Executing Components in Evolve. http://www.intrinsarc.com/evolve

  20. The Virtual Reality Modeling Language. ISO/IEC 14772. www.web3d.org

  21. Beeson, C.: An object-oriented approach to VRML development. In: Proceedings of the Second Symposium on Virtual reality Modeling Language, VRML 1997, pp. 17–24 (1997)

    Google Scholar 

  22. Diehl, S.: VRML ++: A language for object-oriented virtual reality models. In: Proceedings of the 24th International Conference on Technology of Object-Oriented Languages and Systems, TOOLS, Beijing, pp. 141–150 (1997)

    Google Scholar 

  23. Brutzman, D., Daly, L.: X3D: Extensible 3D Graphics for Web Authors. Elsevier, Amsterdam (2007)

    Google Scholar 

  24. The Instant Reality Framework. http://www.instantreality.org/

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Efim Grinkrug .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2018 Springer International Publishing AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Grinkrug, E. (2018). A Framework for Dynamical Construction of Software Components. In: Petrenko, A., Voronkov, A. (eds) Perspectives of System Informatics. PSI 2017. Lecture Notes in Computer Science(), vol 10742. Springer, Cham. https://doi.org/10.1007/978-3-319-74313-4_13

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-74313-4_13

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-74312-7

  • Online ISBN: 978-3-319-74313-4

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics