{'fraction_non_alphanumeric': 0.025985663082437275, 'fraction_numerical': 0.004480286738351254, 'mean_word_length': 5.609467455621302, '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}}
An AspectJ Compiler for the Steamloom Virtual Machine

The "Aspect Language Implementation Architecture" (ALIA) [7] research project introduces the "Execution Model" a meta-model for behavioral crosscutting. The proposed architecture stipulates that compilers use the Execution Model to define the aspects in the compiled program and that execution environments directly execute the resulting model. In this way, weaving is delayed as long as possible thereby facilitating sophisticated optimizations in the execution environment. Languages for Aspect Oriented Software Development (AOSD) such as AspectJ [2] or CaesarJ [4] provide syntactical and semantical expression for aspect orientation. The Steamloom virtual machine is one execution environment that implements the Execution Environment. In this work a compiler for AspectJ 1.2 source code is built, the AspectJ-EM (EM stands for Execution Model) compiler. Its main purpose is to transform the pointcut and advice definitions into calls to the Execution Model API and to produce bytecode output, which may be directly executed in ALIA execution environments.