Главная » Просмотр файлов » rsl.formal.specifications.conspect

rsl.formal.specifications.conspect (811084), страница 18

Файл №811084 rsl.formal.specifications.conspect (rsl.formal.specifications.conspect) 18 страницаrsl.formal.specifications.conspect (811084) страница 182020-08-19СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 18)

Операция являетсятождественнойдлянеотрицательных вещественных значений.• Преобразование вещественного в целое:int : Real → IntАбсолютным значением результата является наибольшее целое,которое меньше или равно абсолютного значения вещественногоаргумента. Знаком результата является знак аргумента.• Преобразование целого в вещественное:real : Int → RealРезультат идентичен аргументу, изменяется только его тип. Дляфункций преобразования типов справедливо соотношение:int real a = aгде а — произвольное целочисленное значение.• Кардинальность множества:~ Intcard : T-infset →Результат равен количеству элементов указанного множества. Эффектприменения операции card к бесконечному множеству представляетсобой расходящийся процесс.• Длина списка:~ Intlen : Tω →Результат равен длине указанного списка.

Эффект примененияоперации len к бесконечному списку представляет собой расходящийсяпроцесс.95• Индексы списка:inds : Tω → Int-infsetРезультатом является множество индексов указанного списка. Пустьf_list обозначает некоторый конечный список и i_list — бесконечныйсписок, тогда:inds f_list = { i ⏐ i : Int • i ≥ 1 ∧ i ≤ len f_list }inds i_list = { i ⏐ i : Int • i ≥ 1 }• Элементы списка:elems : Tω → T-infsetРезультатом является множество элементов указанного списка.• Головной элемент списка:~ Thd : Tω →Предусловие: список должен быть непустым.Результатом является первый элемент указанного списка.• Исключение головного элемента из списка:~ Tωtl : Tω →Предусловие: список должен быть непустым.Результатом является список, который получается из исходного спискапутем удаления его первого элемента.• Домен отображения:dom : (T1 ⎯⎯→m T2) → T1-infsetРезультатом является домен указанного отображения: значения, длякоторых определено это отображение.• Область значений отображения:rng : (T1 ⎯⎯→m T2) → T2-infsetРезультатом является область значений указанного отображения:значения, которые могут быть получены путем применения этогоотображения к значениям из его домена.12.

Связки12.1. Инфиксные связки (Infix Connectives)Синтаксис.infix_connective ::=⇒⏐∨⏐∧96Контекстно-независимые расширения. Инфиксные связки infix_connectiveпредназначены для составления новых булевских выражений из ужеимеющихся булевских выражений.При определении результирующего воздействия аксиоматическогоинфиксного выражения axiom_infix_expr, в котором встречается инфикснаясвязка infix_connective, используется общее правило, заключающееся в том,что второе выражение вычисляется только в том случае, когда значениепервого выражения не определяет однозначно значение всего выраженияaxiom_infix_expr. Это позволяет обойти в ряде случаев возможноерасхождение или тупиковую ситуацию во втором выражении.

Значениеаксиоматических инфиксных выражений axiom_infix_expr задается в терминахif-выражений, сокращениями которых и являются аксиоматическиеинфиксные выражения.• Логическое и:value_expr1 ∧ value_expr2является сокращенной формой записи выражения:if value_expr1 then value_expr2 else false end• Логическое или:value_expr1 ∨ value_expr2является сокращенной формой записи выражения:if value_expr1 then true else value_expr2 end• Импликация:value_expr1 ⇒ value_expr2является сокращенной формой записи выражения:if value_expr1 then value_expr2 else true end12.2.

Префиксные связки (Prefix Connectives)Синтаксис.prefix_connective ::=∼Контекстно-независимые расширения. Префиксная связка prefix_connectiveпредназначена для построения новых булевских выражений из ужеимеющихся булевских выражений.97• Логическое отрицание:Аксиоматическое префиксное выражение axiom_prefix_expr вида:∼ value_exprявляется сокращенной формой записи выражения:if value_expr then false else true end13.

Инфиксные комбинаторы (Infix Combinators)Синтаксис.infix_combinator ::=⏐⎥⎤ ⏐║ ⏐╫ ⏐;Семантика. Инфиксные комбинаторы infix_combinator применяются дляпостроения выражений, которые либо взаимодействуют, либо оказываютвоздействие на переменные. С каждым инфиксным комбинаторомinfix_combinator связан ряд простых правил доказательства, поясняющихсемантику соответствующего инфиксного комбинатора.• Внешний выбор (External choice):value_expr1value_expr2Внешнийвыборпроизводитсямеждурезультирующимивоздействиями двух указанных выражений value_expr.

