Concurrent Event-driven Programming in occam-π for the Arduino

被引:1
|
作者
Jacobsen, Christian L. [1 ]
Jadud, Matthew C. [2 ]
Kilic, Omer [3 ]
Sampson, Adam T. [4 ]
机构
[1] Univ Copenhagen, Dept Comp Sci, DK-1168 Copenhagen, Denmark
[2] Allegheny Coll, Dept Comp Sci, Meadville, PA 16335 USA
[3] Univ Kent, Sch Engn & Digital Arts, Canterbury CT2 7NZ, Kent, England
[4] Univ Abertay Dundee, Inst Arts Media & Comp Games, Dundee, Scotland
来源
COMMUNICATING PROCESS ARCHITECTURES 2011 | 2011年 / 68卷
关键词
Transterpreter; occam-pi; Arduino; embedded systems; interrupts; sensing; OPERATING SYSTEM; TRANSTERPRETER;
D O I
10.3233/978-1-60750-774-1-177
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
The success of the Arduino platform has made embedded programming widely accessible. The Arduino has seen many uses, for example in rapid prototyping, hobby projects, and in art installations. Arduino users are often not experienced embedded programmers however, and writing correct software for embedded devices can be challenging. This is especially true if the software needs to use interrupts in order to interface with attached devices. Insight and careful discipline are required to avoid introducing race hazards when using interrupt routines. Instead of programming the Arduino in C or C++ as is the custom, we propose using occam-pi as a language as that can help the user manage the concurrency introduced when using interrupts and help in the creation of modular, well-designed programs. This paper will introduce the Arduino, the software that enables us to run occam-pi on it, and a case study of an environmental sensor used in an Environmental Science course.
引用
收藏
页码:177 / 193
页数:17
相关论文
共 6 条
  • [1] Dynamic Scheduling for Event-Driven Embedded Industrial Applications
    Taji, Hossein
    Miranda, Jose
    Peon-Quiros, Miguel
    Balasi, Szabolcs
    Atienza, David
    2023 IFIP/IEEE 31ST INTERNATIONAL CONFERENCE ON VERY LARGE SCALE INTEGRATION, VLSI-SOC, 2023, : 271 - 276
  • [2] Parallelized Code Generation from Simulink Models for Event-driven and Timer-driven ROS 2 Nodes
    Obi, Kenshin
    Yoshinaka, Ryo
    Fujimoto, Hiroshi
    Azumi, Takuya
    2024 50TH EUROMICRO CONFERENCE ON SOFTWARE ENGINEERING AND ADVANCED APPLICATIONS, SEAA 2024, 2024, : 48 - 55
  • [3] Event-driven dynamic workload scaling for uniprocessor real-time embedded systems
    Chang, Li-Pin
    Chen, Ya-Shu
    JOURNAL OF INFORMATION SCIENCE AND ENGINEERING, 2007, 23 (05) : 1349 - 1365
  • [4] Implicit Sleep Mode Determination in Power Management of Event-Driven Deeply Embedded Systems
    Sieber, Andre
    Walther, Karsten
    Nuernberger, Stefan
    Nolte, Joerg
    WIRED/WIRELESS INTERNET COMMUNICATIONS, PROCEEDINGS, 2009, 5546 : 13 - 23
  • [5] PreeMe: Preemptive Real-time Task Management for Event-driven Sensor Operating Systems
    Yi, Sangho
    Min, Hong
    Cho, Yookun
    Jeong, Injoo
    Kim, Yeongkwun
    APPLIED COMPUTING 2008, VOLS 1-3, 2008, : 1726 - +
  • [6] Embedded System Design and Development for Data Acquisition and IoT-based Control and Monitoring using Event-Driven Techniques
    Jitaree, Raweenipha
    Nuratch, Santi
    INTERNATIONAL CONFERENCE ON ELECTRICAL, COMPUTER AND ENERGY TECHNOLOGIES (ICECET 2021), 2021, : 1188 - 1193