реклама на сайте
подробности

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> Концепции построения встраиваемого ПО, Книги, статьи и т.п.
gazpar
сообщение Nov 27 2015, 05:05
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 147
Регистрация: 9-01-14
Пользователь №: 79 952



Здравствуйте.

Интересуют книги, статьи, методички, примеры(небольшие(Linux уж слишком объёмен)) и т.п., описывающие то, как нужно строить программы от малых и простых до больших и сложных для встраиваемых систем.

Под построением программы я подразумеваю следующее:
1) Архитектура программы
2) Организация проекта
3) Оформление кода
4) Оформление документации

Есть ли в природе такие базовые труды(желательно на русском или английском)?
Посоветуйте, пожалуйста, литературу по концепциям построения ПО.
Go to the top of the page
 
+Quote Post
tamam
сообщение Nov 27 2015, 13:03
Сообщение #2


Участник
*

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



Здравствуйте.

Если интересно, то посмотрите http://www.state-machine.com
У автора есть книга по событийной модели проектирования встроенного ПО.
Также полезно, как мне кажется, ознакомится с так называемым Test Driven Development подходом к разработке.
Есть книга Джеймса Греннинга Test-Driven Development for Embedded C.
Go to the top of the page
 
+Quote Post
gazpar
сообщение Nov 27 2015, 13:06
Сообщение #3


Частый гость
**

Группа: Участник
Сообщений: 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.



Благодарствую)
Думать уж начал, что всем нечего посоветовать)
Go to the top of the page
 
+Quote Post
syoma
сообщение Nov 30 2015, 09:51
Сообщение #4


Профессионал
*****

Группа: Свой
Сообщений: 1 817
Регистрация: 14-02-07
Из: наших, которые работают за бугром
Пользователь №: 25 368



Вопрос ТС - вас интересует построение программ от А до Я, т.е. взаимодействие с железом, алгоритмы управления, сетевые протоколы, интерфейсы пользователя? Или что-то конкретное?
Go to the top of the page
 
+Quote Post
gazpar
сообщение Dec 2 2015, 12:33
Сообщение #5


Частый гость
**

Группа: Участник
Сообщений: 147
Регистрация: 9-01-14
Пользователь №: 79 952



Цитата(syoma @ Nov 30 2015, 13:51) *
Вопрос ТС - вас интересует построение программ от А до Я, т.е. взаимодействие с железом, алгоритмы управления, сетевые протоколы, интерфейсы пользователя? Или что-то конкретное?


Видать неясно выразился)

Интересует то, как строить программы для встраиваемых систем. Какие существуют концепции(супер цикл, конечный автомат, ОС, ОСРВ). Полное описание этих концепций. Как правильно строить абстракции (HAL, API). Рекомендации: в каком случае применять ту или иную концепцию. И да, это включает в себя и взаимодействие с железом, и алгоритмы управления, и сетевые протоколы, и интерфейсы пользователя.

Вдобавок, организация проектов, оформление кода и документации к ПО.

В общем, базовая литература, применительно к встраиваемому ПО.
Go to the top of the page
 
+Quote Post
Grizzzly
сообщение Dec 2 2015, 18:18
Сообщение #6


Знающий
****

Группа: Свой
Сообщений: 565
Регистрация: 22-02-13
Пользователь №: 75 748



Присоединяюсь к просьбе ТС.
Go to the top of the page
 
+Quote Post
syoma
сообщение Dec 3 2015, 07:29
Сообщение #7


Профессионал
*****

Группа: Свой
Сообщений: 1 817
Регистрация: 14-02-07
Из: наших, которые работают за бугром
Пользователь №: 25 368



А что такое "супер-цикл"?
Go to the top of the page
 
+Quote Post
Grizzzly
сообщение Dec 3 2015, 07:45
Сообщение #8


Знающий
****

Группа: Свой
Сообщений: 565
Регистрация: 22-02-13
Пользователь №: 75 748



Цитата(syoma @ Dec 3 2015, 10:29) *
А что такое "супер-цикл"?

Super-Loop Architecture - бесконечный цикл.
Go to the top of the page
 
+Quote Post
Tarbal
сообщение Dec 4 2015, 13:21
Сообщение #9


Профессионал
*****

Группа: Свой
Сообщений: 1 351
Регистрация: 21-05-10
Пользователь №: 57 439



Как я понял интересует теоретический аспект. Мог бы поделиться практическими методами реалтайма с использованием суперцикла если это не будет офтопиком.
Go to the top of the page
 
+Quote Post
gazpar
сообщение Dec 4 2015, 15:16
Сообщение #10


Частый гость
**

Группа: Участник
Сообщений: 147
Регистрация: 9-01-14
Пользователь №: 79 952



Цитата(Tarbal @ Dec 4 2015, 16:21) *
Как я понял интересует теоретический аспект. Мог бы поделиться практическими методами реалтайма с использованием суперцикла если это не будет офтопиком.


Конечно это не будет оффотопом. Тема для того и создавалась, чтобы собрать в кучу имеющиеся у народа материалы.
А практические методы(примеры)- это действительно ценный материал. Уверен он будет полезен, и не только лично мне)
Go to the top of the page
 
+Quote Post
syoma
сообщение Dec 4 2015, 15:37
Сообщение #11


Профессионал
*****

Группа: Свой
Сообщений: 1 817
Регистрация: 14-02-07
Из: наших, которые работают за бугром
Пользователь №: 25 368