На выбор можетповлиять возможный эффект от параллельного выполнения некотороготретьего выражения.Единичным элементом (единицей) внешнего выбора является stop,нулевым элементом (нулем) — chaos. Внешний выбор обладаетсвойствами идемпотентности, коммутативности, ассоциативности идистрибутивности по отношению к внутреннему выбору:value_exprstop ≡ value_exprvalue_exprchaos ≡ chaosvalue_exprvalue_expr ≡ value_exprvalue_expr1value_expr2 ≡ value_expr2value_expr1value_expr1( value_expr2value_expr3 ) ≡( value_expr1value_expr2 )value_expr398value_expr1( value_expr2 ⎥ ⎤ value_expr3 ) ≡( value_expr1value_expr2 ) ⎥ ⎤ ( value_expr1value_expr3)• Внутренний выбор (Internal choice):value_expr1 ⎥ ⎤ value_expr2Внутренний — недетерминированный — выбор производится междурезультирующими воздействиями двух указанных выраженийvalue_expr.

Возможный эффект от параллельного выполнениянекоторого третьего выражения не может оказать влияние навнутренний выбор.Нулевым элементом (нулем) внутреннего выбора является chaos.Внутреннийвыборобладаетсвойствамиидемпотентности,коммутативности и ассоциативности:value_expr ⎥ ⎤ chaos ≡ chaosvalue_expr ⎥ ⎤ value_expr ≡ value_exprvalue_expr1 ⎥ ⎤ value_expr2 ≡ value_expr2 ⎥ ⎤ value_expr1value_expr1 ⎥ ⎤ ( value_expr2 ⎥ ⎤ value_expr3 ) ≡( value_expr1 ⎥ ⎤ value_expr2 ) ⎥ ⎤ value_expr3• Параллельная композиция (Concurrent composition):value_expr1 ║ value_expr2Два указанных выражения value_expr выполняются параллельно друг сдругом до тех пор, пока одно из них не завершится, в то время какдругое будет продолжать свое выполнение.

Эти выражения могутпредложить произвести взаимодействие посредством каналов, вчастности они могут предложить взаимодействие друг с другом (еслиодно из них производит ввод по какому-то каналу, а другое вывод потому же каналу). Если выражения в состоянии взаимодействовать другс другом, они могут сделать внешний выбор, который предписываетим произвести это взаимодействие.

Альтернативной возможностьюявляется внешний выбор, который оставляет указанным выражениямсвободу произвести взаимодействие друг с другом или с другимипараллельно выполняющимися выражениями. Если выражения немогут взаимодействовать друг с другом, но в состоянии осуществитьвзаимодействиесдругимипараллельновыполняющимисявыражениями, им предоставляется возможность выполнить этовзаимодействие.Единичным элементом (единицей) параллельной композиции являетсяskip, нулевым элементом (нулем) — chaos. Параллельная композицияобладаетсвойствамикоммутативности,ассоциативностии99дистрибутивности по отношению к внутреннему выбору:value_expr ║ skip ≡ value_exprvalue_expr ║ chaos ≡ chaosvalue_expr1 ║ value_expr2 ≡ value_expr2 ║ value_expr1value_expr1 ║ ( value_expr2 ║ value_expr3 ) ≡( value_expr1 ║ value_expr2 ) ║ value_expr3value_expr1 ║ ( value_expr2 ⎥ ⎤ value_expr3 ) ≡( value_expr1 ║ value_expr2 ) ⎥ ⎤ ( value_expr1 ║ value_expr3)Если выражение value_expr сходится и не вызывает взаимодействия иесли c1 ≠ c2, то выполняются следующие две эквивалентности:x := c1? ║ c2! value_expr ≡(x := c1? ; c2! value_expr)x := c? ║ c! value_expr ≡(((x := c? ; c! value_expr)(x := value_expr))⎥ ⎤ (x := value_expr)(c2! value_expr ; x := c1?)(c! value_expr ; x := c?))• Interlocked-композиция (Interlocked composition):value_expr1 ╫ value_expr2Два указанных выражения value_expr выполняются, блокируя другдруга по отношению к внешним взаимодействиям (т.е.взаимодействиям с другими какими-то выражениями), до тех пор, покаодно из них не завершится, в то время как другое будет продолжатьсвое выполнение.

