Outlaw (песня)
- 1 year ago
- 0
- 0
TLA + — язык спецификаций , основанный на теории множеств , логике первого порядка и темпоральной логике действий ( англ. TLA, temporal logic of actions ). Разработан Лесли Лэмпортом , исследователем теории распределённых систем .
Темпоральная логика была введена Амиром Пнуэли в 1970-х годах. Лесли Лэмпорт увидел недостаточность этой идеи для описания систем целиком и пришёл к мысли о необходимости использовать конечные автоматы ( англ. state machine ), которым придавался смысл формул темпоральной логики, описывающих все возможные пути исполнения. Таким образом родилась идея темпоральной логики действий (TLA), которая дополнила темпоральную логику следующим :
В результате кропотливой работы над идеями TLA появился язык спецификаций, названный TLA + .
Язык TLA + несколько схож по духу с Z-нотацией , а возможно даже был создан под её влиянием .
TLA-спецификация — темпоральная формула, часто называемая Spec и являющаяся предикатом (утверждением) о поведении . Поведение представляет собой возможный путь исполнения системы или, другими словами, представлять возможную историю универсума (universe), который может содержать систему. Поведения, удовлетворяющие Spec — правильные поведения системы .
Состоянием называется присваивание значений переменных, шагом называется пара состояний. Теперь поведение можно представить как бесконечную последовательность состояний, а шагами поведения можно назвать пару последовательных состояний поведения. Предикатом состояния называется функция, результат которой — логическое значение истина или ложь — соответствует утверждению о состоянии. Действием называется функция, имеющая смысл предиката над шагом. В этой функции участвуют как переменные первого шага, так и второго, которые обычно отмечаются штрихом .
Одной из простейших нетривиальных спецификаций является следующая :
Здесь Init — предикат состояния, Next — действие, v i — переменные, — единственный в данной спецификации темпоральный оператор (истинно во всех будущих состояниях).