Читаем Встраиваемые системы. Проектирование приложений на микроконтроллерах семейства 68HC12/HCS12 с применением языка С полностью

Основные типы операторов представлены на рис. 2.6. Программа начинается с оператора начального запуска и заканчивается оператором останова. Множество различных действий совершается под управлением программы в процессе ее выполнения. Каждое действие отображается оператором процесса, который производит изменение значения, формы представления или расположения данных. Оператор процесса может иметь любое количество входов, но только один выход. Переход от одного оператора к другому обозначается стрелкой. Если в процессе выполнения очередного действия производится анализ некоторого внешнего сигнала или внутреннего состояния программы с последующим выбором, по какому пути продолжить исполнения программы, то такое действие отображается условным оператором (другое название — оператор решения). Условный оператор имеет один вход и несколько выходов. После выполнения действий условного оператора программа может «избрать» только один путь. Поэтому условия, по которым определяется направление выхода из оператора решения, должны быть взаимоисключающими. Оператор слияния (поглощения), в соответствие со своим названием, позволяет соединить несколько отдельных ветвей алгоритма в одну. В завершение мы включили два оператора, которые характерны для структурного программирования. Это операторы ветвления и объединения, которые предназначены для отображения работы систем с параллельными вычислителями [2,3]. В качестве первого примера использования условных графических обозначений UML мы представили средствами универсального языка моделирования процесс структурного проектирования, блок схема алгоритма которого приведена на рис. 2.7. На рис. 2.8 тот же процесс представлен с большей степенью подробности, что немедленно привело к усложнению блок схемы алгоритма.


Рис. 2.6.

Условные графические обозначения операторов универсального языка моделирования UML


Рис. 2.7. Блок схема алгоритма структурного проектирования


Рис. 2.8. Блок схема алгоритма разработки и тестирования программного обеспечения встраиваемой системы

2.8. Пример применения

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

В качестве темы дипломного проектирования одному из авторов этой книги было предложено разработать систему управления медицинским лазером для лечения различных расстройств зрения. Около шести месяцев он провел в библиотеке, изучая технологии лазерной глазной хирургии. В итоге, его представления о функциях контроллера управления хирургическим лазером изменились коренным образом в сторону их увеличения. Результаты своего исследования автор воплотил в структурной схеме рис. 2.9, которая отражает все возможные функции системы автоматизированного управления хирургическим лазером и их взаимосвязь в проекте. Обратите внимание, что в данном случае метод структурного проектирования использован для систематизации функций системы управления, когда задачи проектирования аппаратного и программного обеспечения системы еще не поставлены.

Рис. 2.9. Структура функций медицинского лазера

2.9. Заключение по главе 2

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

2.10 Что еще почитать?

1. Dale, Nell, and Susan С. Lilly. Pascal Plus Data Structures. 4th ed. Englewood Cliffs, NJ: Jones and Bartlett, 1995.

2. Douglass, Bruce Powel. Real Time UML Developing Efficient Objects for Embedded Systems. 2nd ed. Boston: Addison Wesley, 2000.

Перейти на страницу:

Похожие книги

C# 4.0: полное руководство
C# 4.0: полное руководство

В этом полном руководстве по C# 4.0 - языку программирования, разработанному специально для среды .NET, - детально рассмотрены все основные средства языка: типы данных, операторы, управляющие операторы, классы, интерфейсы, методы, делегаты, индексаторы, события, указатели, обобщения, коллекции, основные библиотеки классов, средства многопоточного программирования и директивы препроцессора. Подробно описаны новые возможности C#, в том числе PLINQ, библиотека TPL, динамический тип данных, а также именованные и необязательные аргументы. Это справочное пособие снабжено массой полезных советов авторитетного автора и сотнями примеров программ с комментариями, благодаря которым они становятся понятными любому читателю независимо от уровня его подготовки. Книга рассчитана на широкий круг читателей, интересующихся программированием на C#.Введите сюда краткую аннотацию

Герберт Шилдт

Программирование, программы, базы данных
Программирование. Принципы и практика использования C++ Исправленное издание
Программирование. Принципы и практика использования C++ Исправленное издание

Специальное издание самой читаемой и содержащей наиболее достоверные сведения книги по C++. Книга написана Бьярне Страуструпом — автором языка программирования C++ — и является каноническим изложением возможностей этого языка. Помимо подробного описания собственно языка, на страницах книги вы найдете доказавшие свою эффективность подходы к решению разнообразных задач проектирования и программирования. Многочисленные примеры демонстрируют как хороший стиль программирования на С-совместимом ядре C++, так и современный -ориентированный подход к созданию программных продуктов. Третье издание бестселлера было существенно переработано автором. Результатом этой переработки стала большая доступность книги для новичков. В то же время, текст обогатился сведениями и методиками программирования, которые могут оказаться полезными даже для многоопытных специалистов по C++. Не обойдены вниманием и нововведения языка: стандартная библиотека шаблонов (STL), пространства имен (namespaces), механизм идентификации типов во время выполнения (RTTI), явные приведения типов (cast-операторы) и другие. Настоящее специальное издание отличается от третьего добавлением двух новых приложений (посвященных локализации и безопасной обработке исключений средствами стандартной библиотеки), довольно многочисленными уточнениями в остальном тексте, а также исправлением множества опечаток. Книга адресована программистам, использующим в своей повседневной работе C++. Она также будет полезна преподавателям, студентам и всем, кто хочет ознакомиться с описанием языка «из первых рук».

Бьёрн Страуструп , Ирина Сергеевна Козлова , Бьерн Страуструп , Валерий Федорович Альмухаметов

Программирование, программы, базы данных / Базы данных / Программирование / Учебная и научная литература / Образование и наука / Книги по IT