Главная » Просмотр файлов » Мансуров Н. Н., Майлингова О. Л. - Методы формальной спецификации программ

Мансуров Н. Н., Майлингова О. Л. - Методы формальной спецификации программ (1184226), страница 8

Файл №1184226 Мансуров Н. Н., Майлингова О. Л. - Методы формальной спецификации программ (Мансуров Н. Н., Майлингова О. Л. - Методы формальной спецификации программ.pdf) 8 страницаМансуров Н. Н., Майлингова О. Л. - Методы формальной спецификации программ (1184226) страница 82020-08-19СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

Для каждого объекта, заголовок которого содержит ключевое словоdecomposed, должна существовать диаграмма декомпозиции с тем жеименем.2. Для каждого события посылки сообщения на трассе объекта, для которогоуказано ключевое слово decomposed, на соответствующей диаграммедекомпозиции должно быть задано событие посылки сообщения вокружение диаграммы декомпозиции.3. Для каждого события приема сообщения на трассе объекта, для которогоуказано ключевое слово decomposed, на соответствующей диаграмме40декомпозиции должно быть задано событие приема сообщения изокружения диаграммы декомпозиции.4. Должно существовать соответствие между внешним поведением объекта,для которого указана диаграмма декомпозиции, и его внутреннимповедением: последовательность событий объекта на основной диаграммедолжен сохраняться на диаграмме декомпозиции (с учетом того, чтовзаимодействие объекта с другими объектами на основной диаграммепредставляется взаимодействием объектов с окружением на диаграммедекомпозиции).Семантика:1.

Диаграмма декомпозиции уточняет внутреннее поведение некоторогообъекта без изменения его внешнего поведения (т.е. описываетвзаимодействие компонентов составного объекта между собой и ихокружением - объектами на основной диаграмме).2. Декомпозиция трассы объекта сохраняет порядок приема и посылкисообщений.3. Действия и состояния на диаграмме декомпозиции могут рассматриватьсякак уточнения действий и состояний на основной диаграмме, однако языкдиаграмм взаимодействия не предусматривает никаких формальныхправил на этот счет.41Глава 5. Язык объектных моделейПри построении объектной модели будем использовать графическуюнотацию, позволяющую описывать классы и отношения между классами.5.1. КлассыНаиболее важным понятием объектной модели является определениекласса.

Классом будем называть описание группы объектов, обладающихобщими свойствами и поведением. Все объекты класса имеют одинаковыеатрибуты и способны выполнять одинаковый набор операций. Примеропределения класса в объектной модели приведен на Рис.

3. Класс Class1представлен в так называемой сжатой форме, когда присутствует только имякласса. Класс Class2 представлен в полной форме. Класс Class2 имеетдва атрибута: attrib1 (тип не указан) и attrib2 (типа atype). КлассClass2 имеет две операции: op1 (аргументы которой не указаны) и op2 сформальным параметром arg1 типа type1 и возвращаемым значением типаtype2.Class1Class2attrib1attrib2 : atypeop1opr2( arg1:type1) : type2Рис. 3. Определение класса5.2.

Отношения между классамиКлассы могут наследовать атрибуты и операции других классов. Приэтом говорят, что классы находятся в отношении наследования. Графическаяформа представления наследования показана на Рис. 4.42Рис. 4. НаследованиеОтношения между классами изображаются графически как связи(ассоциации) между классами (Рис. 5). Связь может иметь имя и /или можетбыть помечена именами ролей каждого из объектов.Рис. 5.

Ассоциации между классамиОсобый интерес представляет отношение «часть – целое». Такоеотношение называется агрегация. Агрегация классов выделена как особыйтип отношений между классами и имеет особое графическое представление,как показано на Рис. 6При описании ассоциаций и агрегаций основное внимание должнобыть уделено выявлению так называемой кардинальности отношения, какпоказано на Рис. 8.В объектных моделях рассматривают исключительно бинарные итернарные отношения. Рассмотрим сначала понятие кардинальности для43бинарных отношений.

Рассмотрим пример бинарного отношения (см. Рис. 7) Отношение имеет имя связан_с. Объекты класса Класс1 выступают вроли левый_партнер, а объекты класса Класс2 – в ролиправый_партнер.Рис. 6. Агрегациялевый партнерправый партнерКласс1Класс2связан сРис. 7. Пример бинарного отношенияКардинальность отношения задает, сколько объектов каждого классаможет участвовать в отношении. Следует понимать, что отношение междуклассами является абстракцией систематического отношения между всемиили некоторыми объектами данных классов. Поэтому, дополнительнаяинформация о том, сколько объектов класса могут участвовать в отношении,является существенной.На диаграмме кардинальность класса задается в виде дополнительногозначка на связи возле каждого из определений классов (Рис.8).Кардинальность класса означает, сколько объектов класс могут вступать сотношение с одним объектом противоположного класса.

Кардинальностьвсего отношения зависит от кардинальности каждого класса.44ровно одинClass*ноль или много0,1ноль или один1..*один или многоClassClassClassРис. 8. Кардинальность отношенийКардинальность классаровно одинноль или многоноль или одинодин или многоОписаниеС каждым объектом противоположногокласса связан ровно один объект данногокласса. Это означает, что каждый объектпротивоположного класса имеет партнерав данном классе (но в данном классе могутбыть объекты, не имеющие партнеров изпротивоположного класса).С одним объектом противоположногокласса могут быть связаны несколькообъектов данного класса. Дополнительно,в противоположном классе могут бытьобъекты, с которыми вообще не связаныобъекты данного класса.С одним объектом противоположногокласса может быть связан ровно одинобъектданногокласса,новпротивоположном классе могут бытьобъекты, с которыми не связаны объектыданного классаС каждым объектом противоположногокласса связано один или более объектовданного классаОтношения, в которых кардинальность одного из классов содержитноль («ноль или один», «ноль или много»), называются условнымиотношениями.

