0+
текст
PDF

Объем 176 страниц

2011 год

0+

Автоматное программирование

текст
PDF
Нет в продаже

О книге

В книге рассматривается автоматное программирование – подход к разработке программных систем со сложным поведением, основанный на модели автоматизированного объекта управления (расширении конечного автомата). Предлагаемый подход позволяет создавать качественное программное обеспечение для ответственных систем, охватывая все этапы его жизненного цикла и поддерживая его спецификацию, проектирование, реализацию, тестирование, верификацию и документирование.Книга предназначена для специалистов в области программирования, информатики, вычислительной техники и систем управления, а также аспирантов и студентов, обучающихся по специальностям «Прикладная математика и информатика», «Управление и информатика в технических системах» и «Вычислительные машины, системы, комплексы и сети».

Жанры и теги

Зачем это нужно

Мой первый опыт работы программирования в данном стиле(можно назвать методом) был связан с разработкой ПО под микроконтроллер STM32 для задачи управления несколькими двигателями с учетом показаний датчиков. Коллега порекомендовал почитать Шалыто «Автоматное программирование» и воспользоваться методами, указанными в книге. Результат превзошел мои ожидания, объем кода удалось сократить раза в 2, читаемость улучшилась.

Книга будет полезна в первую очередь начинающим разработчикам – примеры понятны, язык доступен. «Автоматное программирование» оказало существенное влияние на собственный стиль разработки ПО не только для микроконтроллеров, но и десктопных систем.

По-моему Очень глубокая книга (и при этом краткая).

Автоматное программирование – один из подходов, которые должны помочь решить Основное Противоречие современного IT: чрезвычайная Сложность и Высокочастотная Изменчивость прикладной логики эксплуатантов, при одновременном требовании Высочайшей Надежности (предсказуемость, однозначность подведения и корректная обработка исключительных ситуаций).


Другие подходы, непосредственно родственные Автоматному Программированию:

* Domain Driven Design (DDD) – по сути проекция единых методов Системной Инженерии (Systems Engineering) на разработку ПО.


* Языково-ориентированное программирование – создание узко-специализированных языков предметной области (Domain Specific Language, DSL)

для описания алгоритмов и структур данных «данного ограниченного контекста модели предметной области», выражаясь в терминах DDD.


* Test Driven Design (TDD)


* Контрактное программирование (ЯП Eiffel, Бертран Мейер) – по сути, автоматное описание, описание на DSL, юнит-тесты в TDD… – все это формы «контракта», когда

Система обязуется обработать некую ситуацию так-то и так-то.


Это тесно переплетается в идеей Шалыто, что нужен не «открытый исходный код» («открытый» часто лишь для того, кто его писал сам, а для остальных – «проще переписать заново!»), но «открытые спецификации» (по четко описанным спецификациям, генерировать исполняемый код сможет система мета-программирования автоматически.)

Но по-настоящему «открытыми» спецификации могут стать Только тогда, когда выражены очень просто, на языке, понятном специалисту предметной области, которую мы хотим автоматизировать. Пока же мы «хороним» прикладную логику под тоннами низкоуровневого кода на C++/Qt, SQL и reg-exp , то поведение системы для эксплуатантов совершенно непонятно. А знания предметной области, накопленные за годы (!) эксплуатации системы будут утеряны – т.к. выражены не в human-readable спецификациях, а «размазаны» по «костыльному» коду (а, начиная с некоторого уровня сложности, который достигается «неожиданно» быстро, код становится непонятным и для нас самих тоже).

Прочитал пока поверхностно, т.к. учился 20 лет назад и фразы типа

"автоматное программирование" и «автоматные модели» мешают воспринимать информацию. Идеи заслуживают внимания.

Если заменить, для старообразованных, фразы и выражения на принятые раньше ( и более, по моему логичные «программирование автоматов», «модели автоматов» и т.п.), будет читабельнее и меньше смахивать на гугл-перводчик.

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

Автор очень быстро перешел к математическим формулам прервав повествование от простого к сложному.

Рекомендую для начала прочитать понятное введение в автоматы Мура и Мили на примере светофора в книге

Цифровая схемотехника и архитектура компьютера

Авторы:Дэвид Харрис, Сара Л. Харрис

https://www.litres.ru/devid-harris/cifrovaya-shemotehnika-i-arhitektura-komputera-27066912/

Оставьте отзыв

Войдите, чтобы оценить книгу и оставить отзыв

Описание книги

В книге рассматривается автоматное программирование – подход к разработке программных систем со сложным поведением, основанный на модели автоматизированного объекта управления (расширении конечного автомата). Предлагаемый подход позволяет создавать качественное программное обеспечение для ответственных систем, охватывая все этапы его жизненного цикла и поддерживая его спецификацию, проектирование, реализацию, тестирование, верификацию и документирование.

Книга предназначена для специалистов в области программирования, информатики, вычислительной техники и систем управления, а также аспирантов и студентов, обучающихся по специальностям «Прикладная математика и информатика», «Управление и информатика в технических системах» и «Вычислительные машины, системы, комплексы и сети».

Книга Надежды Поликарповой, Анатолия Шалыто «Автоматное программирование» — скачать в pdf или читать онлайн. Оставляйте комментарии и отзывы, голосуйте за понравившиеся.
Возрастное ограничение:
0+
Дата выхода на Литрес:
18 марта 2011
Последнее обновление:
2011
Объем:
176 стр.
ISBN:
978-5-4237-0075-1
Общий размер:
4.5 МБ
Общее кол-во страниц:
176
Правообладатель:
Питер
Формат скачивания:
pdf