Главная страница

программы S типа. мудака 03.01. Программы s типа это программы, функция которых формально определена и выводима из спецификации


Скачать 55.88 Kb.
НазваниеПрограммы s типа это программы, функция которых формально определена и выводима из спецификации
Анкорпрограммы S типа
Дата20.11.2022
Размер55.88 Kb.
Формат файлаdocx
Имя файламудака 03.01.docx
ТипДокументы
#801812

Программы S типа

Программы S типа - это программы, функция которых формально определена

и выводима из спецификации.

Леман предположил, что по мере дальнейшего развития методологии программирования

всё больше программ будут строиться как структуры S-программ.



Рис 1. Программы S типа

Как следует из рис. 1, спецификация, как формальное определение проблемы, направляет и контролирует программиста при создании программы, которая определяет желаемое решение.

Правильное решение поставленной задачи в терминах используемого языка программирования становится единственной заботой программиста. В крайнем случае, еще и вопросы элегантности или эффективности.

Постановка задачи, программа и полученное решение могут быть связаны с внешним миром. Но это случайная связь. Даже если она существует, мы можем изменить нашу задачу, переопределив проблему. Но тогда нужно будет создавать новую программу для ее решения. Вывести новую программу из старой может быть возможно и экономично по времени. Но это будет уже другая программа, определяющая решение другой проблемы.

Можно изменить программу, чтобы улучшить ясность или элегантность, уменьшить использование ресурсов для повышения уверенности в правильности работы программы. Но любые такие изменения не должны влиять на соответствие между входом и выходом, которое определяет программа и которое она достигает при выполнении. Всякий раз, когда текст программы был изменен или преобразован, необходимо показать, что либо связь между входом и выходом остается неизменной, либо, что новая программа удовлетворяет новой спецификации, определяющей решение новой проблемы.

Поскольку, по определению, единственным критерием правильности S-программы является удовлетворение ее спецификации, корректность S-программы всегда доказуема.

В отличие от E-типа, программное обеспечение S-типа не демонстрирует эволюционного поведения. Как только программа написана, она либо корректна, либо нет по отношению к спецификации. Если она не корректна, она не будет выпущена, и нет шанса для эволюции (по определению, она происходит после выпуска программы). Однако, если программа корректна, то она закончена, и нет никаких шансов на дальнейшую доработку или адаптацию. Это означает, что она также не достигнет стадии эволюции.

Это не чисто философское наблюдение. Многие важные компоненты большой программы, математические процедуры, например, в сочетании с определенными правилами интерфейса (вызов и вывод), безусловно, являются S-типом. Необходимо распознать такие потенциальные составляющие во время процесса разделения и определить, и реализовать их соответственно.

Источники:

  1. Lehman M.M. Programs, Life Cycles, and Laws of Software Evolution [Текст] / Lehman M.M. 1980 - 17с.

  2. Israel Herraiz, Daniel Rodriguez, Gregorio Robles, Jesus M. Gonzalez-Barahona The evolution of the laws of software evolution. A discussion based on a systematic literature review / ACM Computing Surveys 2013 – 34c.


написать администратору сайта