Implementation of an orchestration language as a haskell domain specific language
| Main Author: | |
|---|---|
| Publication Date: | 2009 |
| Other Authors: | |
| Format: | Article |
| Language: | eng |
| Source: | Repositórios Científicos de Acesso Aberto de Portugal (RCAAP) |
| Download full: | https://hdl.handle.net/1822/20248 |
Summary: | 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órios Científicos de Acesso Aberto de Portugal (RCAAP) |
| repository_id_str |
https://opendoar.ac.uk/repository/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/pdfhttps://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órios Científicos de Acesso Aberto de Portugal (RCAAP)instname:FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologiainstacron:RCAAP2025-04-12T05:23:57Zoai:repositorium.sdum.uminho.pt:1822/20248Portal AgregadorONGhttps://www.rcaap.pt/oai/openaireinfo@rcaap.ptopendoar:https://opendoar.ac.uk/repository/71602025-05-28T16:30:26.725873Repositórios Científicos de Acesso Aberto de Portugal (RCAAP) - FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologiafalse |
| 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 |
https://hdl.handle.net/1822/20248 |
| url |
https://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órios Científicos de Acesso Aberto de Portugal (RCAAP) instname:FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologia instacron:RCAAP |
| instname_str |
FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologia |
| instacron_str |
RCAAP |
| institution |
RCAAP |
| reponame_str |
Repositórios Científicos de Acesso Aberto de Portugal (RCAAP) |
| collection |
Repositórios Científicos de Acesso Aberto de Portugal (RCAAP) |
| repository.name.fl_str_mv |
Repositórios Científicos de Acesso Aberto de Portugal (RCAAP) - FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologia |
| repository.mail.fl_str_mv |
info@rcaap.pt |
| _version_ |
1833595985776869376 |