Skip to main content

Materializing Architecture Recovered from Object-Oriented Source Code in Component-Based Languages

  • Conference paper
  • First Online:
Software Architecture (ECSA 2016)

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

Included in the following conference series:

Abstract

In the literature of software engineering, many approaches have been proposed for the recovery of software architectures. These approaches propose to group classes into highly-cohesive and loosely-coupled clusters considered as architectural components. The recovered architecture plays mainly a documentation role, as high-level design views that enhance software understandability. In addition, architecture recovery can be considered as an intermediate step for migration to component-based platforms. This migration allows to fully benefit from all advantages brought by software component concept. For that, the recovered clusters should not be considered as simple packaging and deployment units. They should be treated as real components: true structural and behavior units that are instantiable from component descriptors and connected together to materialize the architecture of the software. In this paper, we propose an approach for revealing component descriptors, component instances and component-based architecture to materialize the recovered architecture of an object-oriented software in component-based languages. We applied our solution onto two well known component-based languages, OSGi and SOFA.

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

Institutional subscriptions

References

  1. D. Box. Essential com. object technology series (1997)

    Google Scholar 

  2. Oracle E.E. Group. Jsr 220: Enterprise javabeanstm, version 3.0 ejb core contracts and requirements version 3.0, final release, May 2006

    Google Scholar 

  3. Shatnawi, A., Seriai, A., Sahraoui, H., Al-Shara, Z.: Mining software components from object-oriented APIs. In: Schaefer, I., Stamelos, I. (eds.) ICSR 2015. LNCS, vol. 8919, pp. 330–347. Springer, Heidelberg (2014). doi:10.1007/978-3-319-14130-5_23

    Google Scholar 

  4. Bertolino, A., et al.: An architecture-centric approach for producing quality systems. QoSA/SOQUA 3712, 21–37 (2005)

    Google Scholar 

  5. Birkmeier, D., Overhage, S.: On component identification approaches – classification, state of the art, and comparison. In: Lewis, G.A., Poernomo, I., Hofmeister, C. (eds.) CBSE 2009. LNCS, vol. 5582, pp. 1–18. Springer, Heidelberg (2009). doi:10.1007/978-3-642-02414-6_1

    Chapter  Google Scholar 

  6. Constantinou, E., et al.: Extracting reusable components: a semi-automated approach for complex structures. Inf. Process. Lett. 115(3), 414–417 (2015)

    Article  Google Scholar 

  7. Washizaki, H., et al.: A technique for automatic component extraction from object-oriented programs by refactoring. Sci. Comput. Program. 56(1–2), 99–116 (2005)

    Article  MathSciNet  MATH  Google Scholar 

  8. Crnkovic, I., et al.: A classification framework for software component models. IEEE Trans. Softw. Eng. 37(5), 593–615 (2011)

    Article  Google Scholar 

  9. Lau, K., et al.: Software component models. IEEE Trans. Softw. Eng. 33(10), 709–724 (2007)

    Article  Google Scholar 

  10. Clarke, M., Blair, G.S., Coulson, G., Parlavantzas, N.: An efficient component model for the construction of adaptive middleware. In: Guerraoui, R. (ed.) Middleware 2001. LNCS, vol. 2218, pp. 160–178. Springer, Heidelberg (2001). doi:10.1007/3-540-45518-3_9

    Chapter  Google Scholar 

  11. Shaw, M., et al.: Software Architecture: Perspectives on an Emerging Discipline. Prentice-Hall Inc., Upper Saddle River (1996)

    MATH  Google Scholar 

  12. Spacek, P., et al.: A component-based meta-level architecture and prototypical implementation of a reflective component-based programming and modeling language. In: Proceedings of the 17th International ACM Sigsoft Symposium on Component-Based Software Engineering, CBSE 2014. ACM (2014)

    Google Scholar 

  13. Kazman, R., et al.: Requirements for integrating software architecture, reengineering models: Corum ii. In: Proceedings of Reverse Engineering (1998)

    Google Scholar 

  14. Allier, S., et al.: From object-oriented applications to component-oriented applications via component-oriented architecture. In: Software Architecture (WICSA) (2011)

    Google Scholar 

  15. Becker, S., et al.: Model-based performance prediction with the palladio component model. In: Proceedings of the 6th International Workshop on Software and Performance, WOSP 2007. ACM (2007)

    Google Scholar 

  16. Chardigny, S., et al.: Extraction of component-based architecture from object-oriented systems. In: Software Architecture, WICSA (2008)

    Google Scholar 

  17. Ducasse, S., et al.: Software architecture reconstruction: a process-oriented taxonomy. IEEE Trans. Softw. Eng. 35(4), 573–591 (2009)

    Article  Google Scholar 

  18. Kebir, S., et al.: Quality-centric approach for software component identification from object-oriented code. In: Software Architecture (WICSA) and European Conference on Software Architecture (ECSA) (2012)

    Google Scholar 

  19. Bures T., et al.: Sofa 2.0: balancing advanced features in a hierarchical component model. In: Software Engineering Research, Management and Applications (2006)

    Google Scholar 

  20. Alshara, Z., et al.: Migrating large object-oriented applications into component-based ones: instantiation and inheritance transformation. In: Proceedings of the 2015 ACM SIGPLAN International Conference on Generative Programming: Concepts and Experiences, GPCE 2015. ACM (2015)

    Google Scholar 

  21. Sun Microsystems. Javabeans specification (1997)

    Google Scholar 

  22. OMG. Omg corba component model v4.0 (2011)

    Google Scholar 

  23. Osgi Service Platform. The osgi alliance, release 6 (2015)

    Google Scholar 

  24. Seriai, A., Sadou, S., Sahraoui, H.A.: Enactment of components extracted from an object-oriented application. In: Avgeriou, P., Zdun, U. (eds.) ECSA 2014. LNCS, vol. 8627, pp. 234–249. Springer, Heidelberg (2014). doi:10.1007/978-3-319-09970-5_22

    Google Scholar 

  25. Szyperski, C.: Component Software: Beyond Object-Oriented Programming, 2nd edn. Addison-Wesley Longman Publishing Co. Inc., Boston (2002)

    MATH  Google Scholar 

  26. Winter, M.: The pecos software process. In: Workshop on Components-based Software Development Processes, ICSR (2002)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Zakarea Alshara .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2016 Springer International Publishing AG

About this paper

Cite this paper

Alshara, Z., Seriai, AD., Tibermacine, C., Bouziane, H.L., Dony, C., Shatnawi, A. (2016). Materializing Architecture Recovered from Object-Oriented Source Code in Component-Based Languages. In: Tekinerdogan, B., Zdun, U., Babar, A. (eds) Software Architecture. ECSA 2016. Lecture Notes in Computer Science(), vol 9839. Springer, Cham. https://doi.org/10.1007/978-3-319-48992-6_23

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-48992-6_23

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-48991-9

  • Online ISBN: 978-3-319-48992-6

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics