skip to main content
10.1145/3183895.3183899acmotherconferencesArticle/Chapter ViewAbstractPublication PagesrwdslConference Proceedingsconference-collections
research-article

D'Artagnan: An Embedded DSL Framework for Distributed Embedded Systems

Published: 24 February 2018 Publication History

Abstract

Programming distributed embedded systems gives rise to a number of challenges. The distributed nodes are typically resource constrained, requiring expert systems programming skills to manage the limited power, communication bandwidth, and memory and computation constraints. The challenge of raising the level of abstraction of programming such systems without incurring too high of an execution performance penalty is thus an important one.
In this paper we present a framework and domain specific language, to enable programming of such systems at a global network level --- macroprogramming. Our framework, D'Artagnan, enables the compilation, analysis, transformation and interpretation of high-level descriptions of stream processing applications in which information is received and processed in real-time. D'Artagnan, is a functional macroprogramming language embedded in Haskell, hiding where possible low-level detail, but allowing the developer to add hints and information to enable more efficient compilation to different target architectures.

References

[1]
E. Axelsson, K. Claessen, G. Dévai, Z. Horváth, K. Keijzer, B. Lyckegård, A. Persson, M. Sheeran, J. Svenningsson, and A. Vajdax. Feldspar: A domain specific language for digital signal processing algorithms. In Formal Methods and Models for Codesign (MEMOCODE), 2010 8th IEEE/ACM International Conference on, pages 169--178, July 2010.
[2]
G. Berry and G. Gonthier. The esterel synchronous programming language: Design, semantics, implementation. Science of computer programming, 19(2):87--152, 1992.
[3]
S. Bhatti, J. Carlson, H. Dai, J. Deng, J. Rose, A. Sheth, B. Shucker, C. Gruenwald, A. Torgerson, and R. Han. Mantis os: An embedded multithreaded operating system for wireless micro sensor platforms. Mobile Networks and Applications, 10(4):563--579, 2005.
[4]
P. Bjesse, K. Claessen, M. Sheeran, and S. Singh. Lava: Hardware design in haskell. In Proceedings of the Third ACM SIGPLAN International Conference on Functional Programming, ICFP '98, pages 174--184, New York, NY, USA, 1998. ACM.
[5]
Q. Cao, T. Abdelzaher, J. Stankovic, and T. He. The liteos operating system: Towards unix-like abstractions for wireless sensor networks. In Information Processing in Sensor Networks, 2008. IPSN'08. International Conference On, pages 233--244. IEEE, 2008.
[6]
H. Cha, S. Choi, I. Jung, H. Kim, H. Shin, J. Yoo, and C. Yoon. Retos: resilient, expandable, and threaded operating system for wireless sensor networks. In Information Processing in Sensor Networks, 2007. IPSN 2007. 6th International Symposium on, pages 148--157. IEEE, 2007.
[7]
K. Claessen and G. J. Pace. An embedded language framework for hardware compilation. In Designing Correct Circuits '02, Grenoble, France, Apr. 2002.
[8]
K. Claessen and D. Sands. Observable Sharing for Functional Circuit Description. Springer Berlin Heidelberg, Berlin, Heidelberg, 1999.
[9]
A. Dunkels, B. Gronvall, and T. Voigt. Contiki-a lightweight and flexible operating system for tiny networked sensors. In Local Computer Networks, 2004. 29th Annual IEEE International Conference. IEEE, 2004.
[10]
A. Eswaran, A. Rowe, and R. Rajkumar. Nano-rk: an energy-aware resource-centric rtos for sensor networks. In Real-Time Systems Symposium, 2005. RTSS 2005. 26th IEEE International. IEEE, 2005.
[11]
R. Gummadi, O. Gnawali, and R. Govindan. Macro-programming wireless sensor networks using kairos. In International Conference on Distributed Computing in Sensor Systems. Springer, 2005.
[12]
N. Halbwachs, P. Caspi, P. Raymond, and D. Pilaud. The synchronous data flow programming language lustre. Proceedings of the IEEE, 79(9):1305--1320, 1991.
[13]
C.-C. Han, R. Kumar, R. Shea, E. Kohler, and M. Srivastava. A dynamic operating system for sensor nodes. In Proceedings of the 3rd international conference on Mobile systems, applications, and services, pages 163--176. ACM, 2005.
[14]
P. Hudak. Modular domain specific languages and tools. In Software Reuse, 1998. Proceedings. Fifth International Conference on, Jun 1998.
[15]
N. Kothari, R. Gummadi, T. Millstein, and R. Govindan. Reliable and efficient programming abstractions for wireless sensor networks. In Proceedings of the 28th ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI '07, pages 200--210, New York, NY, USA, 2007. ACM.
[16]
D. Leijen and E. Meijer. Domain specific embedded compilers. In Proceedings of the 2Nd Conference on Domain-specific Languages, DSL '99, pages 109--122, New York, NY, USA, 1999. ACM.
[17]
P. Levis and D. Culler. MatÉ: A tiny virtual machine for sensor networks. In Proceedings of the 10th International Conference on Architectural Support for Programming Languages and Operating Systems, ASPLOS X, pages 85--95, New York, NY, USA, 2002. ACM.
[18]
P. Levis, D. Gay, and D. Culler. Active sensor networks. In Proceedings of the 2nd conference on Symposium on Networked Systems Design & Implementation-Volume 2, pages 343--356. USENIX Association, 2005.
[19]
P. Levis, S. Madden, J. Polastre, R. Szewczyk, K. Whitehouse, A. Woo, D. Gay, J. Hill, M. Welsh, E. Brewer, et al. Tinyos: An operating system for sensor networks. In Ambient intelligence. Springer, 2005.
[20]
S. R. Madden, M. J. Franklin, J. M. Hellerstein, and W. Hong. Tinydb: an acquisitional query processing system for sensor networks. ACM Transactions on database systems (TODS), 30(1):122--173, 2005.
[21]
G. Mainland. Why it's nice to be quoted: quasiquoting for haskell. In Proceedings of the ACM SIGPLAN workshop on Haskell workshop, pages 73--82. ACM, 2007.
[22]
G. Mainland, G. Morrisett, and M. Welsh. Flask: Staged functional programming for sensor networks. In Proceedings of the 13th ACM SIGPLAN International Conference on Functional Programming, ICFP '08, pages 335--346, New York, NY, USA, 2008. ACM.
[23]
M. Mernik, J. Heering, and A. M. Sloane. When and how to develop domain-specific languages. ACM computing surveys (CSUR), 37(4), 2005.
[24]
L. Mottola and G. P. Picco. Programming wireless sensor networks: Fundamental concepts and state of the art. ACM Comput. Surv., 43(3):19:1--19:51, Apr. 2011.
[25]
R. Newton, G. Morrisett, and M. Welsh. The regiment macroprogramming system. In Proceedings of the 6th International Conference on Information Processing in Sensor Networks, IPSN '07, pages 489--498, New York, NY, USA, 2007. ACM.
[26]
R. R. Newton, L. D. Girod, M. B. Craig, S. R. Madden, and J. G. Morrisett. Design and evaluation of a compiler for embedded stream programs. In Proceedings of the 2008 ACM SIGPLAN-SIGBED Conference on Languages, Compilers, and Tools for Embedded Systems, LCTES '08, pages 131--140, New York, NY, USA, 2008. ACM.
[27]
G. J. Pottie and W. J. Kaiser. Wireless integrated network sensors. Communications of the ACM, 43(5):51--58, 2000.
[28]
M. Sheeran. Hardware design and functional programming: a perfect match. J. UCS, 11(7):1135--1158, 2005.
[29]
R. Sugihara and R. K. Gupta. Programming models for sensor networks: A survey. ACM Transactions on Sensor Networks (TOSN), 4(2):8, 2008.
[30]
Y. Yao and J. Gehrke. The cougar approach to in-network query processing in sensor networks. ACM Sigmod record, 31(3):9--18, 2002.