Отношения, в которых кардинальность обоих классовсодержит «много», называются отношение «многие-ко-многим». Обычно дляформализации такого отношения вводят дополнительный класс и45превращают отношение в тернарное. Пример тернарного отношенияприведен на .Рис. 9.левый партнерправый партнерКласс1Класс2*связан с*записьКласс3Рис. 9. Пример тернарного отношения5.3. ОбъектыОбъектная модель состоит не только из классов, но также из объектови отношений между объектами.

Отношения между объектамиотображаются с помощью связей, аналогично отображению отношениймежду классами с помощью ассоциаций. Объект изображается в видепрямоугольника с полем, содержащим имя объекта и ссылку на класс, иполем, содержащим имя атрибута и соответствующее ему константноезначение или значение, заданное по умолчанию.

См. Рис. 10.Рис. 10 Объекты и связи между ними465.4. МодулиКак правило, полная объектная модель состоит из большого количестваобъектов. Для более наглядного представления объектной модели можноиспользовать список диаграмм. Необходимо заметить, что для описанияодного класса можно использовать несколько диаграммСсылки на классы, определенные в других модулях, префиксируютсяименем модуля, в котором данный класс определен: ExternalModule::Class.5.5. ЗаключениеВ данной главе рассмотрена графическая нотация, используемая дляописания классов, отношений между классами и отношений междуобъектами классов.

Внимание уделяется рассмотрению кардинальностиотношений.47Глава 6. Язык SDL6.1. Теоретическая модельSDL система представляет собой набор конечных автоматов, выполняющихсяпараллельно. Все автоматы независимы и взаимодействуют при помощи посылкидискретных сигналов.SDL-система состоит из следующих компонентов:1. Структура - иерархическая декомпозиция, включающая в себя следующиеуровни: система, блок, процесс и процедура;2. Взаимодействие: асинхронные сигналы (возможно с параметрами);3. Поведение. «Носителями» поведения являются процессы. Поведение процессаописывается как набор состояний, для каждого из которых определеныразнообразные реакции на сигналы. Реакция на сигнал (т.н. переход)описывается в виде блок-схемы, в которой имеются различные действия,проверки условий и переходы на метки.4. Данные: алгебраические спецификации абстрактных типов данных;Абстрактный тип данных определяется как сигнатура (т.е.

набор литералов инабор операторов), а также набор алгебраических аксиом, которым должныудовлетворять операторы. Помимо алгебраических аксиом, имеетсявозможность определять т.н. процедурные операторы. Дополнительно, имеетсянабор предопределенных типов данных. Для работы с данными имеетсявозможность определять локальные переменные в процессах и процедурах;5. Структурные типы – обобщение структурных единицв виде типов,определение объектов на основе типов, описание иерархий типов снаследованием и специализацией;6.2. Графические грамматикиЯзык SDL, как и некоторые другие современные языки спецификаций,использует графическое представление. Графический синтаксис особенно удобен идает интуитивное и прозрачное описание поведения системы.При описании графического синтаксиса возникает проблема формализацииописания пространственных отношений между символами.

Для описанияструктуры линейного текста, порожденного операцией конкатенации, используетсяаппарат (контекстно-свободных) грамматик. В отличие от линейного текста,диаграмма имеет пространственную структуру. Структура диаграммы порождаетсяоперацией размещения графических символов на плоскости. Аналогом операции48конкатенации является связывание графических символов, т.е. соприкосновениедвух графических символов своими границами на плоскости.Для описания графического синтаксиса будем использовать аппаратграфических грамматик. Графическая грамматика состоит из следующих семичастей:1) набор примитивных графических символов;2) описание текстовой лексики для атрибутов примитивных графическихсимволов;3) набор составных графических символов;4) описание атрибутов примитивных графических символов;5) описание составных графических символов;6) описание пространственных связей между графическими символами;7) начальный символ графической грамматики;Части 1) и 2) соответствуют алфавиту терминальных символов в текстовыхграмматиках.

Часть 2) описывает правила построения надписей на диаграмме.Часть 3) соответствует алфавиту нетерминальных символов в текстовыхграмматиках. Условимся заключать нетерминальные символы в угловые скобки< >. Части 4), 5) и 6) графической грамматики соответствуют правилам текстовыхграмматик. Часть 4) описание атрибутов примитивных графических символовиспользуется для привязки текстовых надписей к графическим символам надиаграмме. По определению, атрибут представляет собой обязательный элементнекоторого нетерминального символа. Обычно, атрибут лишен собственнойвнутренней структуры, т.е.

является терминальным символом. Заметим, чторазделение структуры нетерминальных символов на атрибуты и прочие(необязательные) элементы приближает аппарат грамматик к аппарату описанияклассов в объектно-ориентированном подходе. Часть 6) описаниепространственных связей отсутствует в текстовых грамматиках. Часть 7)начальный графический символ соответствует начальному нетерминальномусимволу в текстовых грамматиках.Для описания правил построения составных графических символов будемиспользовать расширенные формы Бэкуса-Наура.Для описания атрибутов графических символов и пространственных связеймежду графическими символами дополнительно расширим формы Бэкуса-Наураследующими ключевыми словами:X is associated with YX contains YX is connected to Yсимвол Y является атрибутом символа XX содержит YX соединен с Y49X is followed by Yсимволы X и Y соприкасаются (обычно боковымиграницами)X предшествует Yспециальный случай соединения символов;X и Y - символы, находящиеся на однойвертикальной оси, причем верхняя граница символаY соприкасается с нижней границей символа X6.3.

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

Список файлов книги

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