{'fraction_non_alphanumeric': 0.02626970227670753, 'fraction_numerical': 0.0, 'mean_word_length': 4.953125, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 1, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Developing Reflex IDE Kernel with Xtext Framework

In this paper, we describe the technology of the process-oriented language Reflex IDE kernel development. The Reflex language, which is being maintained at the Institute of Automation and Electrometry, is a language for cyber-physical systems software specification. In the paper, we assume that the cyber-physical system is a computational core that interacts with the physical world. In the case of Reflex, the computation platform is an industrial PC. Reflex IDE (RIDE) includes a language-based editor, syntax and semantics analyzers as well as an abstract syntax tree (AST) generator, and a class library for working with the generated AST. In this work, we explain our motivation for the research, formulate the requirements for the development, and present the RIDE architecture. We describe the RIDE development process using Eclipse/Xtext tools and its user interface. We also provide an example of extending the Reflex IDE kernel with a code generator for the AVR platform. In the conclusion, we discuss the possibility of using the obtained result to create a web-version of RIDE.