{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,1,18]],"date-time":"2026-01-18T00:01:38Z","timestamp":1768694498386,"version":"3.49.0"},"publisher-location":"Cham","reference-count":43,"publisher":"Springer International Publishing","isbn-type":[{"value":"9783319307336","type":"print"},{"value":"9783319307343","type":"electronic"}],"license":[{"start":{"date-parts":[[2016,1,1]],"date-time":"2016-01-01T00:00:00Z","timestamp":1451606400000},"content-version":"unspecified","delay-in-days":0,"URL":"http:\/\/www.springer.com\/tdm"}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2016]]},"DOI":"10.1007\/978-3-319-30734-3_14","type":"book-chapter","created":{"date-parts":[[2016,3,12]],"date-time":"2016-03-12T08:19:52Z","timestamp":1457770792000},"page":"194-210","update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":27,"title":["Self-Reconfiguring Microservices"],"prefix":"10.1007","author":[{"given":"Maurizio","family":"Gabbrielli","sequence":"first","affiliation":[]},{"given":"Saverio","family":"Giallorenzo","sequence":"additional","affiliation":[]},{"given":"Claudio","family":"Guidi","sequence":"additional","affiliation":[]},{"given":"Jacopo","family":"Mauro","sequence":"additional","affiliation":[]},{"given":"Fabrizio","family":"Montesi","sequence":"additional","affiliation":[]}],"member":"297","published-online":{"date-parts":[[2016,3,13]]},"reference":[{"key":"14_CR1","unstructured":"Amazon. AWS CloudFormation. https:\/\/aws.amazon.com\/cloudformation\/. Accessed January 2016"},{"key":"14_CR2","volume-title":"Programming Erlang","author":"J Armstrong","year":"2013","unstructured":"Armstrong, J.: Programming Erlang. Pragmatic Bookshelf, Raleigh (2013)"},{"key":"14_CR3","unstructured":"Microsoft Azure. https:\/\/azure.microsoft.com. Accessed January 2016"},{"issue":"1","key":"14_CR4","doi-asserted-by":"crossref","first-page":"263","DOI":"10.1145\/2480359.2429101","volume":"48","author":"Marco Carbone","year":"2013","unstructured":"Carbone, M., Montesi, F.: Deadlock-freedom-by-design: multiparty asynchronous global programming. In: POPL, pp. 263\u2013274. ACM (2013)","journal-title":"ACM SIGPLAN Notices"},{"key":"14_CR5","unstructured":"CenturyLink. Cloud Blueprints. https:\/\/www.ctl.io\/blueprints\/. Accessed January 2016"},{"key":"14_CR6","unstructured":"Cosmo, R.D., Lienhardt, M., Mauro, J., Zacchiroli, S., Zavattaro, G., Zwolakowski, J.: Automatic application deployment in the cloud: from practice to theory and back. In: CONCUR. LIPIcs, vol. 42, pp. 1\u201316. Schloss Dagstuhl - Leibniz-Zentrum fuer Informatik (2015)"},{"key":"14_CR7","doi-asserted-by":"crossref","unstructured":"Cosmo, R.D., Lienhardt, M., Treinen, R., Zacchiroli, S., Zwolakowski, J., Eiche, A., Agahi, A.: Automated synthesis and deployment of cloud applications. In: ASE, pp. 211\u2013222. ACM (2014)","DOI":"10.1145\/2642937.2642980"},{"key":"14_CR8","doi-asserted-by":"publisher","first-page":"100","DOI":"10.1016\/j.ic.2014.11.002","volume":"239","author":"RD Cosmo","year":"2014","unstructured":"Cosmo, R.D., Mauro, J., Zacchiroli, S., Zavattaro, G.: Aeolus: a component model for the cloud. Inf. Comput. 239, 100\u2013121 (2014)","journal-title":"Inf. Comput."},{"key":"14_CR9","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"217","DOI":"10.1007\/978-3-319-07317-0_6","volume-title":"Formal Methods for Executable Software Models","author":"FS de Boer","year":"2014","unstructured":"de Boer, F.S., de Gouw, S.: Combining monitoring with run-time assertion checking. In: Bernardo, M., Damiani, F., H\u00e4hnle, R., Johnsen, E.B., Schaefer, I. (eds.) SFM 2014. LNCS, vol. 8483, pp. 217\u2013262. Springer, Heidelberg (2014)"},{"key":"14_CR10","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"49","DOI":"10.1007\/978-3-319-24072-5_4","volume-title":"Service Oriented and Cloud Computing","author":"S de Gouw","year":"2015","unstructured":"de Gouw, S., Lienhardt, M., Mauro, J., Nobakht, B., Zavattaro, G.: On the integration of automatic deployment into the ABS modeling language. In: Dustdar, S., Leymann, F., Villari, M. (eds.) ESOCC 2015. LNCS, vol. 9306, pp. 49\u201364. Springer, Heidelberg (2015)"},{"key":"14_CR11","unstructured":"DevOps. http:\/\/devops.com\/. Accessed January 2016"},{"key":"14_CR12","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"397","DOI":"10.1007\/978-3-662-48616-0_28","volume-title":"Service-Oriented Computing","author":"R Di Cosmo","year":"2015","unstructured":"Di Cosmo, R., Eiche, A., Mauro, J., Zavattaro, G., Zacchiroli, S., Zwolakowski, J.: Automatic deployment of services in the cloud with aeolus blender. In: Barros, A., Grigori, D., Narendra, N.C., Dam, H.K. (eds.) ICSOC 2015. LNCS, vol. 9435, pp. 397\u2013411. Springer, Heidelberg (2015)"},{"key":"14_CR13","unstructured":"Docker Inc. Docker. https:\/\/www.docker.com\/. Accessed January 2016"},{"issue":"2","key":"14_CR14","doi-asserted-by":"publisher","first-page":"374","DOI":"10.1145\/3149.214121","volume":"32","author":"MJ Fischer","year":"1985","unstructured":"Fischer, M.J., Lynch, N.A., Paterson, M.S.: Impossibility of distributed consensus with one faulty process. J. ACM (JACM) 32(2), 374\u2013382 (1985)","journal-title":"J. ACM (JACM)"},{"key":"14_CR15","unstructured":"Flexiant. Bento Boxes. https:\/\/www.flexiant.com\/2012\/12\/03\/application-provisioning\/. Accessed January 2016"},{"key":"14_CR16","unstructured":"Fowler, M., Lewis, J.: Microservices (2014). http:\/\/martinfowler.com\/articles\/microservices.html. Accessed January 2016"},{"key":"14_CR17","unstructured":"Gabbrielli, M., Giallorenzo, S., Montesi, F.: Applied choreographies (2015). CoRR, abs\/1510.03637"},{"key":"14_CR18","doi-asserted-by":"crossref","DOI":"10.7551\/mitpress\/7431.001.0001","volume-title":"Service-Oriented Computing","author":"D Georgakopoulos","year":"2008","unstructured":"Georgakopoulos, D., Papazoglou, M.P.: Service-Oriented Computing. The MIT Press, Cambridge (2008)"},{"key":"14_CR19","unstructured":"Google App Engine. https:\/\/cloud.google.com\/appengine\/docs. Accessed January 2016"},{"key":"14_CR20","unstructured":"Hewitt, C., Bishop, P., Steiger, R.: A universal modular ACTOR formalism for artificial intelligence. In: IJCAI, pp. 235\u2013245. William Kaufmann (1973)"},{"key":"14_CR21","unstructured":"Jolie.: Programming Language. http:\/\/www.jolie-lang.org\/. Accessed January 2016"},{"issue":"4","key":"14_CR22","first-page":"18","volume":"32","author":"L Lamport","year":"2001","unstructured":"Lamport, L.: Paxos made simple. ACM SIGACT News 32(4), 18\u201325 (2001)","journal-title":"ACM SIGACT News"},{"key":"14_CR23","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"284","DOI":"10.1007\/978-3-642-15640-3_19","volume-title":"Trustworthly Global Computing","author":"I Lanese","year":"2010","unstructured":"Lanese, I., Bucchiarone, A., Montesi, F.: A framework for rule-based dynamic adaptation. In: Wirsing, M., Hofmann, M., Rauschmayer, A. (eds.) TGC 2010, LNCS, vol. 6084, pp. 284\u2013300. Springer, Heidelberg (2010)"},{"key":"14_CR24","doi-asserted-by":"crossref","unstructured":"Lascu, T.A., Mauro, J., Zavattaro, G.: A planning tool supporting the deployment of cloud applications. In: ICTAI, pp. 213\u2013220. IEEE (2013)","DOI":"10.1109\/ICTAI.2013.41"},{"key":"14_CR25","unstructured":"Mandriva. Armonic. https:\/\/armonic.readthedocs.org\/en\/latest\/index.html. Accessed January 2016"},{"key":"14_CR26","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"382","DOI":"10.1007\/978-3-662-48057-1_30","volume-title":"Mathematical Foundations of Computer Science 2015","author":"J Mauro","year":"2015","unstructured":"Mauro, J., Zavattaro, G.: On the complexity of reconfiguration in systems with legacy components. In: Italiano, G.F., Pighizzini, G., Sannella, D.T. (eds.) MFCS 2015. LNCS, vol. 9234, pp. 382\u2013393. Springer, Heidelberg (2015)"},{"key":"14_CR27","unstructured":"Montesi, F.: Hack your way through the microservices revolution. http:\/\/www.infoworld.com\/article\/2903590\/application-development\/hack-your-way-through-the-microservices-revolution.html. Accessed January 2016"},{"key":"14_CR28","unstructured":"Montesi, F.: JOLIE: a Service-oriented Programming Language. Master\u2019s thesis, University of Bologna (2010)"},{"key":"14_CR29","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"125","DOI":"10.1007\/978-3-642-25535-9_9","volume-title":"Service-Oriented Computing","author":"F Montesi","year":"2011","unstructured":"Montesi, F., Carbone, M.: Programming services with correlation sets. In: Kappel, G., Maamar, Z., Motahari-Nezhad, H.R. (eds.) ICSOC 2011. LNCS, vol. 7084, pp. 125\u2013141. Springer, Heidelberg (2011)"},{"key":"14_CR30","doi-asserted-by":"publisher","first-page":"19","DOI":"10.1016\/j.entcs.2007.01.051","volume":"181","author":"F Montesi","year":"2007","unstructured":"Montesi, F., Guidi, C., Lucchi, R., Zavattaro, G.: JOLIE: a java orchestration language interpreter engine. Electr. Notes Theor. Comput. Sci. 181, 19\u201333 (2007)","journal-title":"Electr. Notes Theor. Comput. Sci."},{"key":"14_CR31","doi-asserted-by":"crossref","unstructured":"Montesi, F., Guidi, C., Zavattaro, G.: Composing services with JOLIE. In: Proceedings of ECOWS, pp. 13\u201322 (2007)","DOI":"10.1109\/ECOWS.2007.19"},{"key":"14_CR32","doi-asserted-by":"publisher","first-page":"81","DOI":"10.1007\/978-1-4614-7518-7_4","volume-title":"Web Services Foundations","author":"F Montesi","year":"2014","unstructured":"Montesi, F., Guidi, C., Zavattaro, G.: Service-oriented programming with Jolie. In: Bouguettaya, A., Sheng, Q.Z., Daniel, F. (eds.) Web Services Foundations, pp. 81\u2013107. Springer, New York (2014)"},{"key":"14_CR33","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"425","DOI":"10.1007\/978-3-642-40184-8_30","volume-title":"CONCUR 2013 \u2013 Concurrency Theory","author":"F Montesi","year":"2013","unstructured":"Montesi, F., Yoshida, N.: Compositional choreographies. In: D\u2019Argenio, P.R., Melgratti, H. (eds.) CONCUR 2013 \u2013 Concurrency Theory. LNCS, vol. 8052, pp. 425\u2013439. Springer, Heidelberg (2013)"},{"key":"14_CR34","unstructured":"Morris, K.: Immutableserver (2013). http:\/\/martinfowler.com\/bliki\/ImmutableServer.html. Accessed January 2016"},{"key":"14_CR35","unstructured":"Netflix. Building with legos (2011). http:\/\/techblog.netflix.com\/2011\/08\/building-with-legos.html. Accessed January 2016"},{"key":"14_CR36","unstructured":"Nginx. Adopting microservices at netflix: Lessons for architectural design (2015). https:\/\/www.nginx.com\/blog\/microservices-at-netflix-architectural-best-practices\/. Accessed January 2016"},{"key":"14_CR37","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"125","DOI":"10.1007\/978-3-319-24072-5_9","volume-title":"Service Oriented and Cloud Computing","author":"B Nobakht","year":"2015","unstructured":"Nobakht, B., de Gouw, S., de Boer, F.S.: Formal verification of service level agreements through distributed monitoring. In: Dustdar, S., Leymann, F., Villari, M. (eds.) ESOCC 2015. LNCS, vol. 9306, pp. 125\u2013140. Springer, heidelberg (2015)"},{"key":"14_CR38","unstructured":"Oasis, B.: Web services business process execution language (2007). http:\/\/docs.oasis-open.org\/wsbpel\/2.0\/wsbpel-v2.0.html"},{"key":"14_CR39","unstructured":"Ongaro, D., Ousterhout, J.: In search of an understandable consensus algorithm. In: USENIX, pp. 305\u2013320 (2014)"},{"key":"14_CR40","unstructured":"Opscode. Chef. http:\/\/www.opscode.com\/chef\/. Accessed January 2016"},{"key":"14_CR41","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"crossref","first-page":"67","DOI":"10.1007\/978-3-319-19282-6_5","volume-title":"Coordination Models and Languages","author":"MD Preda","year":"2015","unstructured":"Preda, M.D., Gabbrielli, M., Giallorenzo, S., Lanese, I., Mauro, J.: Dynamic choreographies - safe runtime updates of distributed applications. In: Holvoet, T., Viroli, M. (eds.) COORDINATION. LNCS, vol. 9037, pp. 67\u201382. Springer, Heidelberg (2015)"},{"key":"14_CR42","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"crossref","first-page":"161","DOI":"10.1007\/978-3-319-11245-9_9","volume-title":"Software Language Engineering","author":"MD Preda","year":"2014","unstructured":"Preda, M.D., Giallorenzo, S., Lanese, I., Mauro, J., Gabbrielli, M.: AIOCJ: a choreographic framework for safe adaptive distributed applications. In: Combemale, B., Pearce, D.J., Barais, O., Vinju, J.J. (eds.) SLE 2014. LNCS, vol. 8706, pp. 161\u2013170. Springer, Heidelberg (2014)"},{"key":"14_CR43","unstructured":"Puppetlabs. Puppet. http:\/\/puppetlabs.com\/. Accessed January 2016"}],"container-title":["Lecture Notes in Computer Science","Theory and Practice of Formal Methods"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/978-3-319-30734-3_14","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,1]],"date-time":"2025-06-01T19:21:26Z","timestamp":1748805686000},"score":1,"resource":{"primary":{"URL":"https:\/\/link.springer.com\/10.1007\/978-3-319-30734-3_14"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2016]]},"ISBN":["9783319307336","9783319307343"],"references-count":43,"URL":"https:\/\/doi.org\/10.1007\/978-3-319-30734-3_14","relation":{},"ISSN":["0302-9743","1611-3349"],"issn-type":[{"value":"0302-9743","type":"print"},{"value":"1611-3349","type":"electronic"}],"subject":[],"published":{"date-parts":[[2016]]},"assertion":[{"value":"13 March 2016","order":1,"name":"first_online","label":"First Online","group":{"name":"ChapterHistory","label":"Chapter History"}}]}}