Мансуров Н. Н., Майлингова О. Л. - Методы формальной спецификации программ - языки MSC и SDL, страница 6
Описание файла
PDF-файл из архива "Мансуров Н. Н., Майлингова О. Л. - Методы формальной спецификации программ - языки MSC и SDL", который расположен в категории "". Всё это находится в предмете "формальная спецификация и верификация программ" из 9 семестр (1 семестр магистратуры), которые можно найти в файловом архиве МГУ им. Ломоносова. Не смотря на прямую связь этого архива с МГУ им. Ломоносова, его также можно найти и в других разделах. .
Просмотр PDF-файла онлайн
Текст 6 страницы из PDF
Взаимодействие междуобъектами (а также между объектом и окружением системы) осуществляетсятолько при помощи обмена сообщениями.4.1.1. ДиаграммаДиаграмма описывает последовательность событий для некоторогомножества объектов и его окружения. Окружение системы представляетсярамкой диаграммы. Заметим, что иногда (в качестве некоторого соглашения)25окружение системы моделируют при помощи дополнительного объекта сименем ENV (от англ. "environment", т.е. "окружение").Графический синтаксис:<msc diagram> ::=<msc symbol> contains{<msc heading>{<instance area> | <external message area>}*}<msc symbol> ::=<frame symbol><frame symbol> ::=<msc heading> ::=msc <msc name>4.1.2. ОбъектКаждый объект на диаграмме имеет уникальное имя. Дополнительно, длякаждого объекта может быть указано, что он является экземпляромнекоторого типа объектов.Для соотнесения диаграмм взаимодействия с языком SDL имеетсявозможность дальнейшего уточнения типа объекта: различаются типсистемы (ключевое слово system), тип блока (ключевое слово block), типпроцесса (ключевое слово process).
Уточнение типа объекта имеет смыслтолько при соотнесении диаграмм взаимодействия с SDL-спецификациями.Ключевое слово decomposed используется для обозначения того, чтоимеется иерархическая декомпозиция данного объекта (диаграммадекомпозиции), на которой трасса данного объекта представлена какдиаграмма взаимодействия внутренних компонентов объекта.Графический синтаксис:<instance area> ::= <instance head area>is followed by <instance body are><instance head area> ::= <instance head symbol>is associated with <instance heading><instance heading> ::= <instance name>[:<instance kind> ][decomposed]<instance head symbol> ::=<instance name>::= <name><instance kind>::= [ <kind denominator> ] <kind name><kind denominator> ::= system | block | process<kind name>::= <name><instance body area>::= <instance axis symbol>{is followed by <instance event area>is followed by <instance axis symbol> }∗is followed by { <instance end symbol> | <stop symbol> }26<instance axis symbol> ::=<instance event area> ::= <message in area>| <message out area>| <create area>| <timer area>| <concurrent area>| <action area>| <condition area><instance end symbol> ::=Примечания1) Символ заголовка объекта описывает начало нашего наблюдениянад объектом.
Символ заголовка объекта не описывает созданиеобъекта. См. раздел "уничтожение объекта".2) Символ окончания трассы описывает выход объекта из-под нашегонаблюдения. Символ окончания трассы объекта не описываетуничтожения объекта. См. раздел "создание объекта".4.2. События4.2.1. СообщениеСообщение моделирует взаимодействие (т.е. обмен информацией)между двумя объектами системы или между объектом и окружениемсистемы. С точки зрения системы, взаимодействие между двумя объектамиразбивается на два сопряженных события: посылка сообщения однимобъектом и прием сообщения другим объектом.
Сообщения, приходящие изокружения системы, моделируются одним событием приема сообщения, асобытия посылаемые в окружение, моделируются одним событием посылкисообщения.Сообщение имеет имя. Имя сообщения задает тип взаимодействия.Диаграмма может описывать несколько обменов сообщениями с одинаковымименем. Для уникальной идентификации конкретного обмена предусмотрент.н.
уникальный идентификатор обмена (message instance name), однако ониспользуется преимущественно в текстовом представлении для снятиянеоднозначности в описании сопряженных событий у различных объектов. Вграфическом представлении такой проблемы не возникает, так каксопряженные события представляются различными концами одного и тогоже графического объекта (стрелки от трассы одного объекта к трасседругого).27Дополнительно, язык диаграмм взаимодействия позволяет описыватьпередачу информации в сообщении.
С сообщением может быть связан списокпараметров. Каждый параметр моделирует передачу конкретнойинформации от одного объекта к другому.Графический синтаксис:<message out area> ::= <flow line symbol><flow line symbol> ::=<message in area> ::=<message symbol>is associated with <msg identification>is connected to {<message out area>|<msc symbol>|<submsc symbol>}[is followed by <message out area>]<message symbol> ::=<external message area> ::=<message symbol>is associated with <msg identification>is connected to{<message out area>{<msc symbol>|<submsc symbol>}}<msg identification> ::= <message name>[,<message instance name>] [(<parameter list>)]<parameter list> ::= <parameter name>[,<parameter list>]<parameter name> ::= <name><message name> ::= <name><messsage instance name> ::= <name>Дополнительные правила построения диаграмм:Ограничения на взаимодействие:1.
Событие приема сообщения не должно предшествовать сопряженному сним событию посылки сообщения (т.е. граф предшествования долженбыть ациклическим);2. Объект не должен посылать сообщений самому себе;3. Для каждого события посылки сообщения должно быть заданосопряженное с ним событие приема сообщения и наоборот;Если на трассе объекта область приема некоторого сообщениясовпадает с областью посылки другого сообщения (т.е. конец одной стрелкии начало другой находятся в одной точке), то считается, что событие приемасообщения предшествует событию посылки сообщения.28Семантика:1. Взаимодействие задает частичное отношение порядка на множествесобытий всей системы: для данного обмена событие посылки сообщенияодного объекта предшествует сопряженному событию приема сообщениядругого объекта.2.
События с одинаковыми именами задают взаимодействия одного и тогоже типа.3. Семантика параметров сообщения не определяется в языке диаграммвзаимодействия.4.2.2. ДействиеДополнительно к описанию взаимодействия объектов, язык диаграммвзаимодействия позволяет описывать действия, выполняемые объектом(например, как реакция на получение некоторого сообщения).Графический синтаксис:<action area> ::= <action symbol> contains <action text><action symbol> ::=<action text> ::= <text>Семантика:1. Действия локальны по отношению к объекту, который их выполняет.2.
Семантика действия не определяется в рамках диаграмм взаимодействия.3. Действие происходит "мгновенно".4.2.3. Создание объектаЯзык диаграмм взаимодействия позволяет описывать динамическоесоздание одних объектов другими объектами. Очевидно, что объект не можетвзаимодействовать с другими объектами до момента своего создания. Присоздании объекта ему можно передать некоторую информацию в виде спискапараметров.Графический синтаксис:<create area> ::= <createline symbol>[is associated with <parameter list> ]is connected to <instance head symbol><createline symbol> ::=29Дополнительные правила построения диаграмм:На данной диаграмме каждый объект может быть создан единственныйраз (т.е.
к символу заголовка объекта может быть присоединенаединственная линия создания объекта).Семантика:1. Создание объекта разделяется на два события: одно для создающегообъекта и другое для создаваемого объекта;2. Создание объекта задает отношение порядка между событиями двухобъектов: считается, что оба события ("создание" и "рождение")происходят одновременно;3. Создание объекта означает начало его трассы, т.е.
никакие события дляданного объекта не могут происходить до его создания;4. Семантика параметров создания объекта не определяется в языкедиаграмм взаимодействия.4.2.4. Уничтожение объектаУничтожение объекта является обратным событием по отношению ксозданию.Графический синтаксис:<stop symbol> ::= HСемантика:Уничтожение объекта означает окончательное завершение трассы данногообъекта, т.е. никакие события для данного объекта не могут происходитьпосле его уничтожения.4.2.5. ТаймерТаймер является единственным средством задания времени междуотдельными событиями на трассе объекта. Таймер имеет имя и, возможно,длительность.
Каждому таймеру соответствуют два события: установкатаймера и срабатывание таймера. Вместо события срабатывания таймераимеется возможность указать сброс таймера.Имеется аналогия между таймерами в языке диаграмм взаимодействияс таймерами в языке SDL. В SDL таймер может быть установлен наопределенный промежуток времени, после истечения которого таймерсрабатывает и посылает сообщение своему владельцу.
Дополнительно,имеется возможность сбросить установленный таймер.30Графический синтаксис:<timer area>::= <timer set area>|<timer reset area><timeout area><timer set area> ::= <set symbol><set symbol> ::=<timer reset area> ::= <reset symbol>is associated with <timer name>[(<duration name>)]is connected to <timer set area><reset symbol> ::=<timeout area> ::= <timeout symbol>is associated with <timer name>[(<duration name>)]is connected to <timer set area><timeout symbol> ::=<duration name> ::= <name><timer name> ::= <name>Дополнительные правила построения диаграмм:Связь между установкой и срабатыванием таймера:Для каждого символа установки таймера должен быть задан символсрабатывания, либо символ сброса таймера.Семантика:1.