Я пока кучу теории вижу. Причём той, которую читал уже много раз. Есть конкретные кейсы. И люди, которые их приводят, в большинстве свом выносят их не по лени, а потому что ответов не нашли.
Ну да, в самом начале стандарта написано об этом. Что его нужно подогнать под себя. Например, создать упрощённую метамодель. И по ней работать с коллегами.
Функцию необходимо явно вызвать, передав параметры и получив результат выполнения. Процедура может быть выполнена по событию/шедулеру, по сути - это последовательность команд.
На уровне кода я еще более точное определение дам. Но тут как я понимаю просят четко по методологии.