Skip to main content

Integrated Timed Architectural Modeling/Execution Language

  • Chapter
  • First Online:
Active Object Languages: Current Research Trends

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 14360))

  • 171 Accesses

Abstract

We discuss an integrated approach for the design, specification, automatic deployment and simulation of microservice-based applications based on the ABS language. In particular, the integration of architectural modeling inspired by TOSCA (component types/port dependencies/architectural invariants) into the ABS language (static and dynamic aspects of ABS, including component properties, e.g., speed, and their use in timed/probabilistic simulations) via dedicated annotations. This is realized by the integration of the ABS toolchain with a dedicated tool, called Timed SmartDepl. Such a tool, at ABS code compile time, solves (starting from the provided architectural specification) the optimal deployment problem and produces ABS deployment orchestrations to be used in the context of timed simulations. Moreover, the potentialities and the expressive power of this approach are confirmed by further integration with external tools, e.g.: the Zephyrus tool, used by Timed SmartDepl to solve the optimal deployment problem via constraint solving, and a machine learning-based predictive module, that generates in advance data to be used in a timed ABS simulation exploiting such predicted data (e.g., simulating the usage, during the day, of predicted data generated during the preceding night).

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 59.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 74.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.

    Complexity of our ABS process algebraic models is also witnessed by the fact that they led us to discover an error in the Erlang backend: it caused interferences in time evolution between unrelated VMs (it was solved thanks to our code).

  2. 2.

    \(\lceil x \rceil \) is the ceil function that takes as input a real number and gives as output the least integer greater than or equal to x.

  3. 3.

    The ABS instructions \(\mathsf {nth(a,i)}\) and \(\mathsf {length(a)}\) retrieve the \(\textsf{i}\)-th element and the length of the \(\textsf{a}\) array, respectively.

