Artículo

Bruni, R.; Melgratti, H.; Montanari, U. "CJoin: Join with communicating transactions" (2015) Mathematical Structures in Computer Science. 25(3):566-618
Estamos trabajando para incorporar este artículo al repositorio
Consulte el artículo en la página del editor
Consulte la política de Acceso Abierto del editor

Abstract:

This paper proposes a formal approach to the design and programming of long running transactions (LRTs). We exploit techniques from process calculi to define cJoin, which is an extension of the Join calculus with few well-disciplined primitives for LRT. Transactions in cJoin are intended to describe the transactional interaction of several partners, under the assumption that any partner executing a transaction may communicate only with other transactional partners. In such case, the transactions run by any party are bound to achieve the same outcome (i.e., all succeed or all fail). Hence, a distinguishing feature of cJoin, called dynamic joinability, is that ongoing transactions can be merged to complete their tasks and when this happens either all succeed or all abort. Additionally, cJoin is based on compensations i.e., partial executions of transactions are recovered by executing user-defined programs instead of providing automatic rollback. The expressiveness and generality of cJoin is demonstrated by many examples addressing common programming patterns. The mathematical foundation is accompanied by a prototype language implementation, which is an extension of the JoCaml compiler. © 2014 Cambridge University Press.

Registro:

Documento: Artículo
Título:CJoin: Join with communicating transactions
Autor:Bruni, R.; Melgratti, H.; Montanari, U.
Filiación:Dipartimento di Informatica, Università di Pisa, Largo Bruno Pontecorvo 3, Pisa, I-56127, Italy
Departamento de Computacién, Universidad de Buenos Aires, CONICET Pabellón i, Buenos Aires, Argentina
Palabras clave:Formal approach; Join calculus; Language implementations; Long-running transactions; Mathematical foundations; Partial executions; Process calculi; Programming patterns; Calculations
Año:2015
Volumen:25
Número:3
Página de inicio:566
Página de fin:618
DOI: http://dx.doi.org/10.1017/S0960129512000928
Título revista:Mathematical Structures in Computer Science
Título revista abreviado:Math. Struct. Comput. Sci.
ISSN:09601295
Registro:https://bibliotecadigital.exactas.uba.ar/collection/paper/document/paper_09601295_v25_n3_p566_Bruni

