Pardis: a process calculus for parallel and distributed programming in Haskell.

Saved in:
Bibliographic Details
Title: Pardis: a process calculus for parallel and distributed programming in Haskell.
Authors: Blöcker, Christopher1 chrisbloecker@googlemail.com, chb@fh-wedel.de, Hoffmann, Ulrich1 uh@fh-wedel.de
Source: Journal of Supercomputing. Apr2018, Vol. 74 Issue 4, p1473-1484. 12p.
Subjects: Haskell (Computer program language), Distributed computing, Parallel programming, Domain-specific programming languages, Abstraction (Computer science)
Abstract: Parallel programming and distributed programming involve substantial amounts of boilerplate code for process management and data synchronisation. This leads to increased bug potential and often results in unintended non-deterministic program behaviour. Moreover, algorithmic details are mixed with technical details concerning parallelisation and distribution. Process calculi are formal models for parallel and distributed programming but often leave details open, causing a gap between formal model and implementation. We propose a fully deterministic process calculus for parallel and distributed programming and implement it as a domain-specific language in Haskell to address these problems. We eliminate boilerplate code by abstracting from the exact notion of parallelisation and encapsulating it in the implementation of our process combinators. Furthermore, we achieve correctness guarantees regarding process composition at compile time through Haskell’s type system. Our result can be used as a high-level tool to implement parallel and distributed programs. [ABSTRACT FROM AUTHOR]
Copyright of Journal of Supercomputing is the property of Springer Nature and its content may not be copied or emailed to multiple sites without the copyright holder's express written permission. Additionally, content may not be used with any artificial intelligence tools or machine learning technologies. However, users may print, download, or email articles for individual use. This abstract may be abridged. No warranty is given about the accuracy of the copy. Users should refer to the original published version of the material for the full abstract. (Copyright applies to all Abstracts.)
Database: Engineering Source
Full text is not displayed to guests.
FullText Links:
  – Type: pdflink
Text:
  Availability: 1
Header DbId: egs
DbLabel: Engineering Source
An: 128656659
AccessLevel: 6
PubType: Academic Journal
PubTypeId: academicJournal
PreciseRelevancyScore: 0
IllustrationInfo
Items – Name: Title
  Label: Title
  Group: Ti
  Data: Pardis: a process calculus for parallel and distributed programming in Haskell.
– Name: Author
  Label: Authors
  Group: Au
  Data: <searchLink fieldCode="AR" term="%22Blöcker%2C+Christopher%22">Blöcker, Christopher</searchLink><relatesTo>1</relatesTo><i> chrisbloecker@googlemail.com, chb@fh-wedel.de</i><br /><searchLink fieldCode="AR" term="%22Hoffmann%2C+Ulrich%22">Hoffmann, Ulrich</searchLink><relatesTo>1</relatesTo><i> uh@fh-wedel.de</i>
– Name: TitleSource
  Label: Source
  Group: Src
  Data: <searchLink fieldCode="JN" term="%22Journal+of+Supercomputing%22">Journal of Supercomputing</searchLink>. Apr2018, Vol. 74 Issue 4, p1473-1484. 12p.
– Name: Subject
  Label: Subjects
  Group: Su
  Data: <searchLink fieldCode="DE" term="%22Haskell+%28Computer+program+language%29%22">Haskell (Computer program language)</searchLink><br /><searchLink fieldCode="DE" term="%22Distributed+computing%22">Distributed computing</searchLink><br /><searchLink fieldCode="DE" term="%22Parallel+programming%22">Parallel programming</searchLink><br /><searchLink fieldCode="DE" term="%22Domain-specific+programming+languages%22">Domain-specific programming languages</searchLink><br /><searchLink fieldCode="DE" term="%22Abstraction+%28Computer+science%29%22">Abstraction (Computer science)</searchLink>
– Name: Abstract
  Label: Abstract
  Group: Ab
  Data: Parallel programming and distributed programming involve substantial amounts of boilerplate code for process management and data synchronisation. This leads to increased bug potential and often results in unintended non-deterministic program behaviour. Moreover, algorithmic details are mixed with technical details concerning parallelisation and distribution. Process calculi are formal models for parallel and distributed programming but often leave details open, causing a gap between formal model and implementation. We propose a fully deterministic process calculus for parallel and distributed programming and implement it as a domain-specific language in Haskell to address these problems. We eliminate boilerplate code by abstracting from the exact notion of parallelisation and encapsulating it in the implementation of our process combinators. Furthermore, we achieve correctness guarantees regarding process composition at compile time through Haskell’s type system. Our result can be used as a high-level tool to implement parallel and distributed programs. [ABSTRACT FROM AUTHOR]
– Name: AbstractSuppliedCopyright
  Label:
  Group: Ab
  Data: <i>Copyright of Journal of Supercomputing is the property of Springer Nature and its content may not be copied or emailed to multiple sites without the copyright holder's express written permission. Additionally, content may not be used with any artificial intelligence tools or machine learning technologies. However, users may print, download, or email articles for individual use. This abstract may be abridged. No warranty is given about the accuracy of the copy. Users should refer to the original published version of the material for the full abstract.</i> (Copyright applies to all Abstracts.)
PLink https://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=egs&AN=128656659
RecordInfo BibRecord:
  BibEntity:
    Identifiers:
      – Type: doi
        Value: 10.1007/s11227-018-2289-6
    Languages:
      – Code: eng
        Text: English
    PhysicalDescription:
      Pagination:
        PageCount: 12
        StartPage: 1473
    Subjects:
      – SubjectFull: Haskell (Computer program language)
        Type: general
      – SubjectFull: Distributed computing
        Type: general
      – SubjectFull: Parallel programming
        Type: general
      – SubjectFull: Domain-specific programming languages
        Type: general
      – SubjectFull: Abstraction (Computer science)
        Type: general
    Titles:
      – TitleFull: Pardis: a process calculus for parallel and distributed programming in Haskell.
        Type: main
  BibRelationships:
    HasContributorRelationships:
      – PersonEntity:
          Name:
            NameFull: Blöcker, Christopher
      – PersonEntity:
          Name:
            NameFull: Hoffmann, Ulrich
    IsPartOfRelationships:
      – BibEntity:
          Dates:
            – D: 01
              M: 04
              Text: Apr2018
              Type: published
              Y: 2018
          Identifiers:
            – Type: issn-print
              Value: 09208542
          Numbering:
            – Type: volume
              Value: 74
            – Type: issue
              Value: 4
          Titles:
            – TitleFull: Journal of Supercomputing
              Type: main
ResultId 1