ДЕКЛАРАТИВНОЕ ОПРЕДЕЛЕНИЕ ДЕЙСТВИЯ СРЕДСТВА УПРАВЛЕНИЯ
DECLARATIVE DETERMINATION OF ACTION OF MEANS OF CONTROL

Уровень техники
Приложения программного обеспечения все более и более развиваются в декларативном виде для упрощения процесса разработки. В интерфейсе пользователя и инфраструктурах разработки приложения режим логики и непользовательского интерфейса встроен в компоненты интерфейса пользователя для расширения свойств управления, ассоциативно связанных с компонентами интерфейса пользователя. Режим непользовательского интерфейса может быть встроен в составы компонентов интерфейса пользователя. Сложные средства управления могут быть весьма большими со многими отличными свойствами, которые трудно модифицировать пользователям, чтобы приспособить к различным потребностям. Большое количество свойств усложняет настройку управления, так как пользователь, возможно, не знаком со всеми ассоциативно связанными свойствами. Объектная модель становится раздутой так, что когда средство управления включает форму, то пользователи могут быть поражены функциональными возможностями, предлагаемыми этим средством управления.
Сущность изобретения
Расширяемая инфраструктура разработки средства управления используется, чтобы декларативно определить средство управления (как визуальное, так и невизуальное) и другие компоненты. Функциональные возможности средства управления могут быть расширены путем декларативного добавления режимов и семантики посредством объекта, названного действием. Это средство управления не становится чрезмерно сложным путем добавления режимов и семантики. Объект действия охватывает хорошо определенные функциональные возможности и ассоциативно связан с существующим управлением. Объект действия также ассоциативно связан с событием или некоторым другим запускающим событием так, что функциональные возможности автоматически выполняются, когда событие возникло. Функциональные возможности могут быть пакетированы в независимом компоненте приложения, так что пользователь, который не знаком с кодом программирования, может легко определить логику и функциональные возможности для приложения в среде разработки.
Эта сущность изобретения обеспечивается для введения выбора понятий в упрощенной форме, которая дополнительно описана ниже в Подробном Описании. Эта сущность изобретения не предназначена для идентификации ключевых признаков или существенных признаков заявленного изобретения и не предназначена для использования как помощь в определении объема заявленного изобретения.
Краткое описание чертежей
Фиг.1 - схема архитектуры компьютерной системы, иллюстрирующая компьютерную систему, используемую в и обеспеченную различными вариантами осуществления изобретения.
Фиг.2 - пример компонента приложения, который реализует декларативно определенные средства управления.
Фиг.3 - пример компонента приложения, который реализует декларативно определенные средства управления.
Фиг.4 - примерный компонент приложения, который реализует декларативно определенные средства управления.
Фиг.5 - примерный компонент приложения, который реализует декларативно определенные средства управления.
Фиг.6 - блок-схема операций, иллюстрирующая процесс для реализации действий декларативно определенного управления.
Фиг.7 - примерный код, показывающий, как инфраструктура разработки управления реализована в блоке разработки управления.
Фиг.8 - примерный код, показывающий, как основное управление может обеспечить функциональные возможности для действий декларативно определенного управления.
Подробное описание
Варианты осуществления настоящего раскрытия ниже описаны более полно со ссылками на сопроводительные чертежи, которые формируют его часть и которые показывают с помощью иллюстрации характерные примерные варианты осуществлений для практического применения изобретения. Это раскрытие может, однако, быть осуществлено во многих других формах, и его не следует ограничивать вариантами осуществления, сформулированными здесь; скорее эти варианты осуществления обеспечиваются таким образом, что это раскрытие будет доскональным и законченным и полностью передаст его сущность специалистам в данной области техники. Кроме того, настоящее раскрытие может быть осуществлено как способы или устройства. Соответственно настоящее раскрытие может принять форму полностью аппаратной реализации вариантов осуществления, вариантов осуществления полностью программным обеспечением или вариантов осуществления, объединяющих аспекты программного обеспечения и аппаратного обеспечения. Поэтому нижеследующее детальное описание не должно пониматься в ограничивающем смысле.
Обращаясь теперь к чертежам, в которых аналогичные цифры представляют аналогичные элементы, и ниже, описаны различные аспекты настоящего изобретения. В частности, фиг.1 и соответствующее описание предназначены для обеспечения краткого общего описания подходящей компьютерной среды, в которой могут быть реализованы варианты осуществления изобретения. В то время как изобретение описано в общем контексте программных модулей, которые выполняют на сервере и персональных компьютерных системах, специалисты в данной области техники признают, что это изобретение может быть также реализовано в комбинации с другими типами компьютерных систем и программных модулей.
В целом программные модули содержат процедуры, программы, компоненты, структуры данных и другие типы структур, которые выполняют конкретные задачи или реализуют конкретные абстрактные типы данных. Более того, специалисты в данной области техники оценят, что это изобретение может быть применено с другими конфигурациями компьютерной системы, содержащими наладочные устройства, мультипроцессорные системы, программируемую бытовую электронику на основе микропроцессоров, миникомпьютеры, универсальные ЭВМ и т.п. Это изобретение может также быть применено в распределенных компьютерных средах, где задачи выполняются удаленными процессорными устройствами, которые соединены через сеть связи. В распределенной компьютерной среде программные модули могут быть расположены как в локальных, так и в удаленных запоминающих устройствах.
Иллюстративная операционная среда
Обращаясь теперь к фиг.1, описана иллюстративная архитектура компьютера для компьютера 100, используемого в различных вариантах осуществления изобретения. Эта архитектура компьютера, показанная на фиг.1, иллюстрирует обычные настольный или портативный компьютер, содержащий блок 110 центрального процессора ("CPU"), системную память 120, содержащую память 122 с произвольным доступом ("RAM") и постоянную память 124 ("ROM"), и системную шину 130, которая присоединяет память к CPU 110. Базовая система ввода/вывода, содержащая основные процедуры, которые помогают перемещать информацию между элементами внутри компьютера, например, во время запуска, хранится в ROM 124. Компьютер 100 дополнительно содержит запоминающее устройство 140 большой емкости для хранения операционной системы 142, прикладных программ и других программных модулей, которые описаны более подробно ниже.
Запоминающее устройство 140 большой емкости подключено к CPU 110 через контроллер массовой памяти (не показан), подключенный к шине 130. Запоминающее устройство 140 большой емкости и его ассоциативно связанные считываемые компьютером носители обеспечивают энергонезависимую память для компьютера 100. Хотя описание считываемых компьютером носителей, приведенное здесь, относится к запоминающему устройству большой емкости, такому как накопитель на жестком диске или на CD-ROM, специалистам в данной области техники следует оценить, что считываемые компьютером носители могут быть любыми имеющимися в наличии носителями, к которым можно получить доступ компьютером 100.
Например, и без ограничений, считываемые компьютером носители могут содержать в себе накопительные компьютерные носители и коммуникационные носители. Компьютерные носители включают в себя энергозависимые и энергонезависимые, сменные и несменные носители, реализованные любым способом или технологией для хранения информации, такой как считываемые компьютером инструкции, структуры данных, программные модули или другие данные. Коммуникационные носители включают в себя, но не ограничены, RAM, ROM, EPROM, EEPROM, Flash-память или другие технологии твердотельной памяти, CD-ROM, цифровые универсальные диски ("DVD") или другую оптическую память, магнитные кассеты, магнитные ленты, память на магнитном диске или другие магнитные запоминающие устройства или какую-либо другую среду, которая может использоваться для хранения требуемой информации и к которой можно получить доступ компьютером 100.
Согласно различным вариантам осуществления изобретения компьютер 100 может работать в сетевой среде, используя логические соединения с удаленными компьютерами через сеть 150, такую как Интернет. Компьютер 100 может подключиться к сети 150 через блок 160 интерфейса сети, подключенный к шине 130. Блок 160 интерфейса сети может также использоваться для подсоединения к другим типами сетей и удаленным компьютерным системам. Компьютер 100 может также включать в себя контроллер 170 ввода/вывода для приема и обработки входных сигналов от некоторого количества других устройств, включая клавиатуру, мышь или электронное перо (не показаны на фиг.1). Точно так же контроллер 170 ввода/вывода может вызывать выходные сигналы на экран дисплея, принтер или другой тип устройства вывода.
Как уже было кратко упомянуто выше, некоторое количество программных модулей и файлов данных могут быть сохранены в запоминающем устройстве 140 большой емкости и RAM 122 компьютера 100, включая приложение 148 и операционную систему 142, что является подходящим для управления работой сетевого персонального компьютера с операционной системой, такой как WINDOWS XP от MICROSOFT CORPORATION, Редмонд, Вашингтон. Запоминающее устройство 140 большой емкости и RAM 122 могут также хранить один или более программных модулей. В частности, запоминающее устройство 140 большой емкости и RAM 122 могут хранить прикладную программу 144 веб-браузера. Прикладная программа 144 web-браузера служит для того, чтобы запрашивать, принимать, воспроизводить и обеспечивать интерактивность с электронными документами, такими как веб-страница 146, которая была отформатирована, используя HTML. Согласно одному варианту осуществления изобретения прикладная программа 144 веб-браузера является прикладной программой веб-браузера INTERNET EXPLORER от MICROSOFT CORPORATION. Однако следует оценить, что и другие прикладные программы веб-браузера от других изготовителей могут использоваться для осуществления различных аспектов настоящего изобретения, такие как приложение веб-браузера FIREFOX от MOZILLA FOUNDATION.
Декларативное определение действия со средством управления
Инфраструктура разработки расширяемого средства управления используется, чтобы декларативно определить средство управления (как визуальное, так и невизуальное) и другие компоненты. Функциональные возможности управления могут быть расширены путем декларативного добавления режимов и семантики посредством объекта, названного действием. Это средство управления не становится чрезмерно сложным путем добавления режимов и семантики. Объект действия кратко заключает в себе хорошо определенные функциональные возможности и ассоциативно связан с существующим управлением. Объект действия также ассоциативно связан с событием или некоторым другим инициирующим событием так, что функциональные возможности автоматически выполняются, когда событие возникло. Эти функциональные возможности могут быть пакетированы в независимом компоненте приложений, таком, что пользователь, который не знаком с программированием кода, может легко определить логику и функциональные возможности для приложения в среде разработки.
Эта инфраструктура упрощает быструю разработку приложений (RAD). Проектировщик может выбрать и расположить компоненты приложений, используя поверхность визуального конструирования. Эти компоненты приложений могут быть подключены, используя поверхность визуального конструирования. Эти компоненты приложений могут также быть настроены со свойствами с помощью записи кода для обработки событий и выполнения операций, имеющих отношение к событию. Эти компоненты приложений могут быть автоматически вызваны, когда событие возникло. Эта инфраструктура применима к другим средам разработки, включая веб-дизайн, программирование на основе сценариев, программирование на основе форм и т.п.
Инфраструктура разработки средства управления объясняется со ссылкой на событие щелчка, ассоциативно связанного со средством управления «кнопка». Следует оценить, что хотя варианты осуществления, описанные здесь, представлены в контексте события щелчка, ассоциативно связанного со средством управления «кнопка», любое событие или инициирующее событие, определенные в отношении интерфейсов управления, могут быть использованы.
Инфраструктура разработки средства управления пакетирует функциональные возможности управления в компоненты. Эти компоненты являются ассоциативно связанными, используя декларативные действия и режимы. Фиг.2 иллюстрирует примерный компонент, который реализует декларативно определенные средства управления. Разработчик может создать компонент 200 регистрации как сложное средство управления по форме с индивидуальными средствами управления в виде текстовых окон 210, 212 и средством управления 220 «кнопка». Каждое средство управления в пределах компонента 200 регистрации есть независимый объект, который является индивидуально доступным по этой форме, так что средства управления могут быть настроены и повторно позиционированы. Пользователь может ввести значения в текстовых окнах 210, 212 и щелкнуть по средству управления 220 «кнопка». Событие щелчка, возникшее благодаря средству управления 220 «кнопка», ассоциативно связано с методом 230 регистрации.
Метод 230 регистрации включает в себя примерный код для того, чтобы декларативно определить средства управления. Метод 230 регистрации «вытаскивает» значения из средств управления 210, 212 в виде текстовых окон, когда событие щелчка, ассоциативно связанное со средством управления 220 «кнопка», возникло. Метод 230 регистрации выполняет логические операции над значениями, и интерфейс пользователя обновляется в соответствии с результатом операции логики регистрации (например, регистрация предоставляется или отклоняется).
Инфраструктура разработки средства управления позволяет другим прикладным сценариям быть декларативно определенными без создания специализированных средств управления для каждого конкретного сценария. Обращаясь к примерному коду в методе 230 регистрации, сценарий регистрации реализован без управления регистрацией. Компонент 200 регистрации определен средствами управления, такими как два текстовых окна 240, 250 и кнопка 260. Текстовые окна 240, 250 и кнопка 260 могут быть независимо настроены и повторно позиционированы, потому что средства управления не ограничены структурой конкретной формы. Каждое текстовое окно 240, 250 имеет ассоциативно связанные текстовые свойства 265, 270 (например, имя, пароль), и кнопка 260 также ассоциативно связана с текстовыми свойствами 275 (например, Щелкните Мной, Click Me).
Кнопка 260 ассоциативно связана с действиями щелчка ClickActions 280. ClickActions 280 содержит действие регистрации LoginAction 285. LoginAction 285 есть компонент регистрации, который может быть настроен (например, имя и пароль). LoginAction 285 автоматически запускается, когда событие щелчка возникло, потому что LoginAction 285 содержится в ClickActions 280. Декларативно определенный компонент 200 регистрации имеет те же самые функциональные возможности, что и средство управления регистрацией, определенное написанным кодом. Декларативно определенное средство управления выгодно из-за добавленной гибкости программирования, используя строительные блоки средства управления на поверхности визуального конструирования. Разработчик может дополнительно настроить средства управления на поверхности визуального конструирования в случае необходимости.
Фиг.3 иллюстрирует, как инфраструктура разработки средства управления присоединяет дополнительный режим к средству управления. Присоединение дополнительного режима описано со ссылкой на кнопку 310 на интерфейсе 300 пользователя. Интерфейс 300 пользователя может также содержать текстовые окна 305 для пользователя, чтобы ввести значения данных. Эти текстовые окна 305 могут быть сгруппированы (например, текстовые окна 305 сгруппированы и названы "Группой 1".). Кнопка 310 ассоциативно связана со способом 320 расширения свойств.
Способ 320 расширения свойств определяет простое средство управления 330 «кнопка» с текстовым свойством 340. Событие щелчка (например, действие проверки ValidationAction 350, действие счета (CounterAction) 360 и действие последовательности операций (WorkflowAction 370)) возникает, когда щелкают кнопкой 310.
Прикладные семантики могут быть присоединены к кнопке 310 в расширяемом виде так, что свойства средства управления могут быть легко изменены. Свойства средства управления могут запускать или вызывать какую-любую логику приложения (императивную или декларативную), как сконфигурировано. Например, ValidationAction 350, CounterAction 360 и WorkflowAction 370 могут все быть выполнены, когда щелкают кнопкой 310. ValidationAction 350 проверяет данные значений в текстовых окнах 305, идентифицированных как Группа l в интерфейсе 300 пользователя, когда щелкают кнопкой 310. CounterAction 360 выполняет отсчет количества раз, которое щелкают кнопкой 310. WorkflowAction 370 начинает или продолжает выполнение любой логики (императивной или декларативной), ассоциативно связанной с приложением (таким как последовательность операций), когда щелкают кнопкой 310. Таким образом, добавочные свойства декларативно присоединены к кнопке 310 без усложнения существующей объектной модели или требования создания новой объектной модели.
Фиг.4 иллюстрирует, как инфраструктура разработки средства управления обеспечивает подход открытости и строгого набора текста к средству управления. Средство управления вид формы FormView ассоциативно связано с содержанием из строки базы данных. Кнопочное средство управления, ассоциативно связанное со средством управления FormView, выполняет операции базы данных по строке. Например, кнопка «Update» (обновление) может быть ассоциативно связана со средством управления FormView, как показано ниже:
<asp:Button CommandName = "Update"/>,
где "Update" - строковое свойство.
Средство управления FormView, в частности, ищет имя команды, названное «Update». Логика обновления выполняется, когда кнопкой щелкают. Однако логика обновления не является обнаруживаемой в современных инфраструктурах средств управления. Другими словами, разработчик, который использует средство управления FormView в программе, может не знать подкоманд, ассоциативно связанных со средством управления FormView. В дополнение, не ясно, является ли имя команды чувствительным к регистру. Например, средство управления FormView может, в частности, искать "Update" так, что результат такого "обновления" может привести к ошибке и может быть пропущен. Кроме того, типографская ошибка может быть причиной неудачи формы. Например, логика обновления не может быть выполнена, когда кнопкой щелкают, если ищут "Update 1", а не "Update". Известные инфраструктуры программирования средства управления требуют, чтобы пользователь просмотрел код, чтобы определить местонахождение типографской ошибки.
Инфраструктура разработки средства управления обеспечивает подход со строгим набором текста к программированию средств управления. Термин "строгий набор текста" относится к явному именованию и печатанию (набору текста) методов и переменных членов класса. Тип данных известен во время компиляции и, как таковой, позволяет разрешать неправильные присвоения типов данных во время компиляции, а не во время выполнения, экономя обработку и уменьшая шанс возникновения ошибок в коде. Инфраструктура разработки средства управления также обеспечивает несколько встроенных действий. Как было описано выше, третьи стороны и разработчики приложений могут разработать новые действия, характерные для конкретных сценариев. Эти действия должны быть обнаружены в конструкторе средства управления или другими пользователями, не знакомыми с недавно определенными действиями, не знающими, что они существуют.
Подходы к возможности обнаружения и строгого набора текста описаны со ссылками на кнопку 410 на интерфейсе 400 пользователя. Интерфейс 400 пользователя может также содержать текстовое окно 405, чтобы пользователь вводил значения данных, таких как "элемент". Кнопка 410 ассоциативно связана с методом 420 подхода возможности обнаружения и строгого набора текста. Метод 420 подхода возможности обнаружения и строгого набора текста определяет средство управления 430 FormView и простое средство 440 кнопочного управления с текстовым свойством 445.
Разработчику нет необходимости знать конкретный набор строк, используемых средством управлением 430 FormView. Вместо этого объектная модель ассоциативно связанного действия обеспечивает эту информацию. Средство 440 кнопочного управления не содержит имя команды. Кнопочное средство 440 управления содержит действие 450 FormViewAction внутри ClickActions 460, ассоциативно связанных с кнопкой 440. FormViewAction 450 содержит свойство 470 Операция = "Edit (редактирование)". Свойство 470 Операция = "Edit" есть перечислимый тип (вместо строкового) так, что это свойство ассоциативно связано с фиксированным набором значений (например, редактировать, удалить, обновить и т.д.). Перечислимые типы позволяют редактору и анализатору предписывать действительное значение для перечисления. Например, разработчик может напечатать "Oparation =". Выпадающее меню 480 может быть затем показано на дисплее с другими значениями перечисления, из которых пользователь может выбрать действительное значение. Таким образом, разработчик может обнаружить подкоманды, ассоциативно связанные со средством управления.
Разработчик может совершить типографскую ошибку при вводе свойства 470. Например, разработчик, возможно, напечатал "Editl" или "edit", а не "Edit". Когда страница анализируется, "Editl" приводит к ошибке анализатора, потому что "Editl" - неизвестное значение. "Edit" может также привести к ошибке анализатора, если функция поиска является чувствительной к регистру. Эта ошибка не привела бы к результату, если бы значение было бы строкой. Вместо этого событие щелчка, созданное кнопкой 410, не будет иметь результатом никакого действия. Таким образом, свойство перечислимого типа есть значения строгого набора, которые удаляют класс ошибок, вызванных неверной печатью разработчика.
Фиг.5 иллюстрирует, как инфраструктура разработки средства управления может использоваться применительно к результату средства управления. Интерфейс 500 пользователя устроен так, чтобы принимать ввод для выполнения поиска. Текстовое окно 510 выполнено с возможностью приема терминов поиска. Пользователь может щелкнуть кнопкой 520 поиска, чтобы начать поиск. Результаты показаны на дисплее как список поиска на панели 530.
Кнопка 520 поиска может быть ассоциативно связана с методом 540 применения эффекта так, что эффект (результат) может быть применен к списку поиска, когда он показан на дисплее на панели 530. Например, анимационный эффект усиления, такой как FadeInEffect 550 может быть применен к целевому объекту 560, такому как список поиска. Список поиска становится ярче, когда показывается на дисплее на панели 530. FadeInEffect 550 содержит метод 570 игры, который вызывается событием 580 щелчка. Событие 580 щелчка также присоединяет свойство 590 к панели 530 так, что панель 530 становится видимой. Когда щелкают кнопкой 520 поиска, FadeInEffect 550 применяется к панели 530, и панель 530 становится видимой. Таким образом, способ может быть декларативно определен путем вызова метода и определения конкретной цели.
Фиг.6 - блок-схема последовательности операций, иллюстрирующая процесс действий декларативно определенного средства управления. Этот процесс начинается на этапе операции начала, где средство управления устроено так, чтобы выполнить функцию.
Обработка продолжается на этапе 600, где действие ассоциативно связано со средством управления. Например, средство управления может быть кнопочным средством управления, средством управления текстового окна или средством управления просмотра формы. Это действие охватывает режимы и семантику так, что функциональные возможности средства управления расширяются. Действие есть независимый компонент приложения, так что управление не становится чрезмерно сложным, когда действие ассоциативно связано со средством управления. Независимый компонент приложения позволяет определить действие как строительные блоки в среде разработки приложения. Разработчик может легко разработать приложение, собирая строительные блоки, чтобы определить логику и функциональные возможности для приложения. В одном варианте осуществления действие содержит перечисленное свойство, которое идентифицирует фиксированный набор значений. Фиксированный набор значений может быть показан на дисплее разработчику, когда свойство напечатано. Если разработчик неправильно напечатал значение свойства, то в результате возникает ошибка, потому что неправильно напечатанное значение не содержится в фиксированном наборе. В другом варианте осуществления больше чем одно средство управления может быть ассоциативно связано с действием. Например, одно действие может быть вложено в другое действие. В еще одном варианте осуществления дополнительные свойства могут быть ассоциативно связаны со средством управления.
Переходя к этапу 610, событие ассоциативно связывают со средством управления. Например, если средство управления есть кнопка, ассоциативно связанное событие может быть событием щелчка, созданного кнопкой. Переходя к этапу 620, средство управления обнаруживает, что ассоциативно связанное событие должно возникнуть. В одном варианте осуществления средство управления обнаруживает, что ассоциативно связанное событие должно возникнуть, когда какое-либо значение получено в средстве управления.
Переходя к этапу 630, действие выполняется, когда событие возникло. Это действие может быть выполнено путем выполнения логической операции с этим значением. Примеры выполнения действия содержат обработку значений, проверку значений, подсчет количества раз, когда событие возникло, стартовое выполнение последовательности операций, возобновление выполнения последовательности операций, обнаружение свойств, ассоциативно связанных со средством управления, разрешение неправильных присваиваний типов данных во время компиляции, применение эффекта к средству управления и т.п.
Другие независимые действия, ассоциативно связанные с событием, могут также быть выполнены. В одном варианте осуществления процесс повторен, чтобы выполнить последовательность действий. Одно действие в последовательности может быть выполнено и возвратить значение "ложь", таким образом, прерывая последовательность действий. Обработка тогда заканчивается в конце операции.
Фиг.7 - сегмент 700 примерного кода, показывающий, как инфраструктура разработки средства управления реализована в конструкторе средства управления. Этот конструктор средства управления может автоматически предложить редактор действий для средств управления, которые поддерживают действия посредством панели задач. Этот редактор действий представляет набор действий, доступных в ассемблированном виде, к которым обращаются с помощью приложения. Эти действия обеспечивают ассоциативно связанные функциональные возможности конструктора для обеспечения богатого опыта редактирования вне сетки свойств. Сегмент 700 примерного кода указывает, что действие может быть выполнено прежде или после того, как происходит событие.
Базовый класс обеспечивается для всех действий средства управления. Каждое действие может определить, выполняется ли действие прежде или после того, как событие возникло. Значение возврата является значащим для действий, которые выполняют прежде, чем событие возникло. Действие может возвращать "истина", чтобы отменить последующее возникновение события. Действие может быть использовано в настройке режима возврата. Средства управления могут обращаться к действиям, реализующим интерфейс для действий, ассоциативно связанных с событиями, имеющими отношение к событиям возврата.
Фиг.8 - сегмент 800 примерного кода, показывающий, как основное средство управления «кнопка» может обеспечить функциональные возможности для декларативного определения действий управления.
Вышеупомянутое описание, примеры и данные обеспечивают полное описание изготовления и использования сущности изобретения. Поскольку многие варианты осуществления изобретения могут быть выполнены без отрыва от сущности и объема изобретения, это изобретение определено в прилагаемой формуле изобретения.