ЖУРНАЛ СТА 1/1996
1/96 108 ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ СИСТЕМЫ РЕАЛЬНОГО ВРЕМЕНИ сообщений от клиентов извещения от заместителя о приходе события. Разработка программ Наверное, не ошибусь, если скажу, что эта глава вызовет наибольший инте- рес у программистов. В среде Photon могут создавать программы как те, кто поработал с X или MS Windows, так и люди, впервые столкнувшиеся с гра- фическим интерфейсом. Разработчи- ки Photon позаботились о простоте и мощности интерфейса программис- та, снабдив его редактором, обеспечи- вающим визуальное программирова- ние, — Application Builder. Программы Photon могут использо- вать несколько уровней программно- го обеспечения, представленного библиотечными функциями. На нижнем уровне пол ь з о в а т е л ь может работать с графическими примитивами типа «линия», «текст» и им по- добными. На верхнем уровне программирова- ния пользовате- лю доступны го- товые элементы интерфейса, на- зываемые вид- жеты (widgets) [1], [2]. Виджеты представляют собой объекты, поведе- нием которых на экране может управ- лять Photon. Преимущества такого под- хода очевидны: программист не должен обладать информацией о дета- лях реализации того или иного объек- та, ему нужно знать только функции, организующие интерфейс c этим вид- жетом, такие как создание, уничтоже- ние и управление ресурсами. Наряду с геометрическими ресурсами, такими как цвет, размер, положение в про- странстве событий, каждый виджет поддерживает ресурс, представляющий собой список функций, определяемых программистом (callbacks) и выполняе- мых после получения какого-либо со- бытия. Например в список ресурсов объекта «кнопка» можно внести функ- цию открытия нового окна и измене- ния вида кнопки после ее нажатия. Виджеты, как правило, не являются уникальными, а представляют собой семейства, образующие класс. Все вид- жеты, принадлежащие к одному клас- су, обладают одинаковыми свойства- ми и могут наследовать свойства своих базовых классов. Помимо виджетов, представленных в библиотеках Photon, программист может использовать свои собственные виджеты или перенесен- ные из среды XWindow System. Листинги программ управления ре- сурсами виджетов на примере знаме- нитого «Hello World» вы можете за- просить по e-mail. Пример использо- вания возможностей Application Builder для реализации той же самой программы дан на рис. 5. Несколько практических аспектов Компактность Самими разработчиками Photon рек- ламируется как графическая оболочка для встроенных систем (embedded sys- tems) [5], [6], [7]. Скорее всего, само по- нятие «встроенные системы» требует некоторой конкретизации. Речь идет о любой реализации компьютера, от- личной от той, которую вы видите на своем столе. Под эту классификацию попадают, в основном, компьютеры с ограниченными ресурсами памяти, как дисковой, так и оперативной. Очевидно, что установка 16-32 Мбайт ОЗУ на промышленный кон- троллер только для возможности ви- зуализации процесса в X Window System была бы непозволительной ро- скошью. Но на добавление 1-2 Мбайт ради возможности получить удобный графический интерфейс, вероятнее всего, согласятся многие. Так, например, необходимый для ра- боты пользовательской программы набор, включающий ядро Photon, гра- фический драйвер и администратор окон, занимает не более 360 К ОЗУ. Масштабируемость Модульная архитектура Photon позво- ляет настраивать систему по вашему требованию. Например, когдавынеосо- бенно ограничены в аппаратных ресур- сах, то есть работаете на компьютере с 4-8 Мбайт ОЗУ, то легко можете себе позволить использовать менеджер ра- бочего стола (Photon Desktop Mana- ger) либо свои сервисные утилиты. А программу, разработанную для мощ-
Made with FlippingBook
RkJQdWJsaXNoZXIy MTQ4NjUy