Skip to main content

Achieving Reuse with Pluggable Software Units

  • Conference paper
Top Productivity through Software Reuse (ICSR 2011)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 6727))

Included in the following conference series:

  • 820 Accesses

Abstract

In this paper we present a solution to software reuse based on Pluggable Units (PUs) that can be used to compose new applications from existing parts. Although this goal has been achieved in hardware design through the creation of integrated circuits (ICs), the attempts to build a software equivalent were not fully successful. Pluggable units are a full fledged software implementation of the IC concept while providing new features not existing in hardware, namely the ability to compose software hierarchically. An application example is provided in JUse, a new Java-based language supporting pluggable units and in JWidget, a pluggable version of Java/Swing.

This work is supported by the Portuguese Foundation for Science and Technology, under grant PTDC/EIA-EIA/100752/2008.

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

Access this chapter

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

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Gartner identifies seven grand challenges facing IT (2008), http://www.gartner.com/it/page.jsp?id=643117

  2. Aldrich, J., Chambers, C., Notkin, D.: ArchJava: Connecting software architecture to implementation. In: International Conference on Software Engineering, pp. 187–197 (2002)

    Google Scholar 

  3. Allen, R., Garlan, D.: A formal basis for architectural connection. ACM Transactions on Software Engineering and Methodology 6(3), 213–249 (1997)

    Article  Google Scholar 

  4. AppInventor, http://appinventor.googlelabs.com/

  5. Arbab, F.: Reo: A channel-based coordination model for component composition. Mathematical Structures in Computer Science 14, 329–366 (2004)

    Article  MathSciNet  MATH  Google Scholar 

  6. Arlow, J., Neustadt, I.: UML 2 and the Unified Process: Practical Object-Oriented Analysis and Design. Addison, London (2005)

    Google Scholar 

  7. Barais, O., Meur, A., Duchien, L., Lawall, J.: Software architecture evolution. In: Software Evolution, pp. 233–262. Springer, Heidelberg (2008)

    Chapter  Google Scholar 

  8. Barros, F.: Modeling formalisms for dynamic structure systems. ACM Transactions on Modeling and Computer Simulation 7(12), 505–515 (1997)

    MATH  Google Scholar 

  9. Barros, F.: System and method for programming using independent and reusable software units. US Patent 6851104 B1 (Filed August 2000) (February 2005)

    Google Scholar 

  10. Barros, F.: Representing hierarchical mobility in software architectures. In: International Workshop on Software Engineering for Adaptive and Self-Managing Systems (2007)

    Google Scholar 

  11. Batory, D., O’Malley, S.: The design and implementation of hierarchical software systems with reusable components. ACM Transactions on Software Engineering and Methodology 1(4), 355–398 (1992)

    Article  Google Scholar 

  12. Brooks, F.: No silver bullet: Essence and accidents of software engineering. In: Information Processing 1986, pp. 1069–1076 (1986)

    Google Scholar 

  13. Bruneton, E., Coupaye, T., Leclercq, M., Quéma, V., Stefani, J.: The FRACTAL component model and its support in Java. Software Practice and Experience 36(11-12), 1257–1284 (2006)

    Article  Google Scholar 

  14. Bureš, T., Hnětynka, P., Plášil, F.: Dynamic reconfiguration and access to services in hierarchical component models. In: International Conference on Software Engineering Research, Management and Apllications, pp. 40–48 (2006)

    Google Scholar 

  15. Freeman, E., Freeman, E., Sierra, K., Bates, B.: Head First Design Patterns. O’ Reilly, Sebastopol (2004)

    Google Scholar 

  16. Garlan, D., Monroe, R., Wile, D.: ACME: An architecture description interchange language. In: Conference of the Centre for Advanced Studies on Collaborative Research (1997)

    Google Scholar 

  17. Kahn, G.: The semantics of a simple language for parallel programming. In: Information Processing, pp. 471–475 (1974)

    Google Scholar 

  18. Khoshgoftaar, T., Allen, E., Kalaichelvan, K., Goel, N.: The impact of software evolution and reuse on software quality. Empirical Software Enginnering, 31–44 (1996)

    Google Scholar 

  19. Lau, K.-K., Wang, Z.: Software component models. IEEE Transactions on Software Engineering 33(10), 709–724 (2007)

    Article  Google Scholar 

  20. Lim, W.: The effects of reuse on quality, productivity, and economics. IEEE Software, 23–30 (1994)

    Google Scholar 

  21. Medvidovic, N., Taylor, R.: A classification and comparison framework for software architecture description languages. IEEE Transactions on Software Engineering 26(1), 70–93 (2000)

    Article  Google Scholar 

  22. Mesarovic, M., Takahara, Y.: General Systems Theory: A Mathematical Foundation. Academic Press, London (1975)

    MATH  Google Scholar 

  23. Mohagheghi, P., Conradi, R.: Quality, productivity, and economics benefits of software reuse: A review of industrial studies. Empirical Software Engineering 12, 471–516 (2007)

    Article  Google Scholar 

  24. Odersky, M., Zenger, M.: Scalable component abstractions. In: Object-Oriented Programming Systems Languages and Applications, pp. 41–57 (2005)

    Google Scholar 

  25. Oquendo, F.: Formally modelling software architectures with the UML 2.0 profile for π-ADL. ACM SIGSOFT Software Engineering Notes 31(1), 1–13 (2006)

    Article  Google Scholar 

  26. Parnas, D.: On the criteria to be used in decomposing systems into modules. Communications of the ACM 15(12), 1053–1058 (1972)

    Article  Google Scholar 

  27. Pawlak, R., Seinturier, L., Retaillé, J.-P.: Foundations of AOP for J2EE Development. A-Press (2006)

    Google Scholar 

  28. Sametinger, J.: Software Engineering with Reusable Components. Springer, Heidelberg (1997)

    Book  MATH  Google Scholar 

  29. Shaw, M., Clements, P.: The golden age of software architectures: A comprehensive survey. Technical Report CMU-ISRI-06-101, Carnegie-Mellon University, USA (2006)

    Google Scholar 

  30. Sommerville, I.: Software Engineering 8. Addison-Wesley, Reading (2007)

    MATH  Google Scholar 

  31. Szyperski, C.: Component Software: Beyond Object-Oriented Software. Addison-Wesley, Reading (1998)

    Google Scholar 

  32. Taylor, R., Medvidović, N., Dashofy, E.: Software Architecture. Wiley, Chichester (2010)

    Google Scholar 

  33. van Ommering, R., van der Linden, F., Kramer, J., Magee, J.: The Koala component model for consumer electronics software. Computer 33(3), 75–85 (2000)

    Google Scholar 

  34. Wymore, A.: A Mathematical Theory of Systems Engineering: The Elements. Krieger (1967)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2011 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Barros, F.J. (2011). Achieving Reuse with Pluggable Software Units. In: Schmid, K. (eds) Top Productivity through Software Reuse. ICSR 2011. Lecture Notes in Computer Science, vol 6727. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-21347-2_14

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-21347-2_14

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-21346-5

  • Online ISBN: 978-3-642-21347-2

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics