Implementation of an orchestration language as a haskell domain specific language

Detalhes bibliográficos
Autor(a) principal: Campos, Marco Devesas
Data de Publicação: 2009
Outros Autores: Barbosa, L. S.
Tipo de documento: Artigo
Idioma: eng
Título da fonte: Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
Texto Completo: http://hdl.handle.net/1822/20248
Resumo: Even though concurrent programming has been a hot topic of discussion in Computer Science for the past 30 years, the community has yet to settle on a, or a few standard approaches to implement concurrent programs. But as more and more cores inhabit our CPUs and more and more services are made available on the web the problem of coordinating different tasks becomes increasingly relevant. The present paper addresses this problem with an implementation of the orchestration language Orc as a domain specific language in Haskell. Orc was, therefore, realized as a combinator library using the lightweight threads and the communication and synchronization primitives of the Concurrent Haskell library. With this implementation it becomes possible to create orchestrations that re-use existing Haskell code and, conversely, re-use orchestrations inside other Haskell programs. The complexity inherent to distributed computation, entails the need for the classification of efficient, re-usable, concurrent programming patterns. The paper discusses how the calculus of recursive schemes used in the derivation of functional programs, scales up to a distributed setting. It is shown, in particular, how to parallelize the entire class of binary tree hylomorphisms.
id RCAP_b2daae686465739cbd1795c72e8f9ce2
oai_identifier_str oai:repositorium.sdum.uminho.pt:1822/20248
network_acronym_str RCAP
network_name_str Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
repository_id_str 7160
spelling Implementation of an orchestration language as a haskell domain specific languageCoordinationHaskellCoordination LanguagesOrcParallel Divide-and-Conquer AlgorithmsThread-based ProgrammingScience & TechnologyEven though concurrent programming has been a hot topic of discussion in Computer Science for the past 30 years, the community has yet to settle on a, or a few standard approaches to implement concurrent programs. But as more and more cores inhabit our CPUs and more and more services are made available on the web the problem of coordinating different tasks becomes increasingly relevant. The present paper addresses this problem with an implementation of the orchestration language Orc as a domain specific language in Haskell. Orc was, therefore, realized as a combinator library using the lightweight threads and the communication and synchronization primitives of the Concurrent Haskell library. With this implementation it becomes possible to create orchestrations that re-use existing Haskell code and, conversely, re-use orchestrations inside other Haskell programs. The complexity inherent to distributed computation, entails the need for the classification of efficient, re-usable, concurrent programming patterns. The paper discusses how the calculus of recursive schemes used in the derivation of functional programs, scales up to a distributed setting. It is shown, in particular, how to parallelize the entire class of binary tree hylomorphisms.FCT -Fuel Cell Technologies Program(PTDC/EIA/73252/2006)ElsevierUniversidade do MinhoCampos, Marco DevesasBarbosa, L. S.2009-112009-11-01T00:00:00Zinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/articleapplication/pdfhttp://hdl.handle.net/1822/20248eng1571-066110.1016/j.entcs.2009.10.024http://dx.doi.org/10.1016/j.entcs.2009.10.024info:eu-repo/semantics/openAccessreponame:Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)instname:Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informaçãoinstacron:RCAAP2023-07-21T12:52:08Zoai:repositorium.sdum.uminho.pt:1822/20248Portal AgregadorONGhttps://www.rcaap.pt/oai/openaireopendoar:71602024-03-19T19:51:11.417670Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) - Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informaçãofalse
dc.title.none.fl_str_mv Implementation of an orchestration language as a haskell domain specific language
title Implementation of an orchestration language as a haskell domain specific language
spellingShingle Implementation of an orchestration language as a haskell domain specific language
Campos, Marco Devesas
Coordination
Haskell
Coordination Languages
Orc
Parallel Divide-and-Conquer Algorithms
Thread-based Programming
Science & Technology
title_short Implementation of an orchestration language as a haskell domain specific language
title_full Implementation of an orchestration language as a haskell domain specific language
title_fullStr Implementation of an orchestration language as a haskell domain specific language
title_full_unstemmed Implementation of an orchestration language as a haskell domain specific language
title_sort Implementation of an orchestration language as a haskell domain specific language
author Campos, Marco Devesas
author_facet Campos, Marco Devesas
Barbosa, L. S.
author_role author
author2 Barbosa, L. S.
author2_role author
dc.contributor.none.fl_str_mv Universidade do Minho
dc.contributor.author.fl_str_mv Campos, Marco Devesas
Barbosa, L. S.
dc.subject.por.fl_str_mv Coordination
Haskell
Coordination Languages
Orc
Parallel Divide-and-Conquer Algorithms
Thread-based Programming
Science & Technology
topic Coordination
Haskell
Coordination Languages
Orc
Parallel Divide-and-Conquer Algorithms
Thread-based Programming
Science & Technology
description Even though concurrent programming has been a hot topic of discussion in Computer Science for the past 30 years, the community has yet to settle on a, or a few standard approaches to implement concurrent programs. But as more and more cores inhabit our CPUs and more and more services are made available on the web the problem of coordinating different tasks becomes increasingly relevant. The present paper addresses this problem with an implementation of the orchestration language Orc as a domain specific language in Haskell. Orc was, therefore, realized as a combinator library using the lightweight threads and the communication and synchronization primitives of the Concurrent Haskell library. With this implementation it becomes possible to create orchestrations that re-use existing Haskell code and, conversely, re-use orchestrations inside other Haskell programs. The complexity inherent to distributed computation, entails the need for the classification of efficient, re-usable, concurrent programming patterns. The paper discusses how the calculus of recursive schemes used in the derivation of functional programs, scales up to a distributed setting. It is shown, in particular, how to parallelize the entire class of binary tree hylomorphisms.
publishDate 2009
dc.date.none.fl_str_mv 2009-11
2009-11-01T00:00:00Z
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/article
format article
status_str publishedVersion
dc.identifier.uri.fl_str_mv http://hdl.handle.net/1822/20248
url http://hdl.handle.net/1822/20248
dc.language.iso.fl_str_mv eng
language eng
dc.relation.none.fl_str_mv 1571-0661
10.1016/j.entcs.2009.10.024
http://dx.doi.org/10.1016/j.entcs.2009.10.024
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv application/pdf
dc.publisher.none.fl_str_mv Elsevier
publisher.none.fl_str_mv Elsevier
dc.source.none.fl_str_mv reponame:Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
instname:Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação
instacron:RCAAP
instname_str Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação
instacron_str RCAAP
institution RCAAP
reponame_str Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
collection Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
repository.name.fl_str_mv Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) - Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação
repository.mail.fl_str_mv
_version_ 1799133099846533120