Эти выражения могут предложить осуществитьвзаимодействие посредством каналов, в частности они могутпредложить взаимодействие друг с другом (если одно из нихпроизводит ввод по какому-то каналу, а другое вывод по тому жеканалу). Если выражения будут в состоянии взаимодействовать друг сдругом, они выполнят это взаимодействие. Если выражения будут всостояниивзаимодействоватьсдругимипараллельновыполняющимися выражениями, но только не друг с другом, онипопадут в тупиковую ситуацию, где и будут пребывать, пока одно изних не сможет завершиться.Единицей interlocked-композиции является skip, нулем — chaos.Interlocked-композиция обладает свойствами коммутативности идистрибутивности по отношению к внутреннему выбору:value_expr ╫ skip ≡ value_exprvalue_expr ╫ chaos ≡ chaos100value_expr1 ╫ value_expr2 ≡ value_expr2 ╫ value_expr1value_expr1 ╫ ( value_expr2 ⎥ ⎤ value_expr3 ) ≡( value_expr1 ╫ value_expr2 ) ⎥ ⎤ ( value_expr1 ╫ value_expr3)Заметим, что в отличие от параллельной композиции ║ interlockedкомпозиция ╫ не является ассоциативной.Если выражение value_expr сходится и не вызывает взаимодействия иесли c1 ≠ c2, то справедливы следующие две эквивалентности:x := c1? ╫ c2! value_expr ≡ stopx := c? ╫ c! value_expr ≡ x := value_exprКомбинатор interlocked-композиции иллюстрирует различие междувнешним и внутренним выборами.

Если выражения value_expr1 иvalue_expr2 сходятся и не вызывают взаимодействия и если c1 ≠ c2, тоимеют место следующие две эквивалентности:(x := c1?c2! value_expr2) ╫ c1! value_expr1 ≡ x := value_expr1(x := c1?c2! value_expr2) ╫ c1! value_expr1 ≡ (x := value_expr1) ⎥ ⎤ stop• Последовательная композиция:value_expr1 ; value_expr2Второе выражение value_expr принуждается к выполнению послевыполнения первого выражения value_expr.

В качестве результатавыполнения последовательной композиции возвращается значениевторого выражения value_expr.Единицей последовательной композиции является skip, кроме того,даннаякомпозицияассоциативнаиобладаетсвойствомдистрибутивности по первому аргументу по отношению к внутреннемувыбору:value_expr ; skip ≡ value_exprskip ; value_expr ≡ value_exprvalue_expr1 ; (value_expr2 ; value_expr3) ≡(value_expr1 ; value_expr2) ; value_expr3(value_expr1 ⎥ ⎤ value_expr2) ; value_expr3 ≡(value_expr1 ; value_expr3) ⎥ ⎤ ( value_expr2 ; value_expr3)101Литература для дополнительного чтения[ADL][Eiffel][iContract]http://www.sun.com/960201/cover/language.htmlhttp://www.eiffel.comR.Kramer. iContract – The Java Design by Contract Tool.Fourth conference on OO technology and systems (COOTS),1998.[IFAD]http://www.ifad.dk[ISPRAS]http://www.ispras.ru/[Jones]C.B.

Jones. Systematic Software Development Using VDM.Prentice Hall International, 1986.[Larch]J.Guttag et al. The Larch Family of Specification Languages.IEEE Software, Vol. 2, No.5, September 1985, pp.24-36.[OMG]http://www.omg.org[RAISE-language] The RAISE Language Group. The RAISE SpecificationLanguage. Prentice Hall Europe, 1992.[RAISE-method] ftp://ftp.iist.unu.edu/pub/RAISE/method_book[RUP]http://www.rational.com[VDM_SL]N.Plat, P.G.Larsen. An Overview of the ISO/VDM-SLStandard.

SIGPLAN Notes, Vol. 27, No. 8, August 1992.[VDM++]http://www.csr.ncl.ac.uk/vdm/[MSC]Message Sequence Charts. ITU recommendation Z.120.[SDL]Specification and Design Language. ITU recommendationZ.100.[Z]J.M.Spivey. The Z Notation: A Reference Manual. PrenticeHall, 2nd edition, 1992.102Приложение 1. Приоритет операцийПриоритет операций над значениями (по возрастанию)Приоритет1413121110987654321Операции□ λ ∀ ∃ ∃!≡ post⎡⎢ ║ ╫;:=⇒∨∧=≠><≥≤⊂⊆⊃⊇∈∉+−\^∪†∗/°∩↑:~ prefix_opАссоциативностьПраваяПраваяПраваяПраваяПраваяПраваяЛеваяЛеваяПриоритет типовых операций (по возрастанию)Operator(s)ПриоритетАссоциативностьПравая~⎯⎯m→ → →×-set -infset ∗ ω321Приложение 2.

Характеристики

Тип файла
PDF-файл
Размер
827,51 Kb
Тип материала
Высшее учебное заведение

Список файлов учебной работы

Свежие статьи
Популярно сейчас
А знаете ли Вы, что из года в год задания практически не меняются? Математика, преподаваемая в учебных заведениях, никак не менялась минимум 30 лет. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6451
Авторов
на СтудИзбе
305
Средний доход
с одного платного файла
Обучение Подробнее