References

  1. Code repository for the email processing examples. https://github.com/LBacchiani/ABS-Simulations-Comparison

  2. Ábrahám, E., Corzilius, F., Johnsen, E.B., Kremer, G., Mauro, J.: Zephyrus2: on the fly deployment optimization using SMT and CP technologies. In: Fränzle, M., Kapur, D., Zhan, N. (eds.) SETTA 2016. LNCS, vol. 9984, pp. 229–245. Springer, Cham (2016). https://doi.org/10.1007/978-3-319-47677-3_15

    Chapter  Google Scholar 

  3. ABS. ABS documentation. http://docs.abs-models.org/

  4. ABS. ABS toolchain. https://www.sciencedirect.com/science/article/pii/S0167642322000946

  5. ABS. Core ABS. https://www.sciencedirect.com/science/article/pii/S2352220814000479

  6. ABS. Deployment component in ABS. https://link.springer.com/chapter/10.1007/978-3-642-25271-6_8

  7. ABS. Real time ABS. https://link.springer.com/article/10.1007/s11334-012-0184-5

  8. Amazon, AWS auto scaling. https://aws.amazon.com/autoscaling/

  9. Bacchiani, L., Bravetti, M., Gabbrielli, M., Giallorenzo, S., Zavattaro, G., Zingaro, S.P.: Proactive-reactive global scaling, with analytics. In: Troya, J., Medjahed, B., Piattini, M., Yao, L., Fernández, P., Ruiz-Cortés, A. (eds.) Service-Oriented Computing - 20th International Conference, ICSOC 2022, Seville, Spain, 29 November–2 December 2022, Proceedings, vol. 13740 of Lecture Notes in Computer Science, pp. 237–254. Springer, Heidelberg (2022). https://doi.org/10.1007/978-3-031-20984-0_16

  10. Bacchiani, L., Bravetti, M., Giallorenzo, S., Mauro, J., Talevi, I., Zavattaro, G.: Microservice dynamic architecture-level deployment orchestration. In: Damiani, F., Dardha, O. (eds.) COORDINATION 2021. LNCS, vol. 12717, pp. 257–275. Springer, Cham (2021). https://doi.org/10.1007/978-3-030-78142-2_16

    Chapter  Google Scholar 

  11. Balsamo, S., Di Marco, A., Inverardi, P., Simeoni, M.: Model-based performance prediction in software development: a survey. IEEE Trans. Softw. Eng. 30(5), 295–310 (2004)

    Article  Google Scholar 

  12. Bezirgiannis, N., de Boer, F., de Gouw, S.: Human-in-the-loop simulation of cloud services. In: De Paoli, F., Schulte, S., Broch Johnsen, E. (eds.) ESOCC 2017. LNCS, vol. 10465, pp. 143–158. Springer, Cham (2017). https://doi.org/10.1007/978-3-319-67262-5_11

    Chapter  Google Scholar 

  13. Binder, W., Hulaas, J., Camesi, A.: Continuous bytecode instruction counting for cpu consumption estimation. In: Third International Conference on the Quantitative Evaluation of Systems-(QEST 2006), pp. 19–30. IEEE (2006)

    Google Scholar 

  14. Binder, W., Hulaas, J., Moret, P., Villazón, A.: Platform-independent profiling in a virtual execution environment. Softw. Pract. Exp. 39(1), 47–79 (2009)

    Article  Google Scholar 

  15. Bravetti, M., Carbone, M., Zavattaro, G.: Undecidability of asynchronous session subtyping. Inf. Comput. 256, 300–320 (2017)

    Article  MathSciNet  Google Scholar 

  16. Bravetti, M., Giallorenzo, S., Mauro, J., Talevi, I., Zavattaro, G.: Optimal and automated deployment for microservices. In: Hähnle, R., van der Aalst, W. (eds.) FASE 2019. LNCS, vol. 11424, pp. 351–368. Springer, Cham (2019). https://doi.org/10.1007/978-3-030-16722-6_21

    Chapter  Google Scholar 

  17. Bravetti, M., Giallorenzo, S., Mauro, J., Talevi, I., Zavattaro, G.: A formal approach to microservice architecture deployment. In: Microservices, pp. 183–208. Springer, Cham (2020). https://doi.org/10.1007/978-3-030-31646-4_8

    Chapter  Google Scholar 

  18. Di Cosmo, R., Zacchiroli, S., Zavattaro, G.: Towards a formal component model for the cloud. In: Eleftherakis, G., Hinchey, M., Holcombe, M. (eds.) SEFM 2012. LNCS, vol. 7504, pp. 156–171. Springer, Heidelberg (2012). https://doi.org/10.1007/978-3-642-33826-7_11

    Chapter  Google Scholar 

  19. Coullon, H., Henrio, L., Loulergue, F., Robillard, S.: Component-based distributed software reconfiguration: a verification-oriented survey. ACM Comput. Surv. 56(1), 1–37 (2023)

    Article  Google Scholar 

  20. de Gouw, S., Mauro, J., Zavattaro, G.: On the modeling of optimal and automatized cloud application deployment. J. Logical Algebr. Methods Program. 107, 108–135 (2019)

    Article  MathSciNet  Google Scholar 

  21. Di Cosmo, R., Mauro, J., Zacchiroli, S., Zavattaro, G.: Aeolus: a component model for the cloud. Inf. Comput. 239, 100–121 (2014)

    Article  MathSciNet  Google Scholar 

  22. Docker. Docker compose documentation. https://docs.docker.com/compose/

  23. Dragoni, N., et al.: Microservices: yesterday, today, and tomorrow. In: Present and Ulterior Software Engineering, pp. 195–216. Springer, Cham (2017). https://doi.org/10.1007/978-3-319-67425-4_12

    Chapter  Google Scholar 

  24. Fromm, K.: Thinking Serverless! How New Approaches Address Modern Data Processing Needs. https://medium.com/a-cloud-guru/thinking-serverless-how-new-approaches-address-modern-data-processing-needs-part-1-af6a158a3af1

  25. Hermanns, H., Herzog, U., Katoen, J.-P.: Process algebra for performance evaluation. Theor. Comput. Sci. 274(1–2), 43–87 (2002)

    Article  MathSciNet  Google Scholar 

  26. Hightower, K., Burns, B., Beda, J.: Kubernetes: Up and Running Dive into the Future of Infrastructure, 1st edn. O’Reilly Media Inc., Sebastopol (2017)

    Google Scholar 

  27. Humble, J., Farley, D.: Continuous Delivery: Reliable Software Releases Through Build, Test, and Deployment Automation. Addison-Wesley Professional, Boston (2010)

    Google Scholar 

  28. Klimt, B., Yang, Y.: The enron corpus: a new dataset for email classification research. In: Machine Learning: ECML 2004, Berlin, pp. 217–226 (2004)

    Google Scholar 

  29. Nethercote, N., Stuckey, P.J., Becket, R., Brand, S., Duck, G.J., Tack, G.: MiniZinc: towards a standard CP modelling language. In: Bessière, C. (ed.) CP 2007. LNCS, vol. 4741, pp. 529–543. Springer, Heidelberg (2007). https://doi.org/10.1007/978-3-540-74970-7_38

    Chapter  Google Scholar 

  30. OASIS. Topology and Orchestration Specification for Cloud Applications (TOSCA) Version 1.0. http://docs.oasis-open.org/tosca/TOSCA/v1.0/cs01/TOSCA-v1.0-cs01.html. Accessed May 2020

  31. Rawdat, A.: Testing the performance of nginx and nginx plus web servers. https://www.nginx.com/blog/testing-the-performance-of-nginx-and-nginx-plus-web-servers/

  32. Urgaonkar, B., Shenoy, P., Chandra, A., Goyal, P., Wood, T.: Agile dynamic provisioning of multi-tier internet applications. ACM Trans. Auton. Adapt. Syst. (TAAS) 3(1), 1–39 (2008)

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Lorenzo Bacchiani .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2024 The Author(s), under exclusive license to Springer Nature Switzerland AG

About this chapter

Check for updates. Verify currency and authenticity via CrossMark

Cite this chapter

Bacchiani, L., Bravetti, M., Giallorenzo, S., Mauro, J., Zavattaro, G. (2024). Integrated Timed Architectural Modeling/Execution Language. In: de Boer, F., Damiani, F., Hähnle, R., Broch Johnsen, E., Kamburjan, E. (eds) Active Object Languages: Current Research Trends. Lecture Notes in Computer Science, vol 14360. Springer, Cham. https://doi.org/10.1007/978-3-031-51060-1_7

Download citation

  • DOI: https://doi.org/10.1007/978-3-031-51060-1_7

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-031-51059-5

  • Online ISBN: 978-3-031-51060-1

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics