Abstract
A number of formalisms have been defined to support the specification and analysis of service oriented applications. These formalisms have been equipped with tools (types or logics) to guarantee the correct behavior of the specified services. Due to the semantic gap between the specification formalism and the programming languages of service oriented overlay computers a critical issue is guaranteeing that correctness is preserved when running the specified systems over available implementations. We have defined a service oriented abstract machine, equipped with a formal structural semantics, that can be used to implement service specification formalisms. We use our abstract machine to implement different service oriented formalisms that have been recently proposed, each posing specific challenges that we can address successfully. By exploiting the SOS semantics of the abstract machine and those of the considered service oriented formalisms we do prove that our implementations are correct (sound and complete). We also discuss possible implementations of other formalisms.
Research supported by the Project FET-GC II IST-2005-16004. The second author has been partially supported also by IMT Alti Studi Lucca.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Bettini, L., De Nicola, R., Falassi, D., Lacoste, M., Lopes, L.M.B., Oliveira, L., Paulino, H., Vasconcelos, V.T.: A software framework for rapid prototyping of run-time systems for mobile calculi. In: Priami, C., Quaglia, P. (eds.) GC 2004. LNCS, vol. 3267, pp. 179–207. Springer, Heidelberg (2005)
Bettini, L., De Nicola, R., Loreti, M.: Implementing session centered calculi. In: Lea, D., Zavattaro, G. (eds.) COORDINATION 2008. LNCS, vol. 5052, pp. 17–32. Springer, Heidelberg (2008)
Bonelli, E., Compagnoni, A., Gunter, E.: Correspondence assertions for process synchronization in concurrent communications. J. Funct. Program. 15(2), 219–247 (2005)
Boreale, M., Bruni, R., Caires, L., De Nicola, R., Lanese, I., Loreti, M., Martins, F., Montanari, U., Ravara, A., Sangiorgi, D., Vasconcelos, V.T., Zavattaro, G.: SCC: a service centered calculus. In: Bravetti, M., Núñez, M., Zavattaro, G. (eds.) WS-FM 2006. LNCS, vol. 4184, pp. 38–57. Springer, Heidelberg (2006)
Boreale, M., Bruni, R., De Nicola, R., Loreti, M.: Sessions and pipelines for structured service programming. In: Barthe, G., de Boer, F.S. (eds.) FMOODS 2008. LNCS, vol. 5051, pp. 19–38. Springer, Heidelberg (2008)
Bruni, R., Lanese, I., Melgratti, H., Mezzina, L.G., Tuosto, E.: Towards trustworthy multiparty sessions (extended abstract). In: Vasconcelos, V.T., Yoshida, N. (eds.) Pre-proceedings of PLACES 2008, 1st Workshop on Programming Language Approaches to Concurrency and Communication-Centric Software, pp. 22–27. Technical Report DI-FCUL TR-08-14, Departamento de Informatica, Faculdade de Ciencias da Universidade de Lisboa (2008)
Bruni, R., Lanese, I., Melgratti, H., Tuosto, E.: Multiparty sessions in SOC. In: Lea, D., Zavattaro, G. (eds.) COORDINATION 2008. LNCS, vol. 5052, pp. 67–82. Springer, Heidelberg (2008)
Bruni, R., Mezzina, L.G.: Types and deadlock freedom in a calculus of services, sessions and pipelines. In: Meseguer, J., Roşu, G. (eds.) AMAST 2008. LNCS, vol. 5140, pp. 100–115. Springer, Heidelberg (2008)
Busi, N., Gorrieri, R., Guidi, C., Lucchi, R., Zavattaro, G.: Sock: a calculus for service oriented computing. In: Dan, A., Lamersdorf, W. (eds.) ICSOC 2006. LNCS, vol. 4294, pp. 327–338. Springer, Heidelberg (2006)
Caires, L., Viera, H.T., Seco, J.C.: The conversation calculus: a model of service oriented computation. Technical Report TR DIFCTUNL 6/07, Univ. Lisbon (2007)
Dezani-Ciancaglini, M., de’Liguoro, U., Yoshida, N.: On progress for structured communications. In: Barthe, G., Fournet, C. (eds.) TGC 2007 and FODO 2008. LNCS, vol. 4912, pp. 257–275. Springer, Heidelberg (2008)
Honda, K., Vasconcelos, V.T., Kubo, M.: Language primitives and type discipline for structured communication-based programming. In: Hankin, C. (ed.) ESOP 1998. LNCS, vol. 1381, pp. 122–138. Springer, Heidelberg (1998)
Honda, K., Yoshida, N., Carbone, M.: Multiparty asynchronous session types. In: Proceedings of POPL 2008, 35th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pp. 273–284. ACM, New York (2008)
Kobayashi, N.: Typical: Type-based static analyzer for the pi-calculus. Tool, http://www.kb.ecei.tohoku.ac.jp/~koba/typical/
Lanese, I., Martins, F., Ravara, A., Vasconcelos, V.T.: Disciplining orchestration and conversation in service-oriented computing. In: SEFM 2007, pp. 305–314. IEEE Computer Society Press, Los Alamitos (2007)
Lapadula, A., Pugliese, R., Tiezzi, F.: A calculus for orchestration of web services. In: De Nicola, R. (ed.) ESOP 2007. LNCS, vol. 4421, pp. 33–47. Springer, Heidelberg (2007)
Mezzina, L.G.: How to infer finite session types in a calculus of services and sessions. In: Lea, D., Zavattaro, G. (eds.) COORDINATION 2008. LNCS, vol. 5052, pp. 216–231. Springer, Heidelberg (2008)
Misra, J., Cook, W.R.: Computation orchestration: A basis for wide-area computing. Journal of Software and Systems Modeling 6(1), 83–110 (2007)
Peschanski, F., Hym, S.: A stackless runtime environment for a pi-calculus. In: VEE 2006: Proceedings of the 2nd international conference on Virtual execution environments, pp. 57–67. ACM, New York (2006)
Pierce, B.C.: Programming in the pi-calculus: A tutorial introduction to pict. available electronically. Technical report (1997)
Rossberg, A., Le Botlan, D., Tack, G., Brunklaus, T., Smolka, G.: Alice Through the Looking Glass, Munich, Germany. Trends in Functional Programming, vol. 5, pp. 79–96. Intellect Books, Bristol (2006)
Turner, D.N.: Ph. D. The polymorphic pi-calculus: Theory and implementation. Technical report (1995)
Vieira, H., Caires, L.: The spatial logic model checker user’s manual. Technical report (2004)
Yoshida, N., Vasconcelos, V.T.: Language primitives and type discipline for structured communication-based programming revisited: Two systems for higher-order session communication. Elect. Notes in Th. Comput. Sci. 171(4), 73–93 (2007)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2009 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Bruni, R., De Nicola, R., Loreti, M., Mezzina, L.G. (2009). Provably Correct Implementations of Services. In: Kaklamanis, C., Nielson, F. (eds) Trustworthy Global Computing. TGC 2008. Lecture Notes in Computer Science, vol 5474. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-00945-7_5
Download citation
DOI: https://doi.org/10.1007/978-3-642-00945-7_5
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-00944-0
Online ISBN: 978-3-642-00945-7
eBook Packages: Computer ScienceComputer Science (R0)