Skip to main content

Formal Software Architectural Migration Towards Emerging Architectural Styles

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

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

Included in the following conference series:

  • 1600 Accesses

Abstract

Software systems are evolved over time to enhance various qualities of the software system by adopting new technologies and principles. The architecture design is usually required to be migrated from one architectural style to another to support this adoption, while the key functionalities still need to be preserved. This paper presents a formal approach that supports architectural migration. Our approach automates refactoring the architectural design to support the exploitation of emerging technologies such as microservices and blockchain. With our approach, the refactored architectural design can be verified to ensure that the essential functional requirements are still preserved, and the design has complied with the behavioural constraints of new architectural styles. We have evaluated the accuracy and performance of our approach. The results prove that it performs reasonably well.

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

Notes

  1. 1.

    The formal architectural patterns can be found at https://bit.ly/2vGv6qi.

  2. 2.

    The complete model in OWL of LifeNet can be found at https://bit.ly/3bhsCgO.

  3. 3.

    The complete model in ADL of LifeNet can be found at https://bit.ly/2zhLbnN.

  4. 4.

    Arch Modeller can be found at http://bit.ly/2m3LITT.

  5. 5.

    The implementation of refactoring rules can be found at https://bit.ly/2WEHaTw.

  6. 6.

    The models and evaluation results can be found at https://bit.ly/3ft3gQv.

References

  1. Balalaie, A., Heydarnoori, A., Jamshidi, P.: Migrating to cloud-native architectures using microservices: an experience report. In: Celesti, A., Leitner, P. (eds.) ESOCC Workshops 2015. CCIS, vol. 567, pp. 201–215. Springer, Cham (2016). https://doi.org/10.1007/978-3-319-33313-7_15

    Chapter  Google Scholar 

  2. Balalaie, A., Heydarnoori, A., Jamshidi, P., Tamburri, D., Lynn, T.: Microservices migration patterns. Softw.: Pract. Exp. 48, 2019–2042 (2018)

    Google Scholar 

  3. Bucchiarone, A., Soysal, K., Guidi, C.: A model-driven approach towards automatic migration to microservices. In: Bruel, J.-M., Mazzara, M., Meyer, B. (eds.) DEVOPS 2019. LNCS, vol. 12055, pp. 15–36. Springer, Cham (2020). https://doi.org/10.1007/978-3-030-39306-9_2

    Chapter  Google Scholar 

  4. Chondamrongkul, N., Sun, J., Warren, I.: Ontology-based software architectural pattern recognition and reasoning. In: 30th International Conference on Software Engineering and Knowledge Engineering (SEKE), pp. 25–34, June 2018

    Google Scholar 

  5. Chondamrongkul, N., Sun, J., Warren, I.: PAT approach to architecture behavioural verification. In: 31th International Conference on Software Engineering and Knowledge Engineering, pp. 187–192, July 2019

    Google Scholar 

  6. Ford, N., Parsons, R., Kua, P.: Building Evolutionary Architectures: Support Constant Change. O’Reilly Media Inc., Sebastopol (2017)

    Google Scholar 

  7. Fowler, M.: Refactoring: Improving the Design of Existing Code. A Martin Fowler Signature Book. Addison-Wesley, Boston (2019)

    Google Scholar 

  8. Garlan, D., et al.: Documenting Software Architectures: Views and Beyond, 2nd edn. Addison-Wesley Professional, Boston (2010)

    Google Scholar 

  9. Holmes, T., Zdun, U.: Refactoring architecture models for compliance with custom requirements. In: Proceedings of the 21th ACM/IEEE MODELS 2018, pp. 267–277. Association for Computing Machinery, New York (2018)

    Google Scholar 

  10. Klettke, M., Thalheim, B.: Evolution and migration of information systems. In: Embley, D., Thalheim, B. (eds.) Handbook of Conceptual Modeling, pp. 381–419. Springer, Heidelberg (2011). https://doi.org/10.1007/978-3-642-15865-0_12

    Chapter  Google Scholar 

  11. Lin, Y., Peng, X., Cai, Y., Dig, D., Zheng, D., Zhao, W.: Interactive and guided architectural refactoring with search-based recommendation. In: Proceedings of the 2016 24th ACM SIGSOFT International Symposium on Foundations of Software Engineering FSE 2016, pp. 535–546. Association for Computing Machinery, New York (2016)

    Google Scholar 

  12. Nunes, L., Santos, N., Rito Silva, A.: From a monolith to a microservices architecture: an approach based on transactional contexts. In: Bures, T., Duchien, L., Inverardi, P. (eds.) ECSA 2019. LNCS, vol. 11681, pp. 37–52. Springer, Cham (2019). https://doi.org/10.1007/978-3-030-29983-5_3

    Chapter  Google Scholar 

  13. Richards, M.: Software Architecture Patterns. O’Reilly Media Inc., Sebastopol (2015)

    Google Scholar 

  14. Rizzi, L., Fontana, F.A., Roveda, R.: Support for architectural smell refactoring. In: Proceedings of the 2nd International Workshop on Refactoring IWoR 2018, pp. 7–10. Association for Computing Machinery, New York (2018)

    Google Scholar 

  15. Stopford, B.: Designing Event-Driven Systems. O’Reilly, Sebastopol (2018)

    Google Scholar 

  16. Sun, J., Liu, Y., Dong, J.S., Chen, C.: Integrating specification and programs for system modeling and verification. In: Proceedings of the Third IEEE International Symposium on Theoretical Aspects of Software Engineering (TASE 2009), pp. 127–135. IEEE Computer Society (2009)

    Google Scholar 

  17. Tanhaei, M., Habibi, J., Mirian-Hosseinabadi, S.H.: A feature model based framework for refactoring software product line architecture. J. Comput. Sci. Technol. 31, 951–986 (2016)

    Article  Google Scholar 

  18. Ulrich, W.: Introduction to architecture-driven modernization. In: Ulrich, W.M., Newcomb, P.H. (eds.) Information Systems Transformation, pp. 3–34. The MK/OMG Press, Morgan Kaufmann, Boston (2010)

    Chapter  Google Scholar 

  19. Xu, X., Pautasso, C., Zhu, L., Lu, Q., Weber, I.: A pattern collection for blockchain-based applications. In: Proceedings of the 23rd European Conference on Pattern Languages of Programs EuroPLoP 2018. Association for Computing Machinery, New York (2018)

    Google Scholar 

  20. Zimmermann, O.: Architectural refactoring for the cloud: a decision-centric view on cloud migration. Computing 99, 129–145 (2017)

    Article  MathSciNet  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Nacha Chondamrongkul .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2020 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Chondamrongkul, N., Sun, J., Warren, I. (2020). Formal Software Architectural Migration Towards Emerging Architectural Styles. In: Jansen, A., Malavolta, I., Muccini, H., Ozkaya, I., Zimmermann, O. (eds) Software Architecture. ECSA 2020. Lecture Notes in Computer Science(), vol 12292. Springer, Cham. https://doi.org/10.1007/978-3-030-58923-3_2

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-58923-3_2

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-58922-6

  • Online ISBN: 978-3-030-58923-3

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics