Macroprogramming
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
- ^ 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.
- ^ Newton, Ryan; Welsh, Matt (2004). Region streams. New York, New York, USA: ACM Press. doi:10.1145/1052199.1052213.
- ^ Newton, Ryan; Morrisett, Greg; Welsh, Matt (2007). The regiment macroprogramming system. New York, New York, USA: ACM Press. doi:10.1145/1236360.1236422.
- ^ 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.
- ^ 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.
- ^ 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.