{'fraction_non_alphanumeric': 0.028332260141661302, 'fraction_numerical': 0.003219575016097875, 'mean_word_length': 5.448132780082988, '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': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
A software testbed for advanced projects in real-time and distributed computing

The person in the street takes real-time computing for granted, even if he or she does not know that term. Computers may not be trusted by everybody, but the public nevertheless assumes that they are used to control complex processes such as space shuttle motion and automobile carburetion. In practice, real-world applications are very difficult. Some of the computer science issues that must be faced include ‘hard” time deadlines, fault-tolerance, formal specification, verification that a system satisfies its specification, and coordination of distributed computing resources [4]. In addition, there are innumerable complications when attempting to model a physical process. We take the latter as a major reason why real-time computing is often omitted from upperlevel work in undergraduate computer science programs. Few undergraduates have either the computational capability or the opportunity to design and implement a significant real-time process-control application of computing. Yet, given the significance of such problems outside of academia and the recent flurry of research activity in the area of real-time computing (see, for example, [1, 2, 3 and 6]), it is increasingly desirable for our students to encounter computing problems involving real-time constraints, distributed computing and related issues, in advanced courses and/or independent projects. The Trainset simulation presents a substantial process-control problem, namely motion of idealized