Цитата
Мог бы поделиться практическими методами реалтайма с использованием суперцикла если это не будет офтопиком.

Вы же уже в "общении" поделились. wink.gif

Цитата
Интересует то, как строить программы для встраиваемых систем. Какие существуют концепции(супер цикл, конечный автомат, ОС, ОСРВ). Полное описание этих концепций. Как правильно строить абстракции (HAL, API). Рекомендации: в каком случае применять ту или иную концепцию. И да, это включает в себя и взаимодействие с железом, и алгоритмы управления, и сетевые протоколы, и интерфейсы пользователя.

Я не знаю, правильно ли я понял, но концепции это одно, архитектура - это ИМХО другое.
Например суперцикл, конечный автомат - это хорошие концепции для применения в алгоритмах управления. Интерфейсы пользователя обычно строятся на событийной модели. Сетевые протоколы - модель OSI.
Применять конечный автомат в интерфейсе пользователя я думаю не получится.
Поэтому я и спрашивал насчет конкретики.

С точки зрения методологии для создания ПО для управления чем либо физическим в реальном времени, или обработки сигналов, то тут в настоящий момент ИМХО рулит модельно-ориентированное проектирование.
То есть создание моделей объектов управления и контроллеров для них в результате моделирования.
В данной методологии вы можете применять как классическую теорию управления, так и автоматы состояния. И ли все вместе. Главное - решить задачу.
Потом генерите код для своего встраиваемого контроллера и на этом забываете об этой части ПО. Данная методология также включает в себя создание архитектуры контроллера исходя из требований к реакции на внешние события, менеджмент самих требований, организация тестирования, и создание документации для этой части встроенного ПО
Go to the top of the page
 
+Quote Post
gazpar
сообщение Dec 4 2015, 16:01
Сообщение #12


Частый гость
**

Группа: Участник
Сообщений: 147
Регистрация: 9-01-14
Пользователь №: 79 952



Цитата(syoma @ Dec 4 2015, 18:37) *
Я не знаю, правильно ли я понял, но концепции это одно, архитектура - это ИМХО другое.
Например суперцикл, конечный автомат - это хорошие концепции для применения в алгоритмах управления. Интерфейсы пользователя обычно строятся на событийной модели. Сетевые протоколы - модель OSI.
Применять конечный автомат в интерфейсе пользователя я думаю не получится.
Поэтому я и спрашивал насчет конкретики.

Согласен: концепция и архитектура- это разные вещи. Концепция стоит над архитектурой. Последняя разрабатывается исходя из первой.
Главное, чего хочу добиться, собрать информацию о имеющихся концепциях построения ПО для встраиваемых систем. Сперва обобщённую. Потом уже более детально разобранные частные случаи и рекомендации по применению.
Собрав материал в такой последовательности, и проанализировав его, можно будет себе чётко представить общую картину того, какие варианты решения задач по построению ПО встраиваемых систем имеются на данный момент и какие концепции("методологии") стоит применять при решении конкретных задач.
А далее оформление...

Цитата
С точки зрения методологии для создания ПО для управления чем либо физическим в реальном времени, или обработки сигналов, то тут в настоящий момент ИМХО рулит
То есть создание моделей объектов управления и контроллеров для них в результате моделирования.
В данной методологии вы можете применять как классическую теорию управления, так и автоматы состояния. И ли все вместе. Главное - решить задачу.
Потом генерите код для своего встраиваемого контроллера и на этом забываете об этой части ПО. Данная методология также включает в себя создание архитектуры контроллера исходя из требований к реакции на внешние события, менеджмент самих требований, организация тестирования, и создание документации для этой части встроенного ПО

Это конкретный частный случай. Посоветуйте, пожалуйста, литературу об этой "методологии".


Go to the top of the page
 
+Quote Post
syoma
сообщение Dec 4 2015, 17:08
Сообщение #13


Профессионал
*****

Группа: Свой
Сообщений: 1 817
Регистрация: 14-02-07
Из: наших, которые работают за бугром
Пользователь №: 25 368



Цитата
Это конкретный частный случай. Посоветуйте, пожалуйста, литературу об этой "методологии".

Русскоязычных материалов мало. http://matlab.ru/solutions/mbd/mbd
Все обучащие материалы на английском.
http://de.mathworks.com/solutions/model-based-design/
Go to the top of the page
 
+Quote Post
alexunder
сообщение Dec 12 2015, 16:46
Сообщение #14


unexpected token
****

Группа: Свой
Сообщений: 899
Регистрация: 31-08-06
Из: Мехелен, Брюссель
Пользователь №: 19 987



Цитата(gazpar @ Dec 2 2015, 13:33) *
Как правильно строить абстракции (HAL, API).

тоже интересует, есть ли какие-то общие принципы построения HAL.


--------------------
А у тебя SQUID, и значит, мы умрем.
Go to the top of the page
 
+Quote Post
gazpar
сообщение Mar 2 2016, 13:57
Сообщение #15


Частый гость
**

Группа: Участник
Сообщений: 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: Про встраиваемые системы на русском языке солидной литературы не нашлось, покамест laughing.gif

Сообщение отредактировал gazpar - Mar 2 2016, 13:57
Go to the top of the page
 
+Quote Post

2 страниц V   1 2 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 16th June 2025 - 00:20
Рейтинг@Mail.ru


Страница сгенерированна за 0.23782 секунд с 7
ELECTRONIX ©2004-2016