Мансуров Н. Н., Майлингова О. Л. - Методы формальной спецификации программ - языки MSC и SDL, страница 8
Описание файла
PDF-файл из архива "Мансуров Н. Н., Майлингова О. Л. - Методы формальной спецификации программ - языки MSC и SDL", который расположен в категории "". Всё это находится в предмете "формальная спецификация и верификация программ" из 9 семестр (1 семестр магистратуры), которые можно найти в файловом архиве МГУ им. Ломоносова. Не смотря на прямую связь этого архива с МГУ им. Ломоносова, его также можно найти и в других разделах. .
Просмотр PDF-файла онлайн
Текст 8 страницы из PDF
Заметим, чтоповедение, описываемое альтернативной композицией нескольких диаграммнельзя, вообще говоря, описать единственной диаграммой без состояний.Циклическая композицияПо определению, циклической композицией называется такаяорганизация набора диаграмм, когда завершающие состояния однойдиаграммы (MSC2) совпадают с начальными состояниями другой диаграммы(MSC1), причем MSC2 является продолжением диаграммы MSC1 (возможно сучастием других диаграмм).Частным случаем циклической композиции является одна диаграмма,которая имеет одинаковые начальные и завершающие состояния.Циклическая композиция описывает поведение, состоящее изповторяющейся последовательности событий.
Заметим, что поведение,описываемое циклической композицией нескольких диаграмм, допускаетбесконечное множество конечных последовательностей событий. Такоеповедение не может быть описано единственной диаграммой без состояний.Параллельная композицияПо определению, параллельной композицией называется такаяорганизация диаграмм, когда события одной диаграммы (без измененияпоследовательности) могут произвольным образом перемешиваться ссобытиями другой диаграммы.Параллельная композиция является очень мощным средством описаниясложного поведения. Очевидно, что поведение, описываемое параллельнойкомпозицией диаграмм нельзя, вообще говоря, описать единственнойдиаграммой.
Параллельная композиция диаграмм не выразима средствамистандарта языка диаграмм взаимодействия 1992 г. (но имеется в стандарте1996 г.).4.4.5. Иерархическая декомпозиция объектовВзаимодействие компонентов составного объекта может быть описаноотдельно на дополнительной диаграмме (т.н. диаграмме декомпозиции).Данное средство поддерживает иерархию описаний поведения сложнойсистемы. Диаграмма декомпозиции отличается от родительской диаграммы39взаимодействия только использованием ключевого слова submsc. Диаграммадекомпозиции связана с родительской диаграммой, на которойсоответствующий объект содержит ключевое слово decomposed (именаобъекта с ключевым словом decomposed на родительской диаграмме и имядиаграммы декомпозиции должны совпадать).Заметим, что правила связывания объекта с диаграммой декомпозицииприводит к неоднозначности при наличии одноименных объектов сключевым словом decomposed на нескольких диаграммах.
Считается, чтодополнительная привязка может осуществляться инструментальнымсредством поддержки.Для снятия неоднозначности привязки диаграммы декомпозиции ксоответствующей основной диаграмме договоримся на каждой диаграммедекомпозиции обязательно указывать имя основной диаграммы. Для этогобудем использовать комментарий при заголовке диаграммы декомпозиции соследующим текстом:/* from <parent diagram name> */,где <parent diagram name> есть имя родительскойсоответствующим ключевым словом msc или submsc).диаграммы(сГрафический синтаксис:<submsc diagram>::=<submsc symbol>contains {<submsc heading> {<instance area>|<external message area>}*}<submsc symbol> ::= <frame symbol><submsc heading> ::= submsc <submsc name><submsc name> ::= <name>В соответствии с дополнительным соглашением:<submsc heading> ::= submsc <submsc name>/* from <parent diagram name> */<parent diagram name> ::= msc <msc name> | submsc <submsc name>Дополнительные правила построения диаграмм:Связь объекта с ключевым словом decomposed и соответствующейдиаграммой декомпозиции:1.
Для каждого объекта, заголовок которого содержит ключевое слово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.