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

Authors Info & Claims
Published:24 February 2018Publication 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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. G. Berry and G. Gonthier. The esterel synchronous programming language: Design, semantics, implementation. Science of computer programming, 19(2):87--152, 1992. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. K. Claessen and G. J. Pace. An embedded language framework for hardware compilation. In Designing Correct Circuits '02, Grenoble, France, Apr. 2002.Google ScholarGoogle Scholar
  8. K. Claessen and D. Sands. Observable Sharing for Functional Circuit Description. Springer Berlin Heidelberg, Berlin, Heidelberg, 1999.Google ScholarGoogle ScholarCross RefCross Ref
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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.Google ScholarGoogle ScholarCross RefCross Ref
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. P. Hudak. Modular domain specific languages and tools. In Software Reuse, 1998. Proceedings. Fifth International Conference on, Jun 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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.Google ScholarGoogle ScholarCross RefCross Ref
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. M. Mernik, J. Heering, and A. M. Sloane. When and how to develop domain-specific languages. ACM computing surveys (CSUR), 37(4), 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. G. J. Pottie and W. J. Kaiser. Wireless integrated network sensors. Communications of the ACM, 43(5):51--58, 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. M. Sheeran. Hardware design and functional programming: a perfect match. J. UCS, 11(7):1135--1158, 2005.Google ScholarGoogle Scholar
  29. R. Sugihara and R. K. Gupta. Programming models for sensor networks: A survey. ACM Transactions on Sensor Networks (TOSN), 4(2):8, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library

Recommendations

Comments

Login options

Check if you have access through your login credentials or your institution to get full access on this article.

Sign in
  • 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

    Copyright © 2018 ACM

    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]

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    • Published: 24 February 2018

    Permissions

    Request permissions about this article.

    Request Permissions

    Check for updates

    Qualifiers

    • research-article
    • Research
    • Refereed limited

    Acceptance Rates

    RWDSL2018 Paper Acceptance Rate7of9submissions,78%Overall Acceptance Rate7of9submissions,78%

PDF Format

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader