CJoin: Join with communicating transactions

Autores
Bruni, Roberto; Melgratti, Hernan Claudio; Montanari, Ugo
Año de publicación
2015
Idioma
inglés
Tipo de recurso
artículo
Estado
versión publicada
Descripción
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.
Fil: Bruni, Roberto. Università degli Studi di Pisa; Italia
Fil: Melgratti, Hernan Claudio. Consejo Nacional de Investigaciones Científicas y Técnicas. Oficina de Coordinación Administrativa Ciudad Universitaria. Instituto de Investigación En Ciencias de la Computación. Universidad de Buenos Aires. Facultad de Ciencias Exactas y Naturales. Instituto de Investigación En Ciencias de la Computacion; Argentina
Fil: Montanari, Ugo. Università degli Studi di Pisa; Italia
Materia
Process Calculi
Transactions
Join
Nivel de accesibilidad
acceso abierto
Condiciones de uso
https://creativecommons.org/licenses/by-nc-sa/2.5/ar/
Repositorio
CONICET Digital (CONICET)
Institución
Consejo Nacional de Investigaciones Científicas y Técnicas
OAI Identificador
oai:ri.conicet.gov.ar:11336/59541

id CONICETDig_98aa282e7b8408b6c9b008f97495e8f1
oai_identifier_str oai:ri.conicet.gov.ar:11336/59541
network_acronym_str CONICETDig
repository_id_str 3498
network_name_str CONICET Digital (CONICET)
spelling CJoin: Join with communicating transactionsBruni, RobertoMelgratti, Hernan ClaudioMontanari, UgoProcess CalculiTransactionsJoinhttps://purl.org/becyt/ford/1.2https://purl.org/becyt/ford/1This 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.Fil: Bruni, Roberto. Università degli Studi di Pisa; ItaliaFil: Melgratti, Hernan Claudio. Consejo Nacional de Investigaciones Científicas y Técnicas. Oficina de Coordinación Administrativa Ciudad Universitaria. Instituto de Investigación En Ciencias de la Computación. Universidad de Buenos Aires. Facultad de Ciencias Exactas y Naturales. Instituto de Investigación En Ciencias de la Computacion; ArgentinaFil: Montanari, Ugo. Università degli Studi di Pisa; ItaliaCambridge University Press2015-03info:eu-repo/semantics/articleinfo:eu-repo/semantics/publishedVersionhttp://purl.org/coar/resource_type/c_6501info:ar-repo/semantics/articuloapplication/pdfapplication/zipapplication/pdfhttp://hdl.handle.net/11336/59541Bruni, Roberto; Melgratti, Hernan Claudio; Montanari, Ugo; CJoin: Join with communicating transactions; Cambridge University Press; Mathematical Structures In Computer Science; 25; 3; 3-2015; 566-6180960-1295CONICET DigitalCONICETenginfo:eu-repo/semantics/altIdentifier/url/https://www.cambridge.org/core/journals/mathematical-structures-in-computer-science/article/cjoin-join-with-communicating-transactions/EC7A5B7885492FCE251BFBBB8AC9B14Cinfo:eu-repo/semantics/altIdentifier/doi/10.1017/S0960129512000928info:eu-repo/semantics/openAccesshttps://creativecommons.org/licenses/by-nc-sa/2.5/ar/reponame:CONICET Digital (CONICET)instname:Consejo Nacional de Investigaciones Científicas y Técnicas2025-09-03T10:09:02Zoai:ri.conicet.gov.ar:11336/59541instacron:CONICETInstitucionalhttp://ri.conicet.gov.ar/Organismo científico-tecnológicoNo correspondehttp://ri.conicet.gov.ar/oai/requestdasensio@conicet.gov.ar; lcarlino@conicet.gov.arArgentinaNo correspondeNo correspondeNo correspondeopendoar:34982025-09-03 10:09:02.439CONICET Digital (CONICET) - Consejo Nacional de Investigaciones Científicas y Técnicasfalse
dc.title.none.fl_str_mv CJoin: Join with communicating transactions
title CJoin: Join with communicating transactions
spellingShingle CJoin: Join with communicating transactions
Bruni, Roberto
Process Calculi
Transactions
Join
title_short CJoin: Join with communicating transactions
title_full CJoin: Join with communicating transactions
title_fullStr CJoin: Join with communicating transactions
title_full_unstemmed CJoin: Join with communicating transactions
title_sort CJoin: Join with communicating transactions
dc.creator.none.fl_str_mv Bruni, Roberto
Melgratti, Hernan Claudio
Montanari, Ugo
author Bruni, Roberto
author_facet Bruni, Roberto
Melgratti, Hernan Claudio
Montanari, Ugo
author_role author
author2 Melgratti, Hernan Claudio
Montanari, Ugo
author2_role author
author
dc.subject.none.fl_str_mv Process Calculi
Transactions
Join
topic Process Calculi
Transactions
Join
purl_subject.fl_str_mv https://purl.org/becyt/ford/1.2
https://purl.org/becyt/ford/1
dc.description.none.fl_txt_mv 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.
Fil: Bruni, Roberto. Università degli Studi di Pisa; Italia
Fil: Melgratti, Hernan Claudio. Consejo Nacional de Investigaciones Científicas y Técnicas. Oficina de Coordinación Administrativa Ciudad Universitaria. Instituto de Investigación En Ciencias de la Computación. Universidad de Buenos Aires. Facultad de Ciencias Exactas y Naturales. Instituto de Investigación En Ciencias de la Computacion; Argentina
Fil: Montanari, Ugo. Università degli Studi di Pisa; Italia
description 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.
publishDate 2015
dc.date.none.fl_str_mv 2015-03
dc.type.none.fl_str_mv info:eu-repo/semantics/article
info:eu-repo/semantics/publishedVersion
http://purl.org/coar/resource_type/c_6501
info:ar-repo/semantics/articulo
format article
status_str publishedVersion
dc.identifier.none.fl_str_mv http://hdl.handle.net/11336/59541
Bruni, Roberto; Melgratti, Hernan Claudio; Montanari, Ugo; CJoin: Join with communicating transactions; Cambridge University Press; Mathematical Structures In Computer Science; 25; 3; 3-2015; 566-618
0960-1295
CONICET Digital
CONICET
url http://hdl.handle.net/11336/59541
identifier_str_mv Bruni, Roberto; Melgratti, Hernan Claudio; Montanari, Ugo; CJoin: Join with communicating transactions; Cambridge University Press; Mathematical Structures In Computer Science; 25; 3; 3-2015; 566-618
0960-1295
CONICET Digital
CONICET
dc.language.none.fl_str_mv eng
language eng
dc.relation.none.fl_str_mv info:eu-repo/semantics/altIdentifier/url/https://www.cambridge.org/core/journals/mathematical-structures-in-computer-science/article/cjoin-join-with-communicating-transactions/EC7A5B7885492FCE251BFBBB8AC9B14C
info:eu-repo/semantics/altIdentifier/doi/10.1017/S0960129512000928
dc.rights.none.fl_str_mv info:eu-repo/semantics/openAccess
https://creativecommons.org/licenses/by-nc-sa/2.5/ar/
eu_rights_str_mv openAccess
rights_invalid_str_mv https://creativecommons.org/licenses/by-nc-sa/2.5/ar/
dc.format.none.fl_str_mv application/pdf
application/zip
application/pdf
dc.publisher.none.fl_str_mv Cambridge University Press
publisher.none.fl_str_mv Cambridge University Press
dc.source.none.fl_str_mv reponame:CONICET Digital (CONICET)
instname:Consejo Nacional de Investigaciones Científicas y Técnicas
reponame_str CONICET Digital (CONICET)
collection CONICET Digital (CONICET)
instname_str Consejo Nacional de Investigaciones Científicas y Técnicas
repository.name.fl_str_mv CONICET Digital (CONICET) - Consejo Nacional de Investigaciones Científicas y Técnicas
repository.mail.fl_str_mv dasensio@conicet.gov.ar; lcarlino@conicet.gov.ar
_version_ 1842270066917244928
score 13.13397