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
- Institución
- Consejo Nacional de Investigaciones Científicas y Técnicas
- OAI Identificador
- oai:ri.conicet.gov.ar:11336/59541
Ver los metadatos del registro completo
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 |