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 条
  • [1] XRobots: A Flexible Language for Programming Mobile Robots Based on Hierarchical State Machines
    Tousignant, Steve
    Van Wyk, Eric
    Gini, Maria
    2012 IEEE INTERNATIONAL CONFERENCE ON ROBOTICS AND AUTOMATION (ICRA), 2012, : 1773 - 1778
  • [2] Hierarchical finite state machines for autonomous mobile systems
    Kurt, Arda
    Oezguener, Uemit
    CONTROL ENGINEERING PRACTICE, 2013, 21 (02) : 184 - 194
  • [3] A VISUAL PROGRAMMING LANGUAGE DESIGNED FOR AUTOMATIC PROGRAMMING
    SHU, NC
    PROCEEDINGS OF THE TWENTY-FIRST, ANNUAL HAWAII INTERNATIONAL CONFERENCE ON SYSTEM SCIENCES, VOLS 1-4: ARCHITECTURE TRACK, SOFTWARE TRACK, DECISION SUPPORT AND KNOWLEDGE BASED SYSTEMS TRACK, APPLICATIONS TRACK, 1988, : B662 - B671
  • [4] Verification of parameterized hierarchical state machines using action language verifier
    Yavuz-Kahveci, T
    Bultan, T
    THIRD ACM & IEEE INTERNATIONAL CONFERENCE ON FORMAL METHODS AND MODELS FOR CO-DESIGN, PROCEEDINGS, 2005, : 79 - 88
  • [5] BLAKE: A language designed for Programming I
    Blake, Ben
    EDUCATION AND INFORMATION TECHNOLOGIES, 2010, 15 (04) : 277 - 291
  • [6] Hierarchical featured state machines
    Fragal, Vanderson Hafemann
    Simao, Adenilso
    Mousavi, Mohammad Reza
    SCIENCE OF COMPUTER PROGRAMMING, 2019, 171 : 67 - 88
  • [7] Towards Comprehension of the Multi-Programming Language Software Systems
    Izadkhah, Habib
    Kargar, Masoud
    Isazadeh, Ayaz
    2019 IEEE 5TH CONFERENCE ON KNOWLEDGE BASED ENGINEERING AND INNOVATION (KBEI 2019), 2019, : 245 - 249
  • [8] Abstract machines for programming language implementation
    Diehl, S
    Hartel, P
    Sestoft, P
    FUTURE GENERATION COMPUTER SYSTEMS-THE INTERNATIONAL JOURNAL OF ESCIENCE, 2000, 16 (07): : 739 - 751
  • [9] CONTROL OF DISCRETE-EVENT SYSTEMS MODELED AS HIERARCHICAL STATE MACHINES
    BRAVE, Y
    HEYMANN, M
    IEEE TRANSACTIONS ON AUTOMATIC CONTROL, 1993, 38 (12) : 1803 - 1819
  • [10] Real-time systems development using hierarchical state machines
    Furfaro, A
    Nigro, L
    Pupo, F
    MODULAR PROGRAMMING LANGUAGES, PROCEEDINGS, 2003, 2789 : 110 - 121