Разработка моделей повышения производительности компьютерных сетей на основе стохастических методов
Анализ методов и программных средств повышения производительности коммуникационных сетей. Имитационное моделирование производительности компьютерных сетевых систем. Комплекс визуального объектно–ориентированного программирования C++Builder v5.0.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | диссертация |
Язык | русский |
Дата добавления | 24.05.2018 |
Размер файла | 868,6 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
где . Представим , обозначают вероятность "нахождения" в состоянии j в момент времени n. Кроме того, условная вероятность определяется как , то есть вероятность перехода от состояния j во время m., к состоянию k. Вероятности перехода зависят только от разницы во времени n-m. Поэтому они обозначаются как . Эти вероятности называются вероятностями перехода n-го шага. Вероятности перехода шага 1 обозначается (индекс 1 опущен). Вероятности 0 шага определены как всякий раз, когда j = k и 0 в других случаях. Начальное распределение, p (0) цепи Маркова определено как p (0) =
Рис. 1: Диаграмма перехода состояний для DTMC.
Многократным применением правил на условных вероятностях, может легко быть получено
Это подразумевает, что цепь Маркова полностью описана начальными вероятностями и вероятностями с 1 шагами. Вероятности с 1 шагами легко описываются матрицей вероятностей перехода P. Матрица P - стохастическая матрица, все ее элементы удовлетворяют и для всех i.
DTMC очень удобно представляется как направленный граф с вершинами элементами из I. Направленное ребро с "весом" существует между вершинами i и j когда > 0. Такие представления цепей Маркова часто называются диаграммами перехода состояний. В Рис. 1 представлена диаграмма перехода состояний для DTMC с матрицей.
и начальный вектор вероятности p (0) = (1,0,0).
Теперь вычисляя вероятности перехода с шагом 2 для DTMC с помощью матрицы вероятностей P с шагом 1, имеем:
Переход из состояния i, в состояние j в двух шагах, через любое промежуточное состояние . Теперь, из правил условных вероятностей также из свойств цепей Маркова, можно написать:
В последнем уравнении присутствует матричное произведение. Вероятности с шагами 2 т.е. являются элементами матрицы P2. Вышеупомянутая техника может применяться итеративно для шага n. Вероятности данного шага элементы матрицы Pn. Для идентичности, матрицу I, можно написать I=P0. Уравнение
известно как уравнение Чапмана-Колмогорова.
Когда же нужно вычислить , можно делать так, просто, обусловливая, что начальная вероятность, то есть . Записав это в векторном/матричном виде, получим
и
Большинство, но определенно не все DTMC, имеют все строки в Рn, и сходятся к общему пределу, при , следовательно:
Учитывая это, получается:
Но, также получается:
Всякий раз, когда вероятности ограничения v существуют, они могут быть получены решением систему линейных уравнений v=vP , так как v - вектор вероятности, и . Уравнение v=vP не имеет полный ранг. Чтобы получить уникальное решение, мы должны использовать факт, что v является вектором вероятности, то есть сумма его элементы должна равняться к 1.
Вектор часто называется постоянным вектором вероятности или устойчивым распределением состояний цепи Маркова. Для цепей Маркова существует уникальное распределение ограничения, которое является независимым от начальных вероятностей состояний.
Цепи Маркова с непрерывным временем. Рассматривая теорию цепей Маркова с непрерывным временем (CTMCs), принимается без потери общности, что I = {0,1,2, - ·} и что T = [0, ]. Для CTMCs общее свойство цепей Маркова должна иметь силу. Это означает, что:
Важно обратить внимание на то, что следующее состояние только зависит от текущего состояния и не зависит от времени, когда цепь находится в текущем состоянии. Действительно, как может показаться, резидентное время (время нахождения в очереди и время обслуживания) в CTMCs распределено по экспоненте.
Таким же образом, как DTMC полностью описывается матрицей P и начальными вероятностями p (0), CTMC описан бесконечной генерирующей матрицей или матрицей , и вероятностью начального состояние p(0). Обозначая систему в момент времени , как , мы имеем
Величина () может интерпретироваться как показатель, который характеризирует как текущее состояние переходит в состояние j. Обозначив через вероятность того, что в момент времени t система находиться в состоянии , т.е. . С заданием , появляется заинтересованность в развитии цепи Маркова в будущем, то есть:
Теперь, определяем, что и получается, что
Преобразовав это и разделив на и взяв предел получается
Который в матричной форме имеет следующий вид:
где .
Получив эту линейную систему дифференциальных уравнений, можно решить это, используя начальное распределение вероятности и получая:
В многих случаях нет заинтересованности в этих, так называемых, переходных поведениях процесса Маркова. Вообще, вполне достаточно получить вероятности устойчивых состояний. Когда предполагается, что устойчивое распределение существует, это подразумевает, что вышеупомянутый предел существует, и таким образом что . Следовательно, чтобы получать вероятности устойчивых состояний нужно решить систему линейных уравнений:
Правая часть добавлена, чтобы утверждать, что полученное решение - действительно вектор вероятности. Левая часть один имеет бесконечно много решений, который после нормализации они представляют тот же самый вектор вероятностей.
Рис.2: Пример CTMC c 2-состояниями
В практических ситуациях, любое из уравнений системы pQ = 0 может быть заменено уравнением , чтобы получить уникальное решение.
Также, как было возможно для DTMC, CTMC может очень удобно быть изображен в соответствии с диаграммами перехода состояний. Снова, эти диаграммы перехода - графы, вершины которых совпадают с состояниями CTMC. Ребро между вершинами l и j существует всякий раз, когда . Грани в графе маркированы соответствующими нормами (интенсивностями).
2.2 Общие стохастические модели M|G|1
Рассмотрим единственную станцию обслуживания очереди сервером с неограниченной буферной способностью (вместимостью) и неограниченным потоком заявок (популяцией клиентов, пачек). Пачки, достигающие станции обслуживания очереди формируют процесс Пуассона с нормой . Требование обслуживания пачки - случайная переменная S, распределенное согласно функции распределения B (s), то есть. . S имеет ожидание E [S] (начальный момент) и второй момент .
Снова мы используем примечание E [N] для среднего числа пачек в системе обслуживания очереди, для среднего номера (числа) клиентов в очереди, и для среднего числа клиентов в сервере. При применении закона Литтла для сервера мы имеем: . Происхождение более сложно. Доказательства этих соотношений приводиться в следующих секциях.
Для среднего числа пачек в очереди M|G|1 станции обслуживания очереди, имеем следующее выражение:
При применении закона Литтла, мы имеем
Эти два уравнения только представляют часть очереди станции обслуживания очереди. Включением сервера, получают следующие выражения:
Результат M|G|1 представлен главным образом в одной из четырех формул выше. Формула (25) часто упоминается как формула Поллачека-Хинчина (ПХ).
Рассмотрев ПХ - формулы видно, что E [N] зависит от первого и второго момента распределения времени обслуживания. Что это подразумевает? С тех пор с первых двух моментов распределения, его разница может быть получена, то есть , видно, что более высокая разница подразумевает более высокое среднее число пачек в системе. С точки зрения обслуживания очереди, не имеющей никакой разницы является оптимальной. Отсутствие разницы означает, что это детерминированные распределения, то есть, что случайности нет вообще. Это общий "закон": чем большее разница (случайность) существует в системе, тем хуже производительность системы. С худшим выполнением работы сервером мы, конечно, подразумеваем более длинные очереди, более длительное время ожидания и т.д.
M|G|1 модели с прибытием партии пачек. Во многих системах связи, пачки не прибывают индивидуально. Во многих системах, пачки, которые должны быть переданы, прибывают от более высокого уровня, в котором ориентируемая на пользователя пачка была раздроблена на множество минипачек, которые соответствуют размеру пачки, используемому на более низких уровнях в стеке потока. Как пример, можно рассмотреть пользователя, который хочет передать файл по некоторой среде передачи данных. Файл не будет вообще иметь размер, который может непосредственно быть передан; это будет должен быть сцепленные пачки допустимого размера. Таким образом, когда пользователь посылает файл, объекты протокола преобразуют это в множество минипачек, которые должны быть переданы. Реферируя из протокола, обрабатывающего время, видно это в момент передачи файла, что фактически множество минипачек должно быть передано на более низком уровне.
Можно моделировать этот вид систем, принимая так называемую партию или взрывное прибытие. Предполагаем, что имеется Пуассоновский процесс прибытия партий минипачек с интенсивностью . Прибывающая партия состоит случайное количество H минипачек, характеризующихся дискретными вероятностями , k = 1,2, · · ·. Ожидаемое число минипачек в партии
И второй факториальный момент равняется
Каждая мини пачка требует случайного количества обслуживания S с первым и вторым моментом E [S] и E [S2] соответственно. Ясно, что . Без доказательства, определяется среднее время ожидания E[W] минипачки:
Первое слагаемое действительно среднее время ожидания минипачек в нормальной модели M|G|l, как будто пачки прибыли со средним размером E [H] E [S] и вторым моментом E [H] E [S2]. Второе слагаемое составляет некоторое дополнительное время ожидания, что пачки, которые - не одиночные, а в партии.
Модель M|G|1 с прибытием партиями часто обозначается как M[H] |G|1, где [H] обозначает распределение размера партии.
M|G|1 модели с приоритетами. Важный аспект стратегий приоритета заключается в том, есть ли они или нет. С приоритетными стратегиями приоритета пачка в обслуживании будет остановлена обслуживаемым сервером, как только прибудет пачка с более высоким приоритетом. В том случае, сначала обслуживается она, а после обслуживание пачки с более низким приоритетом, которая была в обслуживании первоначально, будет возобновлено. С неприоритетными стратегиями приоритета, пачка в обслуживании всегда сначала заканчивается прежде, чем новая пачка будет помещена в обслуживание. Неприоритетные стратегии приоритета только берут пачки из очереди. Однако, неприоритетные стратегии происходят более часто.
Рассмотрим модель с единственным сервером, в которой прибывающие пачки могут классифицироваться по P категориями или классам приоритета, и перечисляются 1 через P. Предположим, что класс 1 имеет самый высокий и класс P самый низкий приоритет.
Пачки класса r = 1, · · ·, P прибывают в станцию обслуживания очереди согласно процессу Пуассона с нормой. Среднее требование обслуживания для класса r пачек - второй момент обслуживания для класса r, пачки -. В Рис.3. показана модель M|G|1 с многократными приоритетами.
Получим отношение между средним временем ожидания класса r пачек и средним временем ожидания пачек более высоких классов приоритета, т. е. классов 1, · · ·, r -1.
Пачка класса r , прибывающая на станцию обслуживания очереди должна ждать прежде, чем будут обслужены пачки более высоких приоритетов. Это время ожидания состоит из трех компонентов:
· сохранение обслуживания любой пачки находящейся в обслуживании;
· периода, необходимого, чтобы служить, все пачки приоритета класса k = 1, · · ·, r, то есть всех выше и равных приоритетов пачек, которые присутствуют в системе во время по прибытию пачки класса r;
· времени обслуживания пачек более высоких классов приоритета, то есть пачек классов (занятий) k - 1, · · ·, r - 1, которые прибывают в течение ожидаемого периода пачки класса r.
Рис. 2.3: M|G 1 модель с P классами приоритета
В форме уравнения, мы имеем:
где - время ожидания пачек класса r , время обслуживания сохранения пачки в обслуживании, время необходимое для обслуживания всего класс k клиентов, которые присутствуют во время прибытия класса r клиента, и время, которое необходимо, чтобы обслужить весь класс k клиентов, которые прибывают в течение . При вычислений ожиданий с обеих сторон получаем:
Получим выражения для трех сроков времени в правой стороне этого уравнения.
Время обслуживания пачек, находящихся в обслуживании явно зависит от класса пачки, которая находится в обслуживании. Пачка класса r находится в обслуживании с вероятностью, где = , утилизация , вызванное классом r пачки. Сохранение, необходимого времени обслуживания класса r пачка равняется. В итоге получается:
Величина явно зависит от числа пачек в каждого класса в станции обслуживания очереди по прибытию нового класса r пачки. Из свойства PASTA и закона Литтла известно, что в среднем есть пачек класса k, прибывающих в очередь. Так как, они требуют в среднем количества времени обслуживания каждой пачки, мы имеем .
Наконец, нужно вычислить . В течение единицы времени пачка класса r а должна ждать, в среднем пачки прибывают, каждое требование времени обслуживания. Таким образом, мы имеем . Подставляя эти результаты в уравнении (33), получается:
Обеспечение всего и определяющий , дает:
Таким образом, установлено отношение, которое выражает в терминах . В случае, когда r = 1, получается:
Для случая r = 2:
При продолжении этого процесса получается следующее отношение:
2.3 Имитационное моделирование производительности компьютерных сетей
Идея имитационного моделирования. Пусть необходимо получить область под кривой из до . Через А обозначается результат вычисления, который будет получен. Получение этой области - простая проблема, которая может легко быть решена аналитически:
Ясно, в этом случае, расчетная величина, точно та же самая как реальное значение А. Рассматривая проблему, несколько более сложную, можно излагать тот же самый вопрос когда. Теперь уже нельзя решить проблему аналитически. Однако, можно обратиться к числовым методам типа правила трапеций. Можно разбивать интервал [0,1] в n последовательныe интервалы [], [] , · · ·, []. Область под кривой тогда равняется
Делая, интервалы достаточно маленькими в желании приближается с любым уровнем желательной точности. Этот пример показывает числовую технику решения.
Возможно, несколько неожиданно, но можно также получить результаты посредством стохастического моделирования. От простого анализа известно, что всякий раз, когда функция . Теперь, берется два случайных образца и от однородного распределения на [0,1]. Можно интерпретировать это как выбор случайной точки в квадрате площади . Когда берется N таких пар образцов, Через n обозначается число типовых пар, для которых неравенство дает, то есть с . Следовательно, как n - число случайных точек той области ниже кривой , фракция дает оценку для области .
Это может быть замечено следующим образом. Всякий раз, когда выполняется упомянутое неравенство, случайные типовые пары под кривой . При взятии достаточно типовых пар, фракция будет сходиться к .
Пробуя получить , посредством моделирования Монте-Карло, мы должны держать след полученных результатов. Начиная с А получено, поскольку функция случайных переменных, реализация случайной переменной X. Мы предполагаем, что X и. От моделирования можно также получить величину для разницы X, то есть.
Применяя неравенство Чебышева:
При переписывании этого уравнения, при замене для , и при взятии получается
Это уравнение сообщает, что с вероятностью, по крайней мере оценок является ближе к реальной величине тогда. При выборе относительно большой, то есть 0.90 или 0.95, можно быть весьма уверены о правильности оценки A.
Рис.4: Классификация моделирования
Важно обратить внимание на то, что в случае, если есть аналитическое решение, доступное для специфической проблемы, это аналитическое решение дает гораздо большее количество понимания в поведении, чем числовые ответы, которые получены моделированием или числовыми средствами. Числовые величины, полученные моделированием или числовыми средствами, только дают информацию о решении проблемы, и по диапазону возможных решений, и при этом они не дают понимание в чувствительности ответа на изменения (замены) в один или большее количество параметров системы. Однако есть много случаев, когда моделирование - единственное жизнеспособная альтернатива.
Классификация моделирования. Моделирование имеет различные виды. В этой секции проводится классификация моделирования согласно двум критериям, являющимся их пространством и их развитием во времени.
В непрерывных случаях моделирования, изучены системы, в которых состояние непрерывно изменяется со временем. Как правило, эти системы - физические процессы, которые могут быть описаны системами дифференциальных уравнений с начальными или граничными условиями.
Числовое решение такой системы дифференциальных уравнений иногда называется моделированием. В физическом времени систем обычно - непрерывный параметр, хотя можно также наблюдать системы только в предопределенных случаях времени, выдавая дискретный параметр времени.
Большее количество соответствующего нашим целям - дискретные моделирования случая. В дискретном моделировании случая состояние системы, которую мы моделируем, представлено одной или более переменными. Снова можно или рассматривать время как непрерывный или как дискретный параметр. В зависимости от применения под рукой, один из этих двух могут быть более или менее подходящий.
Дискретное моделирование случая. Перед анализом детали дискретного моделирования случая сначала нужно определить некоторую терминологию. Моделирование времени - значение параметра "время", которое используется в программе моделирования, то есть величина времени, которое бы имело силу в реальной системе.
Время выполнения - время, которое рассматривается как время исполнения программы моделирования.
В дискретной системе случая, состояние изменяется во времени. Причина переменного изменения состояния называется случаем. Очень часто изменения состояний также называются событиями. Эта терминология практически не запутывает. Так как предполагается, что события происходят по очереди, можно говорить о дискретном моделировании случая.
Концепция событий - очень важна. Это - фактически рассмотрение событий и их относительного времени, чем мы заинтересованы, потому что точно это описывает выполнение работы системы. В программе моделирования будут имитироваться все события также как и случаи их возникновения. Храня администрацию всех этих событий и их времен, возможно получить различные меры типа среднего времени меж случая или среднего времени между определенными парами событий и т.д.
Можно отличать два основных пути, которыми дискретное моделирование случая может быть осуществлено: моделирования на основе времени и моделирование на основе случая.
В моделировании на основе времени (также часто называется установленным моделированием приращения времени или синхронным моделированием) главным является, что моделирование управляет продвижением времени в постоянных шагов. В начале этого управления образовывают интервалы . Тогда важно случились ли любые события в интервале времени . Если так, эти события будут выполнены, то есть состояние будет изменено согласно этим событиям, перед следующим циклом. Принимается, что события в пределах интервала не имеют важность, и что эти события являются независимыми. Число событий, которые случились в интервале , может изменяться время от времени. Когда t увеличивается выше некоторого максимального времени моделирования, остановок программы.
Моделирование на основе времени легко осуществить. Выполнение близко напоминает выполнение, например, метода Эйлера решения дифференциальных уравнений. Однако, есть также некоторые недостатки. Оба предположение, что происхождение событий в пределах интервала - не важны и предположение, что эти события являются независимыми, требуют, чтобы были достаточно маленькими, чтобы минимизировать возникновение взаимно зависимых событий. Очень часто, однако, по этим причинам надо брать настолько маленьким, что рассматриваемое моделирование становится очень неэффективным. Много шагов времени должны быть сделаны для любого случая, встречающегося вообще. По этим причинам моделированием на основе времени не часто пользуются.
Было моделирование на основе времени в установленные шаги времени, но число событий в шаге времени на основе случая (также часто такое моделирование называется переменным моделированием приращения времени или асинхронным моделированием). Тогда имеем дело с изменяющимися шагами времени, но есть всегда точно один случай в шаге времени. Так что моделирование управляется возникновением "следующих событий". Это очень эффективно, так как шаги времени - теперь только достаточно велики, чтобы продолжить оптимальное моделирование и только достаточно коротки, чтобы исключить возможность наличия больше чем один случай в шаге времени, таким образом, обходящий возможность наличия зависимых событий в одном шаге времени.
Всякий раз, когда происходит случай, это провоцирует новые события в будущем. Например, прибытие пачки в очереди. Это случай, который заставляет состояние системы изменяться. Все будущие события вообще собираются в списке случая. Начало этого списка - следующий случай, который может произойти. Хвост этого списка содержит будущие события, в их порядок возникновения. Всякий раз, когда первый случай моделируется обработанным, это принято от списка. В моделировании этого случая, могут быть созданы новые события. Эти новые события вставлены в список случая в соответствующих местах. В Рис.5. мы показана диаграмма потока действий, которые будут выполнены.
Рис.5.: Действия в моделировании на основе времени
Выбрав для подхода на основе случая к моделированию, можно все еще иметь различные формы выполнения. Выполнение может или ориентироваться на случай или ориентироваться на процесс. Прежнее выполнение может быть сделано с любым императивом, программирующим язык. Для последнего варианта, определение процессов, которые являются псевдопараллельными, необходимо.
С ориентируемым на случай выполнением есть процедура определенный для каждого типа случая , который может происходить. В имитации список случая считается определенным. После того, как инициализация этого случая вносит в список главные запуски петли управления. Первый случай принят от списка (обычно этот случай будет представлен головой список). Время моделирования увеличено к значению, в которое "текущий" случай произошел. Тогда, если этот случай имеет тип , процедура вызывается. В этой процедуре глобальное состояние изменено согласно возникновению случая, , и новые события произведены и вставлены в список в соответствующих местах. После того, как процедура заканчивается "измерения" могут быть собраны, и затем, если некоторый критерий остановки еще не выполнен, главная петля управления продолжается с обработкой нового первого случая. После главных концов петли управления, статистика рассчитана и выпуск в подходящей форме.
Однако также может быть выбрана другая точка зрения. Можно связываться с каждым случаем, связывается процесс, и рассматривают действие системы как выполнения процессов случая, которые конечно связываются друг с другом. Планирование событий в моделировании тогда становится неявным в планировании процессов случая. Последний случай может быть сделан операционной системой или системой языка времени выполнения. Предпосылка для этого подхода то, что некоторая форма псевдопараллельного программирования поддержана языком выполнения. Типично требуемые запросы - подобно активизируют (обрабатывают) во времени, задержка (времени), и пассивность().
В обоих вариантах выполнения формируется критерий остановки, который может иметь различные формы. Нужно принять во внимание число событий, которые произошли, законченное-ли моделирование или управляли временем или шириной интервалов секретности, которые получены. Конечно, возможно множество комбинаций.
В этой главе рассмотрены стохастические методы моделирования производительности компьютерных сетей. Произведен краткий обзор стохастических процессов. Также рассмотрены общие стохастические модели M|G|1 и их модели с прибытием партии пачек и модели с приоритетами. Рассмотрены также имитационное моделирование производительности компьютерных сетей. Идея имитационного моделирования, классификация моделирования и дискретное моделирование случая.
ГЛАВА 3. СТРУКТУРА ПРОГРАММНОГО КОМПЛЕКСА ПОВЫШЕНИЯ ПРОИЗВОДИТЕЛЬНОСТИ КОМПЬЮТЕРНЫХ СЕТЕЙ
3.1 Архитектура программного комплекса повышения производительности компьютерных сетей на основе стохастических моделей
Принципиальная структура программного комплекса. Данный про-граммный комплекс повышения производительности коммуникационных сетей на основе стохастических моделей представляет собой интегрированную среду, предоставляющую доступ к любому разделу данной магистерской диссертации, а именно:
- общей теоретической информации, посвященной обзору текущей ситуации в сфере оптимизации коммуникационных сетей и их составных элементов;
- подробной технической документации (преимущественно посвященной оптимизации работы серверов коммуникационных сетей), на которой и основывается данная диссертация;
- расчетной части данной работы, включающей в себя 5 разделов по различны тематикам и предоставляющей возможность эмпирическим путем убедиться в том или ином прогнозируемом поведении сети при наборе определенных параметров;
- демонстрационной части программного комплекса, выполненной на основе 2-х и 3-х мерной анимации и дающей наглядное представление об основных принципах той проблемы, которой посвящены ее части;
- подробной теоретической информации, посвященной обзору состояния современных средств разработки программного обеспечения и вспомогательных средств создания и внедрения 2-х и 3-х мерной анимации, которые были использованы при создании рассматриваемого программного комплекса;
- обобщенной информации, раскрывающей принципиальную структуру данного программного комплекса и некоторые его специфические особенности.
Ниже приведена принципиальная схема данного программного комплекса, позволяющая в общих чертах увидеть взаимозависимость модулей и возможность переходов между ними.
3.2 Выбор и обоснование программных средств для реализации программного комплекса повышения производительностикомпьютерных сетей на основе стохастических моделей
Комплекс визуального объектно-ориентированного программирования C++Builder v5.0
Общие характеристики и особенности применения. Новейшая система объектно-ориентированного программирования C++ Builder производства корпорации Borland предназначена для операционных систем Windows NT. Интегрированная среда C++ Builder обеспечивает скорость визуальной разработки, продуктивность повторно используемых компонент в сочетании с мощью языковых средств C++, усовершенствованными инструментами и разномасштабными средствами доступа к базам данных.
C++ Builder может быть использован везде, где требуется дополнить существующие приложения расширенным стандартом языка C++, повысить быстродействие и придать пользовательскому интерфейсу качества профессионального уровня.
Рассмотрим отличительные характеристики, которые выдвигают Borland C++ Builder на авангардные позиции систем объектно-ориентированного программирования для быстрой разработки современного математического обеспечения персональных компьютеров. Borland C++ Builder выпускается в трех вариантах: Standard, Professional и Client/Server Suite.
Характеристики |
Standard |
Professional |
Client/Server Suite |
|
Язык C++ с поддержкой расширений стандартов ANSI/ISO |
V |
V |
V |
|
Высокопроизводительный 32-разрядный оптимизирующий компилятор |
V |
V |
V |
|
Быстрый инкрементальный компоновщик приложений |
V |
V |
V |
|
Интегрированная среда разработки IDE |
V |
V |
V |
|
Механизмы двунаправленной разработки |
V |
V |
V |
|
Интегрированный отладчик CPU View и инструменты командной строки |
V |
V |
V |
|
Создание библиотек DLL, LIB и исполняемых программных файлов ЕХЕ |
V |
V |
^ |
|
Полный комплект общих элементов управления Windows 95 |
V |
V |
V |
|
Объекты модулей данных |
V |
V |
V |
|
Полный доступ к Windows API |
V |
V |
V |
|
Хранилище объектов |
V |
V |
V |
|
Визуальное наследование форм |
V |
V |
V |
|
Контроллеры и серверы OLE Automation |
V |
V |
V |
|
Библиотека Визуальных Компонент VCL |
V |
V |
V |
|
Мастер для помощи в создании компонент |
V |
V |
V |
|
Компоненты для работы с базами данных |
V |
V |
V |
|
Расширенная справочная служба on-line |
V |
V |
V |
|
Проводник баз данных |
V |
V |
V |
|
Компоненты для создания отчетов |
V |
V |
V |
|
Исходные тексты VCL |
V |
V |
||
Масштабируемый словарь баз данных |
V |
V |
||
Поддержка соединений ODBC |
V |
V |
||
Компонента визуализации и редактирования баз данных Multi-Object Grid |
V |
V |
||
32-разрядный однопользовательский сервер Local InterBase |
V |
V |
||
Полный комплект печатной документации |
V |
V |
||
Генератор дистрибутивов InstallShield Express |
V |
V |
||
Internet Solutions Pack для разработки Web-приложений |
V |
V |
||
WinSight32 для мониторинга сообщений Windows |
V |
V |
||
Открытые инструменты API |
V |
V |
||
Расширенный набор компонент ActiveX |
V |
V |
||
Драйверы SQL Links для баз данных Oracle, Sybase, Informix, DB2, Microsoft SQL Server и InterBase |
V |
|||
SQL Database Explorer |
V |
|||
SQL Monitor |
V |
|||
Visual Query Builder |
V |
|||
Интегрированная система контроля версий в коллективных проектах Intersolv PVCS |
V |
|||
InterBase NT |
V |
|||
Механизм кэшируемых обновлений |
V |
Скорость визуальной разработки. Интегрированная среда разработки объединяет Редактор форм. Инспектор объектов. Палитру компонент. Администратор проекта и полностью интегрированные Редактор кода и Отладчик - инструменты быстрой разработки программных приложений, обеспечивающие полный контроль над кодом и ресурсами.
Профессиональные средства языка C++ интегрированы в визуальную среду разработки. C++Builder предоставляет быстродействующий компилятор с языка Borland C++, эффективный инкрементальный загрузчик и гибкие средства отладки как на уровне исходных инструкций, так и на уровне ассемблерных команд - в расчете удовлетворить высокие требования программистов-профессионалов.
Конструирование по способу "drag-and-drop " позволяет создавать приложение простым перетаскиванием захваченных мышью визуальных компонент из Палитры на форму приложения. Инспектор объектов предоставляет возможность оперировать со свойствами и событиями компонент, автоматически создавая заготовки функций обработки событий, которые наполняются кодом и редактируются в процессе разработки.
Механизмы двунаправленной разработки (two-way-tools) устраняют барьеры между программистом и его кодом. Технология двунаправленной разработки обеспечивает контроль за вашим кодом посредством гибкого, интегрированного и синхронизированного взаимодействия между инструментами визуального проектирования и Редактором кода.
Свойства, методы и события - это именно те элементы языка, которые обеспечивают быструю разработку приложений в рамках объектно-ориентированного программирования. Свойства позволяют легко устанавливать разнообразные характеристики объектов. Методы производят определенные, иногда довольно сложные, операции над объектом. События связывают воздействия пользователя на объекты с кодами реакции на эти воздействия. События могут возникать при таких специфических изменениях состояния объектов как обновление данных в интерфейсных элементах доступа к базам данных. Работая совместно, свойства, методы и события образуют среду RAD (Rapid Application Development) быстрого и интуитивного программирования надежных приложений для Windows.
Визуальное наследование форм воплощает важнейший аспект объектно-ориентированного программирования в удобном для пользования инструменте визуального проектирования. Характеристики новой формы приложения могут быть унаследованы от любой другой существующей формы, что обеспечивает централизованную репродукцию изменений пользовательского интерфейса, облегчает контроль за кодом и уменьшает временные затраты на введение новых качественных атрибутов.
Испытание прототипа позволяет без труда переходить от прототипа приложения к полностью функциональному, профессионально оформленному программному продукту, действуя в пределах интегрированной среды. Чтобы удостовериться, что ваша программа производит ожидаемые результаты, раньше приходилось многократно проходить по циклу редактирование => компиляция => сборка, непроизводительно расходуя время. C++Builder объединяет три этапа разработки в единый производственный процесс. В результате удается строить приложения, базирующиеся на текущих требованиях заказчика, вместе с тем гибкие настолько, чтобы быстро адаптировать их к новым запросам пользователей.
Мастер инсталляции руководит созданием унифицированных дистрибутивных пакетов для разработанных приложений.
Исходные тексты Библиотеки Визуальных Компонент облегчают разработку новых компонент на базе готовых примеров.
Отрытые инструменты API могут быть непосредственно интегрированы в визуальную среду системы. Вы сможете подключить привычный текстовый редактор или создать собственного мастера для автоматизации выполнения повторяющихся процедур.
Расширенная математическая библиотека содержит дополнительные унифицированные функции статистических и финансовых вычислений.
Продуктивность компонент. Библиотека Визуальных Компонент VCL приобрела статус нового промышленного стандарта и в настоящее время применяется более чем полумиллионом пользователей, существенно ускоряя разработку надежных приложений любой степени сложности. VCL содержит около 100 повторно используемых компонент, которые реализуют все элементы пользовательского интерфейса операционной системы Windows. Кроме того, VCL предоставляют в распоряжение программистов такие оригинальные объекты, как записные книжки с закладками, табличные сетки для отображения содержимого баз данных и даже органы управления устройствами мультимедиа. Находясь в среде объектно-ориентированного Программирования C++Builder, компоненты можно использовать непосредственно, менять их свойства, облик и поведение или порождать производные элементы. обладающие нужными отличительными характеристиками.
Хранилище объектов является инструментом новой методики хранения и повторного использования модулей данных, объектов, форм и программной бизнес-логики. Поскольку построение нового приложения на существующем фундаменте значительно экономит временные затраты, хранилище объектов предоставляет для повторного использования готовые структуры: формы и законченные программные модули. Создавая прототип нового приложения, вы можете наследовать, ссылаться или просто копировать существующую структуру - точно так же архитектор приступает к проектированию нового здания.
Компонента ChartFX обеспечивает немедленное построение на вашей форме разнообразных графиков, диаграмм, таблиц и предусматривает проверку правописания на многих языках. В варианте C++Builder Standard эта компонента является единственным представителем группы ActiveX.
Интеграция компонент ActiveX позволяет расширить Библиотеку Визуальных Компонент, включив компоненты стандарта ActiveX для разработки приложений в сети Internet.
Мощность языковых средств C++. Оптимизирующий 32-разрядный компилятор построен по проверенной ведущей компиляторной технологии корпорации Borland, обеспечивающей исключительно падежную и быструю оптимизацию как длины выходного исполняемого кода, так и расходуемой памяти. Новые элементы стандарта ANSI/ISO языка C++ представлены шаблонами, пространствами имен, исключениями, информацией о типах времени выполнения (RTTI), наряду с расширением набора ключевых слов bool, explicit, mutable, typename. automated и др.
Инкрементальный линкер осуществляет быструю и надежную сборку приложении в формате ЕХЕ файлов сравнительно меньшего размера. Автоматически устраняя повторную сборку не изменившихся исходных объектных файлов и подключение неиспользуемых функций, инкрементальный линкер строит эффективную выполняемую программу с минимальными потерями времени.
Чистый и доступный код приложений, которые C++Builder строит на основе предоставляемых разработчику компонентных свойств, событий и методов, исключает скрытые и трудные в отладке макросы.
Поддержка промышленных стандартов ActiveX, OLE, СОМ, MAPI, Windows Sockets TCP/IP, ISAPI. NSAPI, ODBC, Unicode и MBCS.
Отладчик низкого уровня CPU View позволяет проникнуть в специфику работы вашего приложения на уровне машинных кодов. Окно отладчика разделено на пять панелей. Панель ассемблерных команд интерпретирует исполнение исходной C++ программы. Панель памяти показывает содержимое блока памяти, доступного загруженному и исполняемому в данный момент модулю. Панель стека отображает текущее содержимое верхушки программного стека. Панель регистров и панель флагов показывают текущие значения регистров и служебных битов центрального процессора. Каждая панель включает собственное меню, управляющее ее видом и поведением.
Инструменты командной строки включены в систему по требованию профессионалов, которые всегда стремятся сохранить детальный контроль над процессами компиляции и сборки своих программных файлов.
Создание DLL, LIB, и ЕХЕ файлов предоставляет свободу выбора формата целевого приложения в соответствии с требованиями конкретного проекта. Прямое обращение к системным функциям Windows NT дает возможность программистам, работающим в среде C++Builder. при необходимости воспользоваться всеми усовершенствованиями современных операционных систем.
Механизм OLE Automation предоставляет вашему приложению возможность управлять другими типовыми программными комплексами для Windows (такими как Microsoft Word, Excel, Visual Basic, Lotus 1-2-3, dBASE и Paradox) по схеме сетевого взаимодействия контроллер/сервер.
Масштабируемые соединения с базами данных. Разработка по способу "drag-and-drop" многократно упрощает и ускоряет обычно трудоемкий процесс программирования СУБД в архитектуре клиент/сервер. Широкий выбор компонент управления визуализацией и редактированием позволяет легко изменять вид отображаемой информации и поведение программы. C++Builder использует Проводник баз данных (Database Explorer) и масштабируемый Словарь данных (Data Dictionary ), чтобы автоматически настроить средства отображения и редактирования применительно к специфике вашей информации.
Проводник баз данных предоставляет графический способ проводки пользователя по содержимому базы данных, обеспечивая создание и модификацию таблиц, иерархических указателей и псевдонимов.
Словарь данных поддерживает целостность изменяющейся информации о содержимом таблиц баз данных. Пользователь может динамически модифицировать состав Словаря. Словарь содержит информацию о расширенных атрибутах полей в записях: минимальные и максимальные значения, свойства отображения, маски редактирования и т.п.
Живые данные (live data) предоставляются разработчику в процессе визуального проектирования прототипов и при испытании приложений баз данных. Вам не потребуется более писать тестовые ловушки или многократно перетранслировать и запускать приложение - данные на стадии проектирования будут точно такими же и представлены точно так же, как их увидит пользователь законченной программы.
Механизм BDE (Borland Database Engine) поддерживает высокопроизводительный 32-разрядный доступ к базам данных dBASE, Paradox: Sybase. Oracle, DB2. Microsoft SQL Server. Informix, InterBase и Local InterBase. C++Builder использует контроллер ODBC (Open Database Connectivity) производства Microsoft для связи с серверами баз данных Excel, Access, FoxPro и Btrieve. Являясь фундаментом любого приложения базы данных, BDE тесно связан с Хранилищем объектов и Модулями данных.
Объекты Модулей данных действуют как связующий каркас приложения - они определяют источники и бизнес-логику базы данных, фиксируют взаимосвязи компонент. В централизованной модели доступа к данным бизнес-логика отделена от разработки графического интерфейса с пользователем (GUI). Любое изменение бизнес-логики вашей базы данных сказывается на поведении только соответствующего Модуля данных, а результаты изменения проявляются немедленно во всех приложениях, использующих данный модуль. Работая с модулями данных, вы однократно устанавливаете связи вашего приложения с адресуемой базой данных, а затем по способу "drag-and-drop" можете перетаскивать поля записей на новые формы - в любой узел вашей сети. Никакого дополнительного кодирования при этом не требуется.
Фильтры поля ссылок устанавливают ограничения поиска и отображения информации базы данных простым нажатием кнопки. Изменяя значения свойства Filter в компонентах доступа, можно специфицировать некоторое подмножество интересующих вас данных. Ссылки обеспечивают автоматическое отображение данных из нескольких таблиц.
Копируемые обновления (cached updates) заметно ускоряют отклик SQL сервера за счет уменьшения общего числа сетевых обменов с клиентом. Будучи упакованными, множественные коммуникации проявляют себя как одиночные транзакции, тем самым, снижая загруженность сервера и улучшая производительность вашего приложения.
ТМаinМеnu |
Создает панель команд главного меню для формы. |
|
TPopUpMerm |
Создает "выскакивающее" меню для формы или для другой компоненты. |
|
TLabel |
Отображает на форме текст названия, который нельзя редактировать. |
|
TEdit |
Отображает область редактируемого ввода одиночной строки информации на форме. |
|
TIVlemo |
Отображает область редактируемого ввода множественных строк информации на форме. |
|
TButton |
Создает кнопку с надписью. |
|
TCheckBox |
Создает элемент управления с двумя состояниями. |
|
TRadioButton |
Создает элемент управления с двумя состояниями. |
|
TListBox |
Отображает область списка текстовых строк. |
|
TComboBox |
Создает комбинацию области редактирования и выпадающего списка текстовых строк. |
|
TScrollBar |
Создает линейку прокрутки для просмотра содержимого окна, формы, списка или диапазона значений. |
|
TGroupBox |
Создает контейнер, объединяющий на форме логически связанную группу некоторых компонент. |
|
TRadioGroup |
Создает контейнер, объединяющий на форме группу логически взаимоисключающих радио-кнопок. |
|
TPanel |
Создает панель инструментов или строк состояния. |
Отчеты Quick Reports позволяют визуально конструировать стилизованные отчеты по данным, поставляемым любым источником, включая таблицы и запросы компонент доступа к базам данных. Отчеты могут содержать поля заголовков, колонтитулов, сносок и итогов. Quick Reports предоставляют мощные средства отображения отчетов в разных видах, автоматического подведения итогов и подсчета полей - на любом уровне группировки данных.
Палитра компонент - краткий обзор. Компоненты вкладки Standard. Компоненты этой вкладки осуществляют включение в ваше приложение следующих типовых интерфейсных элементов Windows:Компоненты вкладки Win. Компоненты этой вкладки осуществляют включение в ваше приложение следующих типовых интерфейсных элементов Windows:
TTabControl |
Отображает набор полей, имеющих вид частично перекрывающих друг друга картотечных вкладок. |
|
TPageControl |
Отображает набор полей, имеющих вид частично перекрывающих друг друга картотечных вкладок, для организации многостраничного диалога. |
|
TTreeView |
Отображает древовидный перечень элементов - заголовков документов, записей в указателе, файлов или каталогов на диске. |
|
TListView |
Отображает древовидный перечень элементов в различных видах - по столбцам с заголовками, вертикально, горизонтально, с пиктограммами. |
|
TImageList |
Создает контейнер для группы изображений. |
|
THeaderControl |
Создает контейнер для заголовков столбцов. |
|
TRichEdit |
Отображает область редактируемого ввода множественных строк информации в формате RTF. |
|
TStatusBar |
Создает строку панелей состояния для отображения статусной информации. |
|
TTrackBar |
Создает шкалу с метками и регулятором текущего положения. |
|
TProgressBar |
Создает индикатор процесса выполнения некоторой процедуры в приложении. |
|
TUpDown |
Создает спаренные кнопки со стрелками "вверх" и "вниз". Нажатие этих кнопок вызывает увеличение или уменьшение значения свойства Position. |
|
THotKey |
Используется для установки клавиш быстрого вызова во время выполнения программы. |
Компоненты вкладки Additional. Компоненты этой вкладки осуществляют включение в ваше приложение следующих специализированных интерфейсных элементов Windows:
TBitBtn |
Создает кнопку с изображением битового образа. |
|
TSpeedButton |
Создает графическую кнопку быстрого вызова. |
|
TMaskEdit |
Создает область редактируемого ввода данных специфического формата. |
|
TStringGrid |
Создает сетку для отображения строк по строкам или столбцам. |
|
TDrawGrid |
Создает сетку для отображения графических данных по строкам или столбцам. |
|
TImage |
Создает на форме контейнер для отображения битового образа, пиктограммы или метафайла. |
|
TShape |
Рисует простые геометрические фигуры. |
|
TBevel |
Создает линии и рамки с объемным видом. |
|
TScrollBox |
Создает контейнер переменного размера с линейками прокрутки, если это необходимо |
Использование и создание визуальных компонент. Библиотека Визуальных Компонент была впервые введена системой программирования Delphi 1.0 на языке Объектный Паскаль и модифицирована в Delphi для поддержки 32-разрядных приложений. Delphi оказалась наиболее популярной на рынке систем быстрой разработки программных приложений, однако, многие потребители высказывали интерес к подобной системе для языка C++, которая в конце концов и воплотилась в C++Builder. C++Builder унаследовал версию Библиотеки Визуальных Компонент Delphi 2.0 без каких-либо изменений.
Библиотека VCL интегрирована в среду C++Builder, что, в отличие от других систем программирования, позволяет манипулировать классами визуальных компонент при проектировании приложения, на стадии создания его прототипа. Поведение и вид ваших компонент определяются по мере разработки приложения, хотя можно модифицировать их и в процессе выполнения программы.
Назначение и устройство VCL. Библиотека Визуальных Компонент позволяет программистам визуально создавать программные приложения, не прибегая более к кодированию классов "вручную", или кодированию в рамках стандартных библиотек MFC (Microsoft Foundation Class), или OWL (Object Windows Library).
C++ программистам теперь не надо создавать или манипулировать объектами интерфейса с пользователем путем написания соответствующего кода. Подавляющее большинство приложений вы будете разрабатывать визуально с помощью Редактора форм C++Builder, добавляя лишь несколько строк к .обработчикам ключевых событии компонент. Используйте объекты всегда, когда это возможно; твердо сопротивляйтесь позыву написать новый код то тех пор, пока все другие возможности не будут исчерпаны.
Подобные документы
Оценка вариантов подключения Интернета для малой домашней PC сети и производительности приложения. Средства анализа и оптимизации локальных сетей. Влияние топологии связей и производительности коммуникационных устройств на пропускную способность сети.
дипломная работа [6,9 M], добавлен 12.09.2012Эффективность построения и использования корпоративных информационных систем. Описание программных систем имитационного моделирования сетей. Обозначения и интерфейс программы "Net-Emul". Использование маршрутизатора (роутера) как сетевого устройства.
контрольная работа [1,9 M], добавлен 22.12.2011Конфигурация аппаратных средств и характеристика программных средств для создания беспроводных компьютерных сетей, особенности их использования и анализ возможных проблем. Технология организация безопасной работы в беспроводных компьютерных сетях.
курсовая работа [2,5 M], добавлен 27.12.2011Создание автоматизированной системы мониторинга состояния аппаратных средств компьютерных сетей на основе протокола SNMP в среде программирования С++Builder. Описание реляционной базы данных и ее визуальное представление. Разработка диаграммы классов.
отчет по практике [2,2 M], добавлен 05.01.2016Основные признаки классификации компьютерных сетей как нового вида связи и информационного сервиса. Особенности локальных и глобальных сетей. Объекты информационных сетевых технологий. Преимущества использования компьютерных сетей в организации.
курсовая работа [1,9 M], добавлен 23.04.2013Анализ методов построения высокопроизводительных и высоконадежных систем связи на основе уравновешенных неполных блок-схем и структур корректирующих кодов. Полная система сетей связи как совокупность отдельных сетей связи при использовании топологии шины.
лабораторная работа [225,9 K], добавлен 23.12.2012Классификация компьютерных сетей в технологическом аспекте. Устройство и принцип работы локальных и глобальных сетей. Сети с коммутацией каналов, сети операторов связи. Топологии компьютерных сетей: шина, звезда. Их основные преимущества и недостатки.
реферат [134,0 K], добавлен 21.10.2013Быстродействие как одна из количественных характеристик компьютерных сетей. Способы повышения производительности компьютеров: освобождение пространства на жестком диске, его дефрагментация и индексирование, сжатие файлов, расширение памяти и другие.
курсовая работа [319,9 K], добавлен 26.04.2016Описание и расчет параметров систем с очередями для различных вариантов (один или несколько серверов - одна очередь, несколько серверов - несколько очередей). Проведение оценки производительности компьютерной сети на основе данных о ее загрузке.
курсовая работа [9,2 M], добавлен 19.11.2013Функции компьютерных сетей (хранение и обработка данных, доступ пользователей к данным и их передача). Основные показатели качества локальных сетей. Классификация компьютерных сетей, их главные компоненты. Топология сети, характеристика оборудования.
презентация [287,4 K], добавлен 01.04.2015