Hostname: page-component-848d4c4894-p2v8j Total loading time: 0 Render date: 2024-05-04T23:57:59.324Z Has data issue: false hasContentIssue false

Attribute-based transactions in service oriented computing

Published online by Cambridge University Press:  10 November 2014

LAURA BOCCHI
Affiliation:
School of Computing, University of Kent, CT2 7NF, Canterbury, UK Email: L.Bocchi@kent.ac.uk
EMILIO TUOSTO
Affiliation:
Department of Computer Science, University of Leicester, Leicester, UK Email: emilio@le.ac.uk

Abstract

We present a theory for the design and verification of distributed transactions in dynamically reconfigurable systems. Despite several formal approaches have been proposed to study distributed transactional behaviours, the inter-relations between failure propagation and dynamic system reconfiguration still need investigation. We propose a formal model for transactions in service oriented architectures (SOAs) inspired by the attribute mechanisms of the Java Transaction API. Technically, we model services in ATc (after ‘Attribute-based Transactional calculus’), a CCS-like process calculus where service declarations are decorated with a transactional attribute. Such attribute disciplines, upon service invocation, how the invoked service is executed with respect to the transactional scopes of the invoker. A type system ensures that well-typed ATc systems do not exhibit run-time errors due to misuse of the transactional mechanisms. Finally, we define a testing framework for distributed transactions in SOAs based on ATc and prove that under reasonable conditions some attributes are observationally indistinguishable.

Type
Special Issue: Objects and Services
Copyright
Copyright © Cambridge University Press 2014 

Access options

Get access to the full version of this content by using one of the access options below. (Log in options will check for institutional or personal access. Content may require purchase if you do not have access.)

References

