|
Концепции построения встраиваемого ПО, Книги, статьи и т.п. |
|
|
|
Nov 27 2015, 13:03
|
Участник

Группа: Участник
Сообщений: 29
Регистрация: 23-09-08
Из: Россия
Пользователь №: 40 430

|
Здравствуйте. Если интересно, то посмотрите http://www.state-machine.comУ автора есть книга по событийной модели проектирования встроенного ПО. Также полезно, как мне кажется, ознакомится с так называемым Test Driven Development подходом к разработке. Есть книга Джеймса Греннинга Test-Driven Development for Embedded C.
|
|
|
|
|
Nov 27 2015, 13:06
|
Частый гость
 
Группа: Участник
Сообщений: 147
Регистрация: 9-01-14
Пользователь №: 79 952

|
Цитата(tamam @ Nov 27 2015, 17:03)  Здравствуйте. Если интересно, то посмотрите http://www.state-machine.comУ автора есть книга по событийной модели проектирования встроенного ПО. Также полезно, как мне кажется, ознакомится с так называемым Test Driven Development подходом к разработке. Есть книга Джеймса Греннинга Test-Driven Development for Embedded C. Благодарствую) Думать уж начал, что всем нечего посоветовать)
|
|
|
|
|
Dec 2 2015, 12:33
|
Частый гость
 
Группа: Участник
Сообщений: 147
Регистрация: 9-01-14
Пользователь №: 79 952

|
Цитата(syoma @ Nov 30 2015, 13:51)  Вопрос ТС - вас интересует построение программ от А до Я, т.е. взаимодействие с железом, алгоритмы управления, сетевые протоколы, интерфейсы пользователя? Или что-то конкретное? Видать неясно выразился) Интересует то, как строить программы для встраиваемых систем. Какие существуют концепции(супер цикл, конечный автомат, ОС, ОСРВ). Полное описание этих концепций. Как правильно строить абстракции (HAL, API). Рекомендации: в каком случае применять ту или иную концепцию. И да, это включает в себя и взаимодействие с железом, и алгоритмы управления, и сетевые протоколы, и интерфейсы пользователя. Вдобавок, организация проектов, оформление кода и документации к ПО. В общем, базовая литература, применительно к встраиваемому ПО.
|
|
|
|
|
Dec 4 2015, 15:16
|
Частый гость
 
Группа: Участник
Сообщений: 147
Регистрация: 9-01-14
Пользователь №: 79 952

|
Цитата(Tarbal @ Dec 4 2015, 16:21)  Как я понял интересует теоретический аспект. Мог бы поделиться практическими методами реалтайма с использованием суперцикла если это не будет офтопиком. Конечно это не будет оффотопом. Тема для того и создавалась, чтобы собрать в кучу имеющиеся у народа материалы. А практические методы(примеры)- это действительно ценный материал. Уверен он будет полезен, и не только лично мне)
|
|
|
|
|
Dec 4 2015, 15:37
|
Профессионал
    
Группа: Свой
Сообщений: 1 817
Регистрация: 14-02-07
Из: наших, которые работают за бугром
Пользователь №: 25 368

|
Цитата Мог бы поделиться практическими методами реалтайма с использованием суперцикла если это не будет офтопиком. Вы же уже в "общении" поделились. Цитата Интересует то, как строить программы для встраиваемых систем. Какие существуют концепции(супер цикл, конечный автомат, ОС, ОСРВ). Полное описание этих концепций. Как правильно строить абстракции (HAL, API). Рекомендации: в каком случае применять ту или иную концепцию. И да, это включает в себя и взаимодействие с железом, и алгоритмы управления, и сетевые протоколы, и интерфейсы пользователя. Я не знаю, правильно ли я понял, но концепции это одно, архитектура - это ИМХО другое. Например суперцикл, конечный автомат - это хорошие концепции для применения в алгоритмах управления. Интерфейсы пользователя обычно строятся на событийной модели. Сетевые протоколы - модель OSI. Применять конечный автомат в интерфейсе пользователя я думаю не получится. Поэтому я и спрашивал насчет конкретики. С точки зрения методологии для создания ПО для управления чем либо физическим в реальном времени, или обработки сигналов, то тут в настоящий момент ИМХО рулит модельно-ориентированное проектирование.То есть создание моделей объектов управления и контроллеров для них в результате моделирования. В данной методологии вы можете применять как классическую теорию управления, так и автоматы состояния. И ли все вместе. Главное - решить задачу. Потом генерите код для своего встраиваемого контроллера и на этом забываете об этой части ПО. Данная методология также включает в себя создание архитектуры контроллера исходя из требований к реакции на внешние события, менеджмент самих требований, организация тестирования, и создание документации для этой части встроенного ПО
|
|
|
|
|
Dec 4 2015, 16:01
|
Частый гость
 