Cited By

View all
  • (2025)Integrating large language models with internet of things: applicationsDiscover Internet of Things10.1007/s43926-024-00083-45:1Online publication date: 9-Jan-2025
  • (2023)Artificial Collective Intelligence Engineering: A Survey of Concepts and PerspectivesArtificial Life10.1162/artl_a_0040829:4(433-467)Online publication date: 1-Nov-2023
  • (2023)Macroprogramming: Concepts, State of the Art, and Opportunities of Macroscopic Behaviour ModellingACM Computing Surveys10.1145/357935355:13s(1-37)Online publication date: 13-Jul-2023
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Other conferences
RWDSL2018: Proceedings of the Real World Domain Specific Languages Workshop 2018
February 2018
70 pages
ISBN:9781450363556
DOI:10.1145/3183895
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

In-Cooperation

  • EPSRC: Engineering and Physical Sciences Research Council
  • Heriot-Watt University: Heriot-Watt University

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 24 February 2018

Permissions

Request permissions for this article.

Check for updates

Qualifiers

  • Research-article
  • Research
  • Refereed limited

Conference

RWDSL2018

Acceptance Rates

RWDSL2018 Paper Acceptance Rate 7 of 9 submissions, 78%;
Overall Acceptance Rate 7 of 9 submissions, 78%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)3
  • Downloads (Last 6 weeks)0
Reflects downloads up to 13 Feb 2025

Other Metrics

Citations

Cited By

View all
  • (2025)Integrating large language models with internet of things: applicationsDiscover Internet of Things10.1007/s43926-024-00083-45:1Online publication date: 9-Jan-2025
  • (2023)Artificial Collective Intelligence Engineering: A Survey of Concepts and PerspectivesArtificial Life10.1162/artl_a_0040829:4(433-467)Online publication date: 1-Nov-2023
  • (2023)Macroprogramming: Concepts, State of the Art, and Opportunities of Macroscopic Behaviour ModellingACM Computing Surveys10.1145/357935355:13s(1-37)Online publication date: 13-Jul-2023
  • (2019)Ignis: scaling distribution-oblivious systems with light-touch distributionProceedings of the 40th ACM SIGPLAN Conference on Programming Language Design and Implementation10.1145/3314221.3314586(1010-1026)Online publication date: 8-Jun-2019
  • (2019)Porthos: Macroprogramming Blockchain Systems2019 10th IFIP International Conference on New Technologies, Mobility and Security (NTMS)10.1109/NTMS.2019.8763784(1-5)Online publication date: Jun-2019
  • (2018)Macroprogramming the Blockchain of Things2018 IEEE International Conference on Internet of Things (iThings) and IEEE Green Computing and Communications (GreenCom) and IEEE Cyber, Physical and Social Computing (CPSCom) and IEEE Smart Data (SmartData)10.1109/Cybermatics_2018.2018.00279(1673-1678)Online publication date: Jul-2018

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media