Towards a Systems Programming Language Designed for Hierarchical State Machines

被引:2
|
作者
McClelland, Brian [1 ]
Tellier, Daniel [1 ]
Millman, Meyer [1 ]
Go, Kate Beatrix [1 ]
Balayan, Alice [1 ]
Munje, Michael J. [1 ]
Dewey, Kyle [1 ]
Nhut Ho [1 ]
Havelund, Klaus [2 ]
Ingham, Michel [2 ]
机构
[1] Calif State Univ Northridge, Northridge, CA 91330 USA
[2] CALTECH, Jet Prop Lab, Pasadena, CA 91109 USA
基金
美国国家航空航天局;
关键词
D O I
10.1109/SMC-IT51442.2021.00010
中图分类号
V [航空、航天];
学科分类号
08 ; 0825 ;
摘要
In flight applications, Hierarchical State Machines (HSMs) are often used for writing simulation and control software, including that of the Curiosity rover. At the Jet Propulsion Laboratory (JPL), multiple domain-specific languages have been developed specifically for writing HSM-based software, and these have been used in practice. However, we observe that the existing languages developed have significant issues with one or more of usability, performance, and safety, making them problematic for HSM-based development. To address these concerns, we are taking lessons learned from these languages and developing a new programming language named Proteus. Proteus builds HSM support directly into the language, and permits complex HSMs to be defined which communicate with each other. Proteus is designed with a look and feel similar to C/C++, making it usable and approachable for JPL software engineers. Proteus itself compiles to C++, allowing it to fit easily into existing development toolchains, making it amenable to embedded real-time systems. To ensure that Proteus will be of use to its target audience, it is being iteratively developed through a series of prototypes which are regularly evaluated by key JPL stakeholders, ensuring Proteus always stays on track. While Proteus is still very young in its development, we demonstrate its basic viability on an example utilizing multiple independent HSMs communicating with each other, and a relevant execution trace. In the future, we plan to apply Proteus to larger HSMs taken from real flight applications, and many additional relevant features are planned.
引用
收藏
页码:23 / 30
页数:8
相关论文
共 50 条
  • [21] SharP: Towards Programming Extreme-Scale Systems with Hierarchical Heterogeneous Memory
    Venkata, Manjunath Gorentla
    Aderholdt, Ferrol
    Parchman, Zachary
    2017 46TH INTERNATIONAL CONFERENCE ON PARALLEL PROCESSING WORKSHOPS (ICPPW), 2017, : 145 - 154
  • [22] Model checking of hierarchical state machines
    Alur, R
    Yannakakis, M
    ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS, 2001, 23 (03): : 273 - 303
  • [23] Reduction and slicing of hierarchical state machines
    Heimdahl, MPE
    Whalen, MW
    SOFTWARE ENGINEERING - ESEC/FSE '97, 1997, 1301 : 450 - 467
  • [24] Complexity Metrics for Hierarchical State Machines
    Hall, Mathew
    SEARCH BASED SOFTWARE ENGINEERING, 2011, 6956 : 76 - 81
  • [25] Towards Ethical Machines Via Logic Programming
    Dyoub, Abeer
    Costantini, Stefania
    Lisi, Francesca A.
    ELECTRONIC PROCEEDINGS IN THEORETICAL COMPUTER SCIENCE, 2019, (306): : 333 - 339
  • [26] jC: Towards a programming language for beginners
    Garcia Perez-Schofield, Baltasar
    Ortin, Francisco
    7TH IBERIAN CONFERENCE ON INFORMATION SYSTEMS AND TECHNOLOGIES (CISTI 2012), 2012,
  • [27] Towards a Programming Language for Interaction Nets
    Mackie, Ian
    ELECTRONIC NOTES IN THEORETICAL COMPUTER SCIENCE, 2005, 127 (05) : 133 - 151
  • [28] Towards a Programming Language in Cellular Computing
    Gutierrez-Naranjo, Miguel A.
    Perez-Jimenez, Mario J.
    Riscos-Nunez, Agustin
    ELECTRONIC NOTES IN THEORETICAL COMPUTER SCIENCE, 2005, 123 : 93 - 110
  • [29] Hierarchical Modeling and abstraction of discrete event systems using finite state machines with parameters
    Chen, YL
    Lin, F
    PROCEEDINGS OF THE 40TH IEEE CONFERENCE ON DECISION AND CONTROL, VOLS 1-5, 2001, : 4110 - 4115