Bocchi, L. (2004) Compositional nested long running transactions. In: Proceedings on the Fundamental Approaches to Software Engineering (FASE). Springer Lecture Notes in Computer Science 2984 194208.CrossRefGoogle Scholar
Bocchi, L., Guanciale, R., Strollo, D. and Tuosto, E. (2010) Modelling transactional services in dynamically reconfiguring systems. In: Maglio, P., Weske, M., Yang, J. and Fantinato, M. (eds.) Proceedings of the 8th International Conference on Service Oriented Computing 2010. Springer-Verlag Lecture Notes in Computer Science 6470 396410.CrossRefGoogle Scholar
Bocchi, L., Laneve, C. and Zavattaro, G. (2003) A calculus for long-running transactions. In: Najm, E., Nestmann, U. and Stevens, P. (eds.) Proceedings on Formal Methods for Open Object-Based Distributed Systems (FMOODS). Springer Lecture Notes in Computer Science 2884 124138.CrossRefGoogle Scholar
Bocchi, L. and Lucchi, R. (2006) Atomic commit and negotiation in service oriented computing. In: Proceedings of COORDINATION. Springer Lecture Notes in Computer Science 4038 1627.CrossRefGoogle Scholar
Bocchi, L. and Tuosto, E. (2010a) A Java inspired semantics for transactions in SOC. In: Wirsing, M., Hofmann, M. and Rauschmayer, A. (eds.) Proceedings of the 5th International Symposium on Trustworthy Global Computing. Springer-Verlag Lecture Notes in Computer Science 6084 120134.CrossRefGoogle Scholar
Bocchi, L. and Tuosto, E. (2010b) Testing attribute-based transactions in soc. In: Hatcliff, J. and Zucca, E. (eds.) Formal Methods for Open Object-Based Distributed Systems and Formal Techniques for Networked and Distributed Systems (FMOODS/FORTE). Springer-Verlag Lecture Notes in Computer Science 6117 8794.CrossRefGoogle Scholar
Bruni, R., Melgratti, H. and Montanari, U. (2004) Nested commits for mobile calculi: Extending Join. In: Lévy, J.-J., Mayr, E. and Mitchell, J. (eds.) Proceedings of the 3rd IFIP International Conference on Theoretical Computer Science. Kluwer 563576.Google Scholar
Bruni, R., Melgratti, H.C. and Montanari, U. (2005) Theoretical foundations for compensations in flow composition languages. In: Symposium on Principles of Programming Languages (POPL). Association for Computing Machinery 209–220.CrossRefGoogle Scholar
Buscemi, M.G. and Melgratti, H. C. (2007) Transactional service level agreement. In: Barthe, G. and Fournet, C. (eds.) Proceeding of Trustworthy Global Computing. Springer Lecture Notes In Computer Science 4912 124139.CrossRefGoogle Scholar
Buscemi, M.G. and Montanari, U. (2007) Cc-pi: A constraint-based language for specifying service level agreements. In: Nicola, R. D. (ed.), Proceedings on the European Symposium on Programming (ESOP). Springer Lecture Notes in Computer Science 4421 1832.CrossRefGoogle Scholar
Butler, M. and Ferreira, C. (2004) An operational semantics for StAC, a language for modelling long-running business transactions. In: De Nicola, R., Ferrari, G. and Meredith, G. (eds.) Proceeding of Coordination 2004. Springer-Verlag Lecture Notes in Computer Science 2949 87104.CrossRefGoogle Scholar
Butler, M.J., Hoare, C.A.R. and Ferreira, C. (2004) A trace semantics for long-running transactions. In: Abdallah, A. E., Jones, C. B. and Sanders, J. W. (eds.) Proceedings on 25 Years of Communicating Sequential Processes. Springer Lecture Notes in Computer Science 3525 133150.CrossRefGoogle Scholar
Dalal, S., Temel, S., Little, M., Potts, M. and Webber, J. (2003) Coordinating business transactions on the web. IEEE Internet Computing 7 (1)3039.CrossRefGoogle Scholar
De Nicola, R. and Hennessy, M. C. B. (1984) Testing equivalences for processes. Theoretical Computer Science 34 (1–2)83133.CrossRefGoogle Scholar
de Vries, E., Koutavas, V. and Hennessy, M. (2010a) Communicating transactions - (extended abstract). In: Gastin, P. and Laroussinie, F. (eds.) Proceedings on 21th Conference on International Concurrency Theory. Springer Lecture Notes in Computer Science 6269 569583.CrossRefGoogle Scholar
de Vries, E., Koutavas, V. and Hennessy, M. (2010b) Liveness of communicating transactions (extended abstract). In: Proceedings of the APLAS, to appear.CrossRefGoogle Scholar
EJB (2009) Enterprise Java Beans (EJB) technology. Sun Microsystems, http://java.sun.com/products/ejb/.Google Scholar
Guidi, C., Lanese, I., Montesi, F. and Zavattaro, G. (2009) Dynamic error handling in service oriented applications. Fundamenta Informaticae 95 (1)73102.CrossRefGoogle Scholar
Igarashi, A., Pierce, B. and Wadler, P. (1999) Featherweight java - a minimal core calculus for java and gj. In: ACM Transactions on Programming Languages and Systems 23 (3)396450.CrossRefGoogle Scholar
Lanese, I. (2010) Static vs dynamic sagas. In: Bliudze, S., Bruni, R., Grohmann, D. and Silva, A. (eds.) Proceedings Third Interaction and Concurrency Experience (ICE 2010), EPTCS 38 51–65.Google Scholar
Lanese, I., Vaz, C. and Ferreira, C. (2010) On the expressive power of primitives for compensation handling. In: Gordon, A.D. (ed.) European Symposium on Programming. Springer Lecture Notes in Computer Science 6012 366386.CrossRefGoogle Scholar
Laneve, C. and Zavattaro, G. (2005) Foundations of web transactions. In: Conference on Foundations of Software Science and Computation Structures (FoSSaCS). Springer Lecture Notes in Computer Science 3441 282298.CrossRefGoogle Scholar
Mazzara, M. and Lanese, I. (2006) Towards a unifying theory for web services composition. In: WS-FM Springer Lecture Notes in Computer Science 4184 257272.CrossRefGoogle Scholar
OASIS (2002) Business Transaction Protocol (BTP).Google Scholar
OASIS (2009) Web Services Transaction (WS-TX).Google Scholar
Panda, D., Rahman, R. and Lane, D. (2007) EJB 3 in action, Manning.Google Scholar
Vaz, C., Ferreira, C. and Ravara, A. (2008) Dynamic recovering of long running transactions. In: Proceedings on the Trustworthy Global Computing Springer Lecture Notes in Computer Science 5474 201215.CrossRefGoogle Scholar