Referencias:

  • Anderson, B., Shasha, D., Persistent linda: Linda + transactions + query processing (1992) Research Directions in High-Level Parallel Programming Languages, pp. 93-109. , Springer Verlag
  • Benton, N., Cardelli, L., Fournet, C., Modern concurrency abstractions for C (2002) Proceedings of ECOOP 2002. Springer Verlag Lecture Notes in Computer Science, 2374, pp. 415-440
  • Bernstein, P., Hadzilacos, V., Goodman, N., (1987) Concurrency, Control and Recovery in Database Systems, , Addison-Wesley Longman
  • Berry, G., Preemption in concurrent systems (1993) Proceedings of FSTTCS'93. Springer Verlag Lecture Notes in Computer Science, 761, pp. 72-93
  • Berry, G., Boudol, G., The chemical abstract machine (1992) Theoretical Computer Science, 96 (1), pp. 217-248
  • Bocchi, L., Laneve, C., Zavattaro, G., A calculus for long-running transactions (2003) Proceedings of FMOODS'03. Springer Verlag Lecture Notes in Computer Science, 2884, pp. 124-138
  • Bocchi, L., Tuosto, E., Testing attribute-based transactions in SOC (2010) Proceedings of FMOODS/FORTE 2010. Springer Verlag Lecture Notes in Computer Science, 6117, pp. 87-94
  • Boreale, M., Bruni, R., De Nicola, R., Loreti, M., Sessions and pipelines for structured service programming (2008) Proceedings of FMOODS'08. Springer Verlag Lecture Notes in Computer Science, 5051, pp. 19-38. , Barthe, G. and de Boer, F. S. (eds
  • (2003) Bpel Specification. Version 1.1, , http://www.ibm.com/developerworks/library/ws-bpel, BPEL Available at
  • (2010) Business Process Modelling Notation (Bpmn), , http://www.bpmi.org, BPMN Available at
  • Bruni, R., Kersten, A., Lanese, I., Spagnolo, G., A new strategy for distributed compensations with interruption in long-running transactions (2012) Proceedings of WADT 2010. Springer Verlag Lecture Notes in Computer Science, 7137, pp. 42-60
  • Bruni, R., Laneve, C., Montanari, U., Orchestrating transactions in join calculus (2002) Proceedings of CONCUR 2002. Springer Verlag Lecture Notes in Computer Science, 2421, pp. 321-336
  • Bruni, R., Melgratti, H., Montanari, U., Flat committed join in join (2003) Proceedings of CoMeta 2003 Elsevier Science Electronic Notes in Theoretical Computer Science, 104, pp. 39-59
  • Bruni, R., Melgratti, H., Montanari, U., Nested commits for mobile calculi: Extending Join (2004) Proceedings of the 3rd IFIP-TCS 2004, pp. 569-582. , Kluwer Academic Publishers
  • Bruni, R., Melgratti, H., Montanari, U., Theoretical foundations for compensations in flow composition languages (2005) Proceedings of POPL 2005, pp. 209-220. , ACM Press
  • Bruni, R., Montanari, U., Concurrent models for Linda with transactions (2004) Mathematical Structures in Computer Science, 14 (3), pp. 421-468
  • Busi, N., Zavattaro, G., On the serializability of transactions in shared dataspaces with temporary data (2002) Proceedings of SAC 2002, pp. 359-366. , ACM Press
  • Butler, M., Bruni, R., Ferreira, C., Hoare, T., Melgratti, H., Montanari, U., Comparing two approaches to compensable flow composition (2005) Proceedings of CONCUR 2005. Springer Verlag Lecture Notes in Computer Science, 3653, pp. 383-397
  • Butler, M., Chessell, M., Ferreira, C., Griffin, C., Henderson, P., Vines, D., Extending the concept of transaction compensation (2002) IBM Systems Journal, 41 (4), pp. 743-758
  • Butler, M., Ferreira, C., An operational semantics for StAC, a language for modelling long-running business transactions (2004) Proceedings of Coordination 2004. Springer Verlag Lecture Notes in Computer Science, 2949, pp. 87-104
  • Butler, M., Hoare, T., Ferreira, C., A trace semantics for long-running transactions (2005) Proceedings of 25 Years of CSP. Springer Verlag Lecture Notes in Computer Science, 3525, pp. 133-150
  • Caires, L., Ferreira, C., Vieira, H.T., A process calculus analysis of compensations (2009) Proceedings of TGC'08. Springer Verlag Lecture Notes in Computer Science, 5474, pp. 87-103. , Kaklamanis, C. and Nielson, F. (eds
  • Chothia, T., Duggan, D., Abstractions for fault-tolerant global computing (2004) Theoretical Computer Science, 322 (3), pp. 567-613
  • Conchon, S., Le Fessant, F., Jocaml: Mobile agents for objective-Caml (1999) Proceedings of ASA/MA'99 IEEE Computer Society, pp. 22-29
  • Danos, V., Krivine, J., Reversible communicating systems (2004) Proceedings of CONCUR 2004. Springer Verlag Lecture Notes in Computer Science, 3170, pp. 293-307
  • De, V.E., Koutavas, V., Hennessy, M., Communicating transactions-(extended abstract) (2010) Proceedings of CONCUR'10. Springer Verlag Lecture Notes in Computer Science, 6269, pp. 569-583. , Gastin, P. and Laroussinie, F, (eds
  • Eisentraut, C., Spieler, D., Fault, compensation and termination in ws-bpel 2.0-a comparative analysis (2009) Proceedings of WS-FM'08. Springer Verlag Lecture Notes in Computer Science, 5387, pp. 107-126. , Bruni, R. and Wolf, K. (eds
  • Elmagarmid, A., Leu, Y., Litwin, W., Rusinkiewicz, M., A multidatabase transaction model for interbase (1990) Proceedings of VLDB'90, pp. 507-518. , Morgan Kaufmann
  • Eswaran, K., Gray, J., Lorie, R., Traiger, I., The notions of consistency and predicate locks in a database system (1976) Communications of the ACM, 19 (11), pp. 624-633
  • Fekete, A., Lynch, N., Merritt, M., Weihl, W., Atomic Transactions, 1994. , Morgan Kaufmann Publishers
  • Fournet, C., Gonthier, G., The reflexive chemical abstract machine and the Join calculus (1996) Proceedings of POPL'96, pp. 372-385. , ACM Press
  • Fournet, C., Gonthier, G., Levy, J.-J., Maranget, L., Remy, D., A calculus of mobile agents (1996) Proceedings of CONCUR'96. Springer Verlag Lecture Notes in Computer Science, 1119, pp. 406-421
  • Garcia-Molina, H., Salem, K., Sagas (1987) Proceedings of the ACM Special Interest Group on Management of Data Annual Conference, pp. 249-259. , ACM Press
  • Georgakopoulos, D., Hornick, M., Sheth, A., An overview of workflow management: From process modeling to workflow automation infrastructure (1995) Distributed and Parallel Databases, 3 (2), pp. 119-153
  • Gray, J., Reuter, A., Transaction Processing: Concepts and Techniques, 1993. , Morgan Kaufmann
  • Hutchinson, N., Kaiser, G., Pu, C., Split-transactions for open-ended activities (1988) Proceedings of VLDB'88, pp. 26-37. , Morgan Kaufmann
  • Jagannathan, S., Vitek, J., Optimistic concurrency semantics for transactions in coordination languages (2004) Proceedings of COORDINATION 2004, Springer Verlag Lecture Notes in Computer Science, 2949, pp. 183-198
  • Kaiser, G., Pu, C., Dynamic restructuring of transactions (1992) Database Transaction Models for Advanced Applications, pp. 265-295. , Morgan Kaufmann
  • Kochut, K., Miller, J., Sheth, A., Wang, X., Corba-based run-time architectures for workflow management systems (1996) Journal of Database Management, Special Issue on Multidatabases, 7 (1), pp. 16-27
  • Kohler, W., A survey of techniques for synchronization and recovery in decentralized computer systems (1981) ACM Computing Surveys, 13 (2), pp. 149-183
  • Krishnakumar, N., Sheth, A., Managing heterogeneous multi-system tasks to support enterprise-wide operations (1995) Distributed and Parallel Databases, 3 (2), pp. 155-186
  • Lanese, I., Mezzina, C., Stefani, S., Reversing higher-order pi (2010) Proceedings of CONCUR'10. Springer Verlag Lecture Notes in Computer Science, 6269, pp. 478-493
  • Lanese, I., Vaz, C., Ferreira, C., On the expressive power of primitives for compensation handling (2010) Proceedings of ESOP'10. Springer Verlag Lecture Notes in Computer Science, 6012, pp. 366-386
  • Laneve, C., Zavattaro, G., Foundations of web transactions (2005) Proceedings of FOSSACS 2005. Springer Verlag Lecture Notes in Computer Science, 3441, pp. 282-298
  • Leymann, F., (2001) Wsfl Specification. Version 1.0, , http://www-306.ibm.com/software/solutions/webservices/pdf/WSFL.pdf, Available at
  • Lomet, D., MLR: A recovery method for multi-level systems (1992) Proceedings of the 1992 ACM SIGMOD International Conference on Management of Data, pp. 185-194. , ACM Press
  • Lucchi, R., Mazzara, M., A framework for generic error handling in business processes (2004) Proceedings of WS-FM 2004. Electronic Notes in Theoretical Computer Science, 105, pp. 133-145. , (Elsevier Science)
  • Melgratti, H., (2005) Models and Languages for Global Computing Transactions, , Ph.D. thesis Computer Science Department, University of Pisa
  • Milner, R., (1980) A Calculus of Communicating Systems Springer Verlag Lecture Notes in Computer Science, p. 92
  • Milner, R., Parrow, J., Walker, J., A calculus of mobile processes, i and II (1992) Information and Computation, 100 (1), pp. 1-77
  • Moss, J., (1981) Nested Transactions: An Approach to Reliable Distributed Computing, , Ph.D. thesis Dept. of Electrical Engineering and Computer Science, MIT
  • Reuter, A., Wachter, H., The contract model (1992) Transaction Models for Advanced Applications, pp. 219-263. , Morgan Kaufmann
  • Ripon, S., (2008) Extending and Relating Semantic Models of Compensating CSP, , Ph.D. thesis School of Electonics and Computer Science, University of Southampton
  • Rusinkiewicz, M., Sheth, A., Specification and execution of transactional workflows (1995) Modern Database Systems: The Object Model, Interoperability, and beyond, pp. 592-620. , ACM Press and Addison-Wesley
  • Schek, H.-J., Weikum, G., Concepts and applications of multilevel transactions and open nested transactions (1992) Database Transaction Models for Advanced Applications, pp. 515-553. , Morgan Kaufmann
  • Thatte, S., (2001) Xlang: Web Services for Business Process Design, , http://www.gotdotnet.com/team/xmlwsspecs/xlang-c/default.htm, Available at
  • Vaz, C., Ferreira, C., Ravara, A., Dynamic recovering of long running transactions (2008) Proceedings of TGC 2008. Springer Verlag Lecture Notes in Computer Science, 5474, pp. 201-215
  • Weikum, G., Principles and realization strategies of multilevel transaction management (1991) ACM Transactions on Database Systems, 16 (1), pp. 132-180
  • (2004) Web Services Choreography Description Language Version 1.0, , http://www.w3.org/TR/2004/WD-ws-cdl-10-20040427, WSCDL Available at
  • (2002) Wsci Specification. Version 1.0, , http://www.w3.org/TR/wsci, WSCI Available at

Citas:

---------- APA ----------
Bruni, R., Melgratti, H. & Montanari, U. (2015) . CJoin: Join with communicating transactions. Mathematical Structures in Computer Science, 25(3), 566-618.
http://dx.doi.org/10.1017/S0960129512000928
---------- CHICAGO ----------
Bruni, R., Melgratti, H., Montanari, U. "CJoin: Join with communicating transactions" . Mathematical Structures in Computer Science 25, no. 3 (2015) : 566-618.
http://dx.doi.org/10.1017/S0960129512000928
---------- MLA ----------
Bruni, R., Melgratti, H., Montanari, U. "CJoin: Join with communicating transactions" . Mathematical Structures in Computer Science, vol. 25, no. 3, 2015, pp. 566-618.
http://dx.doi.org/10.1017/S0960129512000928
---------- VANCOUVER ----------
Bruni, R., Melgratti, H., Montanari, U. CJoin: Join with communicating transactions. Math. Struct. Comput. Sci. 2015;25(3):566-618.
http://dx.doi.org/10.1017/S0960129512000928