Связь источник/приемник – основа реализации алгоритма модели.

Наличие встроенных классов позволяет создавать сколь угодно сложную объектную модель, используя экземпляры этих классов. В качестве пользовательских объектов в этом случае выступают экземпляры класса Контейнер, значения полей пользовательских объектов задаются экземплярами объектов число, целое и строка. Связи задаются значениями свойств Ссылка на объект, а поведение таких объектов задается экземплярами класса Программа, исходный текст которых записывается на специальном С-подобном языке.

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

Полный аппарат пользовательских классов реализован на четвертом уровне объектной машины с помощью базового класса Шаблон. Причем и описатель класса, и объекты-экземпляры класса являются обычными экземплярами базового класса Контейнер и отличаются только значением одного свойства. В пользовательских классах реализованы множественное наследование, виртуальные методы, методы класса и методы экземпляров, статические методы, то есть практически все, что подразумевается, когда речь идет об объектно-ориентированном программировании. Наличие в дереве объектов, наряду с экземплярами класса, его описателя, наделяет такие классы многими полезными свойствами, но это тема отдельной статьи.

Основные характеристики среды разработки

Кроме основных требований, определяющих концепции технологии, при проектировании FloraWare ставилась цель создать среду разработки больших программных комплексов, соответствующую последним достижениям компьютерной науки и практики, с набором следующих свойств:

  • мультизадачность;
  • универсальность;
  • наличие аппарата автоматного программирования;
  • поддержка нотации UML;
  • поддержка XML документов;
  • интеграция с технологией .NET;
  • масштабируемость и поддержка распределенных приложений;
  • поддержка многоязыковых приложений;
  • интерактивность;
  • переносимость и самодостаточность.

Мультизадачность

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

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

Универсальность

Может показаться, что использование объектов заранее определенных классов резко сужает область применения FloraWare. Но это далеко не так. Среди предопределенных классов FloraWare есть практически все используемые в настоящее время диалоговые элементы, инструменты работы с базой данных, переходники к драйверам устройств, а также такие универсальные классы, как Контейнер, Число, Целое, Строка, Массив и Программа, с помощью которых можно создать практически любое приложение. Базовые классы, реализованные в ядре объектной машины, являются основой создания собственных прикладных классов с использованием множественного наследования, полиморфизма и инкапсуляции. При необходимости расширить набор базовых классов можно, используя типы .NET, что существенно расширяет универсальность.

Наши рекомендации