рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

Типы данных и пакеты

Типы данных и пакеты - раздел Образование, АНАЛИТИЧЕСКИЕ И ИМИТАЦИОННЫЕ МОДЕЛИ   Для Моделирования Непрерывных Систем Необходим Минимальный На...

 

Для моделирования непрерывных систем необходим минимальный набор типов данных: скалярный вещественный тип, типы «вектор» и «матрица», а также целые числа для вычисления индексов векторов и матриц. Пакет Simulink, например, обходится вообще без скалярных вещественных переменных, используя вместо них матрицу размерности 1 ´ 1.

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

Для систем со сложной структурой желательно наличие типа «запись» для передачи в компактной форме наборов взаимосвязанных данных между блоками. Для непрерывных моделей, где данные передаются в виде векторов, гораздо удобнее передавать набор {x,y,z,Vx,Vy,Vz}, чем вектор размерности шесть и помнить, что скорость по оси z - это 5-й элемент вектора.

Для моделирования систем со сложными алгоритмами желательно использование алгоритмических (программных) объектов и массивов объектов. Для систем с динамической и регулярной структурой необходимы переменные типа «блок» и массивы блоков. В моделировании актуально использование ограниченных типов (например, type Voltage = Real 0. .240;) и типов с указанием единиц измерения. В UML «тип» трактуется просто как особый класс в Java. В языке Modelica тип считается особым видом класса и используется отношение наследования между типами для ограничения области значений или добавления новых компонентов в записи.

При разработке конкретной модели достаточно следить за тем, чтобы ее компоненты (классы, константы, алгоритмические функции) имели уникальные имена. Задача усложняется, если необходимо использовать уже готовые компоненты, например, библиотеку стандартных блоков или вашу собственную библиотеку типовых для вашей прикладной области блоков. Требование уникальности имен компонентов становится практически невыполнимым. Возникает естественное желание разделить области видимости компонентов.

Для объединения элементов описания в группы ООП предлагает механизм пакетов. Пакет (package) ‑ это контейнер для группы компонентов, ограничивающий область их видимости. Компоненты, объявленные как public, видимы извне под составным именем, включающим в качестве префикса имя пакета, например, Blocks, CGain, где Blocks имя библиотеки стандартных блоков. «Библиотека» в ООМ является практически синонимом термина «пакет». Остальные компоненты видимы только внутри данного пакета. UML рекомендует по умолчанию объявлять компоненты как public. Конкретная модель рассматривается как некоторый анонимный пакет.

В отличие от языков программирования, где компонентами пакета являются только классы, естественными компонентами пакета в ООМ являются также константы и алгоритмические функции. Если язык моделирования включает в себя алгоритмические объекты, т.е. объекты в понимании языков программирования, например, Java-объекты, то в пакете можно объявить класс со статическими конечными (final) переменными и методами. Примером может служить класс Math в пакете java.langi, где, например, имеются статическая переменная PI и статическая функция sin. В противном случае константы и алгоритмические функции придется считать равноправными компонентами пакета.

Для того чтобы в одном пакете был виден другой, его нужно импортировать, т.е. указать явным образом на его использование. Следует учитывать, что отношение импортирования не является транзитивным, т.е. если пакет Р2 импортирует пакет P1, а P3 импортирует Р2, то это вовсе не означает, что P3 импортирует P1. Импортирование пакета означает, что его имя становится видимым в импортирующем пакете или модели. Следует отметить, что импорт собственно пакета в языке Java не требуется, поскольку используется понятие корневой точки CLASSPATH и соглашение о соответствии иерархии пакетов иерархии каталогов файловой системы. Поэтому все пакеты, определенные ниже указанной точки, автоматически становятся видимыми. Если же такого рода соглашения не используются, то импорт пакета нужно явно декларировать.

