|
А.Демьянов
Аутсорсинг в программировании встраиваемых компьютеров
Встроенные (embedded) кмпьютеры, или, как их еще называют, "неПК" (попРС), окружают нас со всех сторон. Они в телефонах, автомобилях, телевизорах, фотоаппаратах и видеокамерах, принтерах и сканерах, измерительных приборах, телекоммуникационном оборудовании, - всего и не перечислишь. Несмотря на иногда совсем малые размеры, встроенные компьютеры (ВК) - сложнейшие с точки зрения программного обеспечения устройства.
Рисунок 1. Рост сложности встроенного ПО
Разработчикам встроенных микропроцессорных систем хорошо известно, что 80% затрат при разработке — это затраты на программное обеспечение. Конечно есть и простые устройства, где до сих пор применяются 16-, и даже 8-разрядные микроконтроллеры, но большинство окружающих нас ВК — это 32-разрядные машины с большим объемом встроенного программного обеспечения (ПО). Как правило, это ПО построено как набор параллельно исполняемых процессов, порядок исполнения которых планируется встроенной операционной системой.
Объем и сложность внутреннего ПО встроенных компьютеров с годами неуклонно возрастает. Если раньше сверху операционной системы было только прикладное ПО, то сегодня добавились многие другие компоненты (рис. 1), которые так же, как и операционная система, становятся предметом аутсорсинга.
Аутсорсинг — заимствование из внешнего источника — весьма распространенное явление в компьютерном (да и не только) мире. Производители давно поняли, что если делать всё самому, то изделие твоё попадет на рынок ровно тогда, когда оно уже не будет никому нужно. Уложиться в срок можно только, если максимально использовать готовые, серийно выпускаемые компоненты, в данном случае, программные.
Правда, заимствовать можно по-разному. Когда все менеджеры всех проектов находятся в свободном плавании, картина получается примерно такая, как на рис. 2. Различные компоненты для различных изделий покупаются у различных поставщиков. При этом на интеграцию покупных компонентов уходит времени больше, чем на разработку самого прикладного ПО.
Рисунок 2. "Аутсорсинг" свободное плавание
Немного упорядочить процессы разработки и снизить затраты на интеграцию компонентов помогает аутсорсинг "Преимущественного поставщика" (рис. 3). Теперь есть строго ограниченный круг поставщиков, с которыми заключены долгосрочные соглашения, и менеджеры проектов могут применять компоненты других поставщиков только в случае крайней необходимости и должны обосновывать эту необходимость каждый раз перед руководством.
Рисунок 3. Аутсорсинг "преимущественный поставщик"
И вроде стало полегче, а затраты на интеграцию компонент остаются высокими — всё-таки это продукты разных фирм. Лучше, конечно, покупать все компоненты уже интегрированным пакетом и заниматься только прикладным ПО. И время сэкономим, и специалистов высокого класса, который необходим для интеграции, искать не надо. Конечно при условии, что цены на такие пакеты будут приемлемые и себестоимость изделий моей компании снизится, а не возрастет.
Рисунок 4. Аутсорсинг "Стратегический поставщик"
Как говорится, был бы спрос, а предложение не заставит себя ждать. И поставщики программных компонентов стали предлагать не отдельные продукты, а интегрированные пакеты, которые можно использовать в качестве единой платформы для всех изделий, разрабатываемых на предприятии-производителе. Это высшая форма аутсорсинга — аутсорсинг "Стратегического поставщика" (рис. 4), при котором поставщик платформы работает фактически как подразделение заказчика, беря на себя все проблемы интеграции стандартных компонентов. Одной из первых выпустила на рынок интегрированные пакеты "Платформы" компания WIND RIVER. На сегодняшний день таких Платформ предлагается несколько для различных отраслей "народного хозяйства" (www.windriver.com/ platforms):
- Platform for Safety Critical — для авиационных бортовых систем;
- Platform for Network Equipment— для телекоммуникационного оборудования;
- Platform for Industrial Devices — для промышленных контроллеров;
- Platform for Consumer Devices — для бытовой электроники;
- Platform for Car Infotainment — для автомобильной телематики.
Все Платформы базируются на встраиваемой операционной системе VxWorks и её инструментальной среде Tornado. Рассмотрим структуру Платформ на примере пакета для разработчиков телекоммуникационного оборудования Platform for Network Equipment.
Состав Platform NE показан на рис. 5.
Рисунок 5. Состав Platform NE
Встраиваемые (runtime) программные компоненты:
- операционная система VxWorks;
- IP-стек для маршрутизирующих устройств WindNet Router Stack;
- протоколы маршрутизации RIP и OSPF;
- протоколы удаленного доступа РРР/ РРРоЕ;
- агент SNMP vl/v2c/v3 WindManage SNMP.
Средства разработки:
- интегрированная инструментальная среда Tornado;
- C/C++ кросс-компилятор и кросс-отладчик;
- динамический анализатор системных события WindView;
- средства управления проектом SN1FF+;
- пакет для портирования и разработки драйверов BSP Developer's Kit.
Оборудование:
- отладочная плата (reference design) на микроконтроллере МРС8260;
- В DM/JTAG-интерфейс и внутрисхемный эмулятор visionlCE.
Сервис:
- годовая техническая поддержка;
- двухдневное обучение на территории заказчика.
"Платформы" продаются по новой, "корпоративной" модели лицензирования, которая не ограничена отдельным проектом, территориальным расположением рабочих мест и используемой микропроцессорной архитектурой. Пользователь оплачивает только количество реально используемых в течение года в различных проектах рабочих мест, что позволяет более точно планировать затраты на разработки по предприятию в целом. "Корпоративная" модель воспринята заказчиками WIND RIVER положительно, что подтверждает быстрый рост количества установленных рабочих мест. За первый год поставок Платформ количество рабочих мест достигло двух тысяч. Среди пользователей Платформ Wind River — BAE Systems, Boeing, Fluke Networks, Hewlett Packard, Huawei Technologies, Hughes Network Systems, Intel, Lucent Technologies, Motorola, Nortel Networks, Pace Micro Technology, Qual-comm, Raytheon, Samsung, Sanyo, Siemens VDO, Solectron Corporation, Sony, Toyota и другие.
|