In this paper, we review what we have learned from implementing languages for
parallel and concurrent programming, and investigate the role of modularity.
To identify the approaches used to facilitate correctness and maintainability,
we ask the following questions: What guides modularization? Are informal
approaches used to facilitate correctness? Are concurrency concerns
modularized? And, where is language support lacking most?
Our subjects are AmbientTalk, SLIP, and the RoarVM. All three evolved over the
years, enabling us to look back at specific experiments to understand the
impact of concurrency on modularity.
We conclude from our review that concurrency concerns are one of the strongest
drivers for the definition of module boundaries. It helps when languages offer
sophisticated modularization constructs. However, with respect to concurrency,
other language features like single-assignment are of greater importance.
Furthermore, tooling that enables remodularization taking concurrency
invariants into account would be of great value.
%0 Conference Paper
%1 MISS2012
%A Marr, Stefan
%A Nicolay, Jens
%A Van Cutsem, Tom
%A D'Hondt, Theo
%B Proceedings of the 2nd Workshop on Modularity In Systems Software (MISS'2012)
%D 2012
%I ACM
%K CaseStudy Concurrency ExperienceReport Interpreters MeMyPublication Modularity Parallelism VMs myown
%P 21--26
%R 10.1145/2162024.2162031
%T Modularity and Conventions for Maintainable Concurrent Language Implementations: A Review of Our Experiences and Practices
%U http://www.stefan-marr.de/2012/01/modularity-and-conventions-for-maintainable-concurrent-language-implementations-a-review-of-our-experiences-and-practices/
%X In this paper, we review what we have learned from implementing languages for
parallel and concurrent programming, and investigate the role of modularity.
To identify the approaches used to facilitate correctness and maintainability,
we ask the following questions: What guides modularization? Are informal
approaches used to facilitate correctness? Are concurrency concerns
modularized? And, where is language support lacking most?
Our subjects are AmbientTalk, SLIP, and the RoarVM. All three evolved over the
years, enabling us to look back at specific experiments to understand the
impact of concurrency on modularity.
We conclude from our review that concurrency concerns are one of the strongest
drivers for the definition of module boundaries. It helps when languages offer
sophisticated modularization constructs. However, with respect to concurrency,
other language features like single-assignment are of greater importance.
Furthermore, tooling that enables remodularization taking concurrency
invariants into account would be of great value.
%@ 978-1-4503-1217-2
@inproceedings{MISS2012,
abstract = {In this paper, we review what we have learned from implementing languages for
parallel and concurrent programming, and investigate the role of modularity.
To identify the approaches used to facilitate correctness and maintainability,
we ask the following questions: What guides modularization? Are informal
approaches used to facilitate correctness? Are concurrency concerns
modularized? And, where is language support lacking most?
Our subjects are AmbientTalk, SLIP, and the RoarVM. All three evolved over the
years, enabling us to look back at specific experiments to understand the
impact of concurrency on modularity.
We conclude from our review that concurrency concerns are one of the strongest
drivers for the definition of module boundaries. It helps when languages offer
sophisticated modularization constructs. However, with respect to concurrency,
other language features like single-assignment are of greater importance.
Furthermore, tooling that enables remodularization taking concurrency
invariants into account would be of great value.},
acmid = {2162031},
added-at = {2012-01-24T12:25:07.000+0100},
author = {Marr, Stefan and Nicolay, Jens and Van Cutsem, Tom and D'Hondt, Theo},
biburl = {https://www.bibsonomy.org/bibtex/2442f0063842536e3628d10a4244620b6/gron},
blog = {http://stefan-marr.de/2012/01/modularity-and-conventions-for-maintainable-concurrent-language-implementations-a-review-of-our-experiences-and-practices/},
booktitle = {Proceedings of the 2nd Workshop on Modularity In Systems Software (MISS'2012)},
doi = {10.1145/2162024.2162031},
interhash = {f6aa985b183f15b014127ac282ce73d5},
intrahash = {442f0063842536e3628d10a4244620b6},
isbn = {978-1-4503-1217-2},
keywords = {CaseStudy Concurrency ExperienceReport Interpreters MeMyPublication Modularity Parallelism VMs myown},
location = {Potsdam, Germany},
month = {March},
numpages = {6},
pages = {21--26},
pdf = {http://www.stefan-marr.de/downloads/miss12-smarr-et-al-modularity-and-conventions-for-maintainable-concurrent-language-implementations.pdf},
publisher = {ACM},
series = {MISS'12},
timestamp = {2017-06-06T17:48:13.000+0200},
title = {Modularity and Conventions for Maintainable Concurrent Language Implementations: A Review of Our Experiences and Practices},
url = {http://www.stefan-marr.de/2012/01/modularity-and-conventions-for-maintainable-concurrent-language-implementations-a-review-of-our-experiences-and-practices/},
year = 2012
}