packagemodel {

import Blocks; //объявление импорта 1

import Blocks.СGain; //объявление импорта 2

import Blocks.*; //объявление импорта 3

import LinearBlocks./; //объявление импорта 4

…..

Blocks.CGain Amp = new Blocks.CGain (K=2); // оператор 1

CGain Amp = new CGain (K=2); // оператор 2

LinearBlocks.CGain Amp2 = new LinearBlocks.CGain (K=100; // оператор 3

……

};

Таким образом, если в пакете или модели импортируется пакет (объявление импорта 1 в примере), то экспортируемые компоненты этого пакета доступны через префикс пакета (оператор 1 в примере). Если импортируется конкретный компонент (объявление импорта 2) или импортируются все компоненты пакета (объявление импорта 3), то компонент доступен по своему имени без префикса пакета (оператор 2). Если в данном пакете или модели определен свой компонент с таким же именем, например блок CGain, то он скрывает импортируемый компонент. Если компонент с одним и тем же именем определен более чем в одном импортируемом пакете, например, блок CGain определен в пакете Blocks (объявление импорта 1) и в пакете LinearBlocks (объявление импорта 4), то возникает конфликт имен и к нужному компоненту придется обращаться через префикс соответствующего пакета (операторы 1 и 4).

В качестве компонента пакета может выступать другой пакет. Например, если пакет Sources вложен в пакет Blocks, то обращаться извне к генератору синусоиды нужно как Blocks.Sources.CSineGenerator. Относительно видимости компонентов пакета во вложенных пакетах имеется два решения:

- в Java и Modelica все компоненты охватывающего пакета видны во вложенном пакете.

- в Java и пакетах Modelica со статусом encapsulated в пакете видимы только собственные и явно импортируемые компоненты.

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

 


– Конец работы –

Эта тема принадлежит разделу:

АНАЛИТИЧЕСКИЕ И ИМИТАЦИОННЫЕ МОДЕЛИ

ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ... Технологический институт... Федерального государственного образовательного учреждения высшего профессионального образования...

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Типы данных и пакеты

Что будем делать с полученным материалом:

Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Все темы данного раздела:

СТОХАСТИЧЕСКИЕ МОДЕЛИ
ОБЪЕКТОВ………………………………………..……. 46 3.1. Математические модели случайных процессов..… 46 3.2. Классификация моделей случайных процессов..… 53 3.3. Модели мар

МОДЕЛИ СИСТЕМ
МАССОВОГО ОБСЛУЖИВАНИЯ……..…………... 147 7.1. Общие сведения…..………………………………..... 147 7.2. Модель входного потока заявок и времени обслуживания…..…………………….……

УНИФИЦИРОВАННЫЙ
ЯЗЫК МОДЕЛИРОВАНИЯ UML…………..………. 229 9.1. Основные компоненты…………..…………………. 229 9.2. Понятия и компоненты…………..…………………. 231 9.3. Диаграммы вариантов испо

Понятие модели
  1.1.1. Системный подход к моделированию. При проектировании автоматизированных систем управления, разработке прикладных программных продуктов важно правильно постав

Концепции определения моделей
Под динамической системой понимается объект, находящийся в каждый момент времени tÎT в одном из возможных состояний

Инерционные модели
Динамические системы с последействием (с предысторией) могут быть формализованы с применением дифференциальных уравнений с запаздывающим аргументом. 2.3.1. Дифференциальные уравнен

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

Конечные автоматы
Для моделирования динамических систем, функционирующих в дискретном времени, применяется аппарат конечных автоматов [7]. Теория конечных автоматов и их модели используются при синтезе и анализе выч

СТОХАСТИЧЕСКИЕ МОДЕЛИ ОБЪЕКТОВ
  3.1. Математические модели случайных процессов При проведении научных исследований в производстве и в быту часто встречаются события, которые многократно появляются при одн

Понятие статистического моделирования
При определении методов статистического моделирования применяют название «метод Монте-Карло». Определение, которое характеризует этот метод достаточно точно и полно, не существует. Известно, что эт

Датчики случайных чисел
Для имитации случайных событий необходим некоторый эталон, т.е. то, с чем можно что-то сравнить. Известно, что наука существует там, где есть измерения. Отсутствие измерений приводит к схоластике,

Проверочные тесты
Программная реализация датчика псевдослучайных, квазиравномерно распределенных чисел может быть получена любым программистом на основе разработанного им алгоритма с применением либо аналитических м

Имитация случайных событий
  Пусть события S1, S2,..., Smобразуют полную группу несовместимых событий, каждое из которых может произойти с вероятностью Рi, причем

Имитация непрерывных случайных величин
Если событие Х принимает значения в некоторой области непрерывных величин, то для аналитического моделирования непрерывных событий применяют функцию распределения вероятностей

Имитация марковского процесса
4.6.1. Моделирование дискретной цепи Маркова. Рассмотрим дискретную цепь Маркова или марковский процесс с дискретным временем перехода из одного состояния в другое. Математическая

Выбор числа опытов
При разработке имитационных моделей для исследования случайных объектов существует задача выбора числа опытов (объема выборки). Это непростая задача, т.к. во-первых, необходимо обосновать достоверн

Формулы и алгоритмы для оценки результатов моделирования
  При реализации моделирующего алгоритма на ЭВМ вырабатывается информация о состоянии моделируемых систем, которая представляет собой исходный материал для определения приближенных ис

Аналитическое определение вероятностных автоматов
6.1.1. Формальное задание и классификация. Вероятностные автоматы (ВА) относятся к дискретно-стохастическому классу моделей. Данный тип моделей служит инструментом изучения динамич

Имитационное моделирование вероятностных автоматов
  Для имитации процесса функционирования ВА необходимо задать: - такты моделирования T, а также цикл по тактам моделирования от нуля до заданного числа такто

Модель входного потока заявок и времени обслуживания
Входной поток заявок характеризуется начальным моментом времени t0, моментами времени ti поступления i-х заявок, случайными

Модель Эрланга
При моделировании СМО исследуется изменение в системе за сколь угодно малый отрезок времени. Составляются уравнения в частных приращениях, от которых затем осуществляется переход к дифференциальным

Исследование модели пуассоновского процесса с помощью производящих функций
Будем считать, что на вход СМО поступает пуассоновский поток заявок с интенсивностью l и вероятностью Рn(t) того, что за время t в СМО

Имитационное моделирование одноканальной СМО
Алгоритмизация может осуществляться с применением способа Dt-моделирования, который позволяет определить состояния СМО через интервал времени Dt.

Имитационные модели многофазных СМО
Пусть СМО имеет структуру, показанную на рис. 7.18, т.е. обслуживание состоит из двух фаз. Входной поток заявок задан функцией распределения вероятностей длин интервалов между заявками A(t)

Имитационные модели многоканальных СМО
  7.8.1. Модели систем с общей очередью.Рассмотрим задачу построения имитационной модели трехканальной СМО с общей очередью. Понятие общей очереди предусматривает, чт

Алгоритмизация имитационной модели СМО произвольной структуры
  Методика построения имитационной модели СМО сложной структуры сводится к разработке модульной структуры алгоритмической модели. Структуру СМО необходимо декомпозировать на отдельные

Моделиpующие алгоpитмы
  Для моделиpования любого объекта, заданного пpи помощи математичеcкой модели, а также в виде последовательности процедур, имитирующих отдельные элементарные процессы, необxодимо поc

Основные компоненты
  После многх попыток создания унифицированных языков для решения задач моделирования был разработан и опробован объектно-ориентированный подход. Первый язык Simula-67, основанный на

Понятия и компоненты
  Сущности представляются парами «тип, экземпляр». Таких пар несколько: «класс, объект», «ассоциация, связь», «параметр, значение», «операция, вызов процедуры». Для изображения элемен

Array, Real, Vektor, Matrix.
Описание типа зависит от того, какой язык программирования используется разработчиками. Атрибуг изображается в виде текстовой строки, отражающей различные его свойства: <признак

Масса машины
… У каждой секции прямоугольника класса может быть имя. Так как секция «имя класса» обязательна, то ее имя не указывается, как показано на рис. 9.6.  

Связи между объектами
  Аналогично ключевому понятию модели классов - понятию ассоциации, - для объектов существует понятие связи (link). Связь есть экземпляр ассоциации, установленной для объектов данных

Диаграммы взаимодействия
Взаимодействия между объектами в системе представляются диаграммами взаимодействия (interaction diagrams). Диаграммы взаимодействия подразделяются на два основных типа диаграмм: диаграммы последова

Диаграммы состояний
  Диаграммы состояний (state diagram) определяют состояния, в которых может находиться конкретный объект, а также процесс смены состояний объекта в результате влияния некоторых событи

Диаграммы деятельностей
Диаграммы деятельностей (aktivity diagrams) предназначены для того, чтобы отразить переходы в рамках выполнения определенной задачи, вызванные внутренними процессами. Используются для моделирования

Определение объекта
  Объектно-ориентированный подход в последнее время стал прочно ассоциироваться с программированием. Объектно-ориентированный подход развивался почти исключительно программистами. Ито

Behavior
domain; }/*GGenerator*/     Рис. 10.3

Наследование
  Наследование в ООМ понимается примерно так же, как и в ООП. Если объявляете класс с2 прямым потомком класса с1, то класс с2 наслед

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

Equation
Z= X/K; endCMulGiv; Новый класс CMulGiv наследует от своего суперкласса CGain вход, выход, параметр и одно уравнение, а также добавляет один выхо

Equation
Y = if X>Xmax then UpperLimit else if X<Xmin then LowerLimit else K*X;

Equation
connect(Gem.Y,Amp.X); connect(Gem.Y,Y); endCSineSource; Далее нужно создать специальный класс CLimitedSineSource на основе СSineSource, переопределив пар

БИБЛИОГРАФИЧЕСКИЙ СПИСОК
1. Советов Б.Я., Яковлев С.А. «Моделирование систем». – М.: Высш. школа, 1985 – 271 с. 2. Бусленко Н.П. Моделирование сложных систем. – М.: Наука,1978. – 400 с. 3. Финаев В.И. Мод

Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • Популярное
  • Облако тегов
  • Здесь
  • Временно
  • Пусто
Теги