Jump to content

Macroprogramming

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Robyonrails (talk | contribs) at 10:07, 16 February 2023 (-- Draft creation using the WP:Article wizard --). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.
(diff) ← Previous revision | Latest revision (diff) | Newer revision → (diff)


In computer science, macroprogramming is a programming paradigm where programs for the individual components of a distributed system are compiled or interpreted from a macro-program expressed by a system-level perspective or in terms of the intended global goal. [1] The aim of macroprogramming approaches is to support expressing the macroscopic interactive behaviour of a whole distributed system of computing devices or agents in a single program. It has not to be confused with macros, the mechanism often found in programming languages (like C or Scala) to express substitution rules for program pieces.

Macroprogramming originated in the context of wireless sensor network programming [2] [3] [4] and found renewed interest in the context of the Internet of Things [5] and swarm robotics [6] [1].

Macroprogramming shares similar goals (related to programming a system by a global perspective) with multitier programming, choreographic programming, and aggregate computing.

See also

References

  1. ^ a b Casadei, Roberto (2023-01-11). "Macroprogramming: Concepts, State of the Art, and Opportunities of Macroscopic Behaviour Modelling". ACM Computing Surveys. Association for Computing Machinery (ACM). doi:10.1145/3579353. ISSN 0360-0300.
  2. ^ Newton, Ryan; Welsh, Matt (2004). Region streams. New York, New York, USA: ACM Press. doi:10.1145/1052199.1052213.
  3. ^ Newton, Ryan; Morrisett, Greg; Welsh, Matt (2007). The regiment macroprogramming system. New York, New York, USA: ACM Press. doi:10.1145/1236360.1236422.
  4. ^ Gummadi, Ramakrishna; Gnawali, Omprakash; Govindan, Ramesh (2005). "Macro-programming Wireless Sensor Networks Using Kairos". Distributed Computing in Sensor Systems. Berlin, Heidelberg: Springer Berlin Heidelberg. pp. 126–140. doi:10.1007/11502593_12. ISBN 978-3-540-26422-4. ISSN 0302-9743.
  5. ^ Júnior, Iwens G. S.; Santana, Thalia S. de; Bulcão-Neto, Renato de F.; Porter, Barry F. (2022-11-18). "The state of the art of macroprogramming in IoT: An update". Journal of Internet Services and Applications. 13 (1). Sociedade Brasileira de Computacao - SB: 54–65. doi:10.5753/jisa.2022.2372. ISSN 1869-0238.
  6. ^ Mottola, Luca; Picco, Gian Pietro (2011). "Programming wireless sensor networks". ACM Computing Surveys. 43 (3). Association for Computing Machinery (ACM): 1–51. doi:10.1145/1922649.1922656. ISSN 0360-0300.