Группа: Участник
Сообщений: 147
Регистрация: 9-01-14
Пользователь №: 79 952

|
Цитата(syoma @ Dec 4 2015, 18:37)  Я не знаю, правильно ли я понял, но концепции это одно, архитектура - это ИМХО другое. Например суперцикл, конечный автомат - это хорошие концепции для применения в алгоритмах управления. Интерфейсы пользователя обычно строятся на событийной модели. Сетевые протоколы - модель OSI. Применять конечный автомат в интерфейсе пользователя я думаю не получится. Поэтому я и спрашивал насчет конкретики. Согласен: концепция и архитектура- это разные вещи. Концепция стоит над архитектурой. Последняя разрабатывается исходя из первой. Главное, чего хочу добиться, собрать информацию о имеющихся концепциях построения ПО для встраиваемых систем. Сперва обобщённую. Потом уже более детально разобранные частные случаи и рекомендации по применению. Собрав материал в такой последовательности, и проанализировав его, можно будет себе чётко представить общую картину того, какие варианты решения задач по построению ПО встраиваемых систем имеются на данный момент и какие концепции("методологии") стоит применять при решении конкретных задач. А далее оформление... Цитата С точки зрения методологии для создания ПО для управления чем либо физическим в реальном времени, или обработки сигналов, то тут в настоящий момент ИМХО рулит То есть создание моделей объектов управления и контроллеров для них в результате моделирования. В данной методологии вы можете применять как классическую теорию управления, так и автоматы состояния. И ли все вместе. Главное - решить задачу. Потом генерите код для своего встраиваемого контроллера и на этом забываете об этой части ПО. Данная методология также включает в себя создание архитектуры контроллера исходя из требований к реакции на внешние события, менеджмент самих требований, организация тестирования, и создание документации для этой части встроенного ПО Это конкретный частный случай. Посоветуйте, пожалуйста, литературу об этой "методологии".
|
|
|
|
|
Mar 2 2016, 13:57
|
Частый гость
 
Группа: Участник
Сообщений: 147
Регистрация: 9-01-14
Пользователь №: 79 952

|
Несколько итераций поисков дали следующие результаты: 1) "Real-Time Design Patterns: Robust Scalable Architecture for Real-Time Systems", Bruce Powel Douglass Серьёзная фундаментальная книга с описанием паттернов разработки систем реального времени. Недостаток- отсутствие примеров, чистая теория. 2) "Real-Time Concepts for Embedded Systems", Qing Li and Carolyn Достаточно объёмная книга, основной уклон на ОСРВ. 3) "Embedded Software Development The Open-Source Approach", Ivan Cibrario Bertolotti, Tingting Hu Описание процесса разработки для встраиваемых систем. Захватывает практически все вопросы разработки, кроме тестирования ПО для встраиваемых систем 4) "Programming Embedded Systems, Second Edition with C and GNU Development Tools", Michael Barr & Anthony Massa, Полное описание разработки ПО. Затронуты MCU и embedded Linux 5) "Языки программирования Концепции и принципы", Кауфман В. Ш. Фундаментальная книга по общей теории программирования, начиная с теории ЯП и заканчивая парадигмами софтостроения. Книги очень хорошие, объёмные. Полезны будут, как в практике, так и уталении академического интереса. PS: Про встраиваемые системы на русском языке солидной литературы не нашлось, покамест
Сообщение отредактировал gazpar - Mar 2 2016, 13:57
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|