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 条
  • [41] Diagnosability analysis of a class of hierarchical state machines
    Paoli, Andrea
    Lafortune, Stephane
    DISCRETE EVENT DYNAMIC SYSTEMS-THEORY AND APPLICATIONS, 2008, 18 (03): : 385 - 413
  • [42] Model checking of unrestricted hierarchical state machines
    Benedikt, M
    Godefroid, P
    Reps, T
    AUTOMATA LANGUAGES AND PROGRAMMING, PROCEEDING, 2001, 2076 : 652 - 666
  • [43] Diagnosability Analysis of a Class of Hierarchical State Machines
    Andrea Paoli
    Stéphane Lafortune
    Discrete Event Dynamic Systems, 2008, 18 : 385 - 413
  • [44] Towards Adaptive Programming Integrating Reinforcement Learning into a Programming Language
    Simpkins, Christopher
    Bhat, Sooraj
    Isbell, Charles, Jr.
    Mateas, Michael
    OOPSLA 2008 NASHVILLE, CONFERENCE PROCEEDINGS: MUSIC CITY USA, OOPSLA, 2008, : 603 - +
  • [45] Towards Adaptive Programming Integrating Reinforcement Learning into a Programming Language
    Simpkins, Christopher
    Bhat, Sooraj
    Isbell, Charles, Jr.
    Mateas, Michael
    ACM SIGPLAN NOTICES, 2008, 43 (10) : 603 - 613
  • [46] BLISS - LANGUAGE FOR SYSTEMS PROGRAMMING
    WULF, WA
    RUSSELL, DB
    HABERMANN, AN
    COMMUNICATIONS OF THE ACM, 1971, 14 (12) : 780 - +
  • [47] New pattern for implementation of hierarchical state machines in the C language, optimized for minimal execution time on microcontrollers
    Romaniuk, P.
    MIXDES 2008: PROCEEDINGS OF THE 15TH INTERNATIONAL CONFERENCE ON MIXED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS, 2008, : 605 - 609
  • [48] SESPOOL, A LANGUAGE FOR SYSTEMS PROGRAMMING
    NEWTON, GE
    STARKEY, JD
    COMPUTER LANGUAGES, 1977, 2 (03): : 75 - 91
  • [49] Towards Compatible and Interderivable Semantic Specifications for the Scheme Programming Language, Part II: Reduction Semantics and Abstract Machines
    Biernacka, Malgorzata
    Danvy, Olivier
    SEMANTICS AND ALGEBRAIC SPECIFICATION: ESSAYS DEDICATED TO PETER D. MOSSES ON THE OCCASION OF HIS 60TH BIRTHDAY, 2009, 5700 : 186 - +
  • [50] Mapping Nautilus language into Java']Java: Towards a specification and programming environment for distributed systems
    Fuzitaki, CN
    Menezes, PB
    Machado, JP
    da Costa, SA
    COMPUTER AIDED SYSTEMS THEORY - EUROCAST 2003, 2003, 2809 : 243 - 252