default base domain FORTRAN. pattern before_advice_stmt() : execution_part_construct_list = "PRINT *, 'Before Calling Random...';". pattern after_advice_stmt() : execution_part_construct_list = "PRINT *, 'After Calling Random...';". pattern method_name() : NAME = " RANDOM_NUMBER". pattern within_code() : NAME = " define_AB". external pattern around_advice_call(program : Fortran90_program, method_name : NAME, proceed_call : NAME, proceed_bef : execution_part_construct_list, proceed_aft : execution_part_construct_list, withincode : NAME) : Fortran90_program = 'around_advice_call' in domain FORTRAN. rule func_call( program : Fortran90_program) : Fortran90_program-> Fortran90_program = program -> around_advice_call(program, method_name(), method_name(), before_advice_stmt(), after_advice_stmt(), within_code()) if program ~= around_advice_call(program, method_name(), method_name(), before_advice_stmt(), after_advice_stmt(), within_code()) . public ruleset calldemo = {func_call}.