[go: up one dir, main page]

Skip to main content

Enactment of Components Extracted from an Object-Oriented Application

  • Conference paper
Software Architecture (ECSA 2014)

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

Included in the following conference series:

Abstract

Software architecture plays an important role for the application understanding before its maintenance. Unfortunately, for legacy systems code often there is no corresponding (or up to date) architecture. So, several work tackle this problem by extracting components from the legacy system and define their links. Although these components allow to get an architectural view of the legacy system, they still can’t be easily implemented in a concrete framework. In fact, restructuring completely the legacy system facilitates the mapping between the architectural elements and their corresponding ones in the code. This paves the way to the future maintenance of the system.

Our approach aims to reach this complete restructuring. Thus it goes beyond what exists in the state of the art by proposing a technique that makes components extracted from object-oriented applications implementable within a concrete component model. This is done by using class instances that compose the extracted components to infer possible instances the components. Thus, we propose for each extracted component its provided and required interfaces, and a way to construct its instances. We validated the feasibility of the proposed approach through the Spring framework and we illustrated it through a legacy Java application.

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

Access this chapter

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

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.

Similar content being viewed by others

References

  1. Allier, S., Sadou, S., Sahraoui, H., Fleurquin, R.: From object-oriented applications to component-oriented applications via component-oriented architecture. In: 9th IEEE/IFIP Working International Conference on Software Architecture (WICSA), Boulder, Colorado, USA, pp. 214–223. IEEE Computer Society (June 2011)

    Google Scholar 

  2. Allier, S., Sahraoui, H.A., Sadou, S., Vaucher, S.: Restructuring object-oriented applications into component-oriented applications by using consistency with execution traces. In: Grunske, L., Reussner, R., Plasil, F. (eds.) CBSE 2010. LNCS, vol. 6092, pp. 216–231. Springer, Heidelberg (2010)

    Chapter  Google Scholar 

  3. 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)

    Chapter  Google Scholar 

  4. Fabresse, L., Dony, C., Huchard, M.: Foundations of a simple and unified component-oriented language. Computer Languages, Systems & Structures 34(2-3), 130–149 (2008)

    Article  Google Scholar 

  5. Fröhlich, P.H., Gal, A., Franz, M.: Supporting software composition at the programming language level. Sci. Comput. Program. 56, 41–57 (2005)

    Article  Google Scholar 

  6. Garlan, D.: Software architecture: a roadmap. In: Proceedings of the Conference on the Future of Software Engineering, ICSE 2000, pp. 91–101. ACM, New York (2000)

    Google Scholar 

  7. Object Management Group. Unified modeling language 2.1.2 super-structure specification. Specification Version 2.1.2, Object Management Group (November 2007)

    Google Scholar 

  8. Mancoridis, S., Mitchell, B.S., Rorres, C.: Using automatic clustering to produce high-level system organizations of source code. In: Proc. 6th Intl. Workshop on Program Comprehension, pp. 45–53 (1998)

    Google Scholar 

  9. Martin, F., Kessentini, M., Sahraoui, H.: Deriving high-level abstractions from legacy software using example-driven clustering. In: International Conference on Computer Science and Software Engineering, CASCON 2011, pp. 188–199 (2011)

    Google Scholar 

  10. Medvidovic, N., Jakobac, V.: Using software evolution to focus architectural recovery. Automated Software Eng. 13(2), 225–256 (2006)

    Article  Google Scholar 

  11. Pourhaji Kazem, A.A., Lotfi, S.: An evolutionary approach for partitioning weighted module dependency graphs. In: 4th International Conference on Innovations in Information Technology, IIT 2007, pp. 252–256 (November 2007)

    Google Scholar 

  12. Richner, T., Ducasse, S.: Recovering high-level views of object-oriented applications from static and dynamic information. In: Proceedings of the International Conference on Software Maintenance, ICSM 1999, pp. 13–22. IEEE (1999)

    Google Scholar 

  13. Riva, C., Rodriguez, J.V.: Combining static and dynamic views for architecture reconstruction. In: Sixth European Conference onSoftware Maintenance and Reengineering (CSMR), pp. 47–55. Nokia Research Center (2002)

    Google Scholar 

  14. Saeed, M., Maqbool, O., Babri, H.A., Hassan, S.Z., Sarwar, S.M.: Software clustering techniques and the use of combined algorithm. In: Proceedings of the Seventh European Conference on Software Maintenance and Reengineering, CSMR 2003, p. 301. IEEE Computer Society, Washington, DC (2003)

    Chapter  Google Scholar 

  15. Costa Seco, J., Caires, L.: A basic model of typed components. In: Bertino, E. (ed.) ECOOP 2000. LNCS, vol. 1850, p. 108. Springer, Heidelberg (2000)

    Chapter  Google Scholar 

  16. Seriai, A., Sadou, S., Sahraoui, H., Hamza, S.: Deriving component interfaces after a restructuring of a legacy system. In: 11th IEEE/IFIP Working International Conference on Software Architecture (WICSA), Sydney, Australia. IEEE Computer Society (April 2014)

    Google Scholar 

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

    Article  MATH  MathSciNet  Google Scholar 

  18. Yan, H., Garlan, D., Schmerl, B., Aldrich, J., Kazman, R.: Discotect: A system for discovering architectures from running systems. In: International Conference on Software Engineering, pp. 470–479 (2004)

    Google Scholar 

  19. Zenger, M.: Keris: evolving software with extensible modules. Journal of Software Maintenance 17(5), 333–362 (2005)

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2014 Springer International Publishing Switzerland

About this paper

Cite this paper

Seriai, A., Sadou, S., Sahraoui, H.A. (2014). Enactment of Components Extracted from an Object-Oriented Application. In: Avgeriou, P., Zdun, U. (eds) Software Architecture. ECSA 2014. Lecture Notes in Computer Science, vol 8627. Springer, Cham. https://doi.org/10.1007/978-3-319-09970-5_22

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-09970-5_22

  • Publisher Name: Springer, Cham

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

  • Online ISBN: 978-3-319-09970-5

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics