Проектирование и разработка проблемно-ориентированного уровня абстрагирования от аппаратуры

Сероштан С.Ю., Гордеев А.Г., Гриценко А.А., Теплинский С.В.

Інформатика та комп'ютерні технології - 2009 / Матеріали V науково-технічної конференції студентів, аспирантів та молодих вчених - 15-15 квітня 2009, ДонНТУ, Донецьк - 2009 - 576 с.; с іл.

 

Введение

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

 

Описание концепции

Согласно [1] многоуровневая организация приложения представляет собой способ декомпозиции задач, решаемых в рамках данного приложения и сущностей, относящихся к предметной области этого приложения, по одному или нескольким критериям. Среди этих критериев выделяются: абстрактность, однородность, удаленность от аппаратного обеспечения и частота внесения изменений. Влияние этих критериев на способ декомпозиции приложения показано на рис. 1.

 

Рис. 1. Критерии разделения логики приложения между уровнями

 

Многоуровневая архитектура предполагает, что каждый из уровней взаимодействует только с нижележащим уровнем (рис. 2). В таком случае, логика программных компонент основывается только на сервисах, которые предоставляются проблемно-ориентированными библиотеками. Как было отмечено ранее, эти сервисы проектируются исходя из требований разрабатываемого приложения. Следовательно, в данном случае можно говорить о нисходящем проектировании. Однако, важным является то, что необходимо учитывать и ограничения целевой аппаратной платформы. То есть набор сервисов, реализуемых проблемно-ориентированными библиотеками, определяется пересечением требований проектируемого приложения и возможностей целевой аппаратной платформы.

Рис. 2. Обобщенная схема многоуровневой архитектуры приложения

 

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

 

Рис. 3 – Предлагаемый вариант развития многоуровневой архитектуры

 

Пример использования

Рассмотрим в качестве примера систему опроса датчиков. С точки зрения приложения речь идет об опросе набора датчиков, представленных в виде объектно-ориентированных абстракций [2]. С точки зрения аппаратуры речь может идти о достаточно сложной схеме, которая включает набор аналоговых датчиков, аналоговый коммутатор и аналого-цифровой преобразователь. Так как проектирование осуществляется сверху вниз (то есть основывается, в первую очередь, на требованиях приложения), проблемно-ориентированный уровень абстрагирования от аппаратуры должен предоставлять только абстракцию порта аналогового датчика (или собственно абстракцию аналогового датчика), а остальные абстракции являются деталями реализации (рис. 4).

Рис. 4. Система опроса датчиков

Вывод

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

[1] F. Buschmann, R. Meunier, H. Rohnert, P. Sommerlad, M. Stal. Pattern-Oriented Software Architecture, Volume 1, A System of Patterns. Wiley, 1996. – 476 p.

[2] Буч Г., Максимчук Р.А., Энгл М., Янг Б., Коналлен Д., Хьюстон К. Объектно-ориентированный анализ и проектирование с примерами приложений, 3-е изд.: Пер. с англ. – М.: ООО "И.Д. Вильямс", 2008. – 720 с.