{'fraction_non_alphanumeric': 0.020738820479585224, 'fraction_numerical': 0.005184705119896306, 'mean_word_length': 5.3539094650205765, '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}}
Translating Process Interaction World View Models to DEVS: GPSS to (Python(P))DEVS

Discrete-event modelling and simulation languages can be classified based on their world view: event scheduling, activity scanning, or process interaction. To study the semantics of these languages one may investigate the relationship between them, and in particular translate models between languages in different world views. A translation approach also lets one re-use all the simulation tooling available for the target language. We describe a translation of the classic process interaction language GPSS developed by Gordon in the early 1960s onto DEVS, a modular discrete-event modelling and simulation language with precise semantics developed by Zeigler in the late 1970s. We specify and implement a translation that produces, for each GPSS model, a behaviourally equivalent DEVS model. As GPSS has no formal semantics, there is no proof of equivalence. Rather, we describe the structure of the translation, starting from Gordon’s informal description, centered around the main data structures called chains and the scanning algorithm. We build a working prototype for a representative subset of GPSS blocks found in most tools implementing the language. Finally, we exhaustively test the translation by comparing simulation results of the generated DEVS model with a those obtained by the GPSS World simulator. GPSS World is a popular GPSS variant. We also demonstrate our approach on a small but representative example from the manufacturing domain.