- Руководства по пользованию программами
- Операционные системы и утилиты для ПК
- Интернет
- Графика. Дизайн. Проектирование
- Программы и утилиты для цифровых устройств
- Железо ПК
- Информатика
- Сети и коммуникации
- Бухгалтерия
- Базы данных
- Анализ данных
- Электронная бухгалтерия
- Машинное обучение. Анализ данных
- Менеджмент в IT
Автоматное программирование (Надежда Поликарпова); Питер, 2011
Описание
В книге рассматривается автоматное программирование – подход к разработке программных систем со сложным поведением, основанный на модели автоматизированного объекта управления (расширении конечного автомата). Предлагаемый подход позволяет создавать качественное программное обеспечение для ответственных систем, охватывая все этапы его жизненного цикла и поддерживая его спецификацию, проектирование, реализацию, тестирование, верификацию и документирование. Книга предназначена для специалистов в области программирования, информатики, вычислительной техники и систем управления, а также аспирантов и студентов, обучающихся по специальностям «Прикладная математика и информатика», «Управление и информатика в технических системах» и «Вычислительные машины, системы, комплексы и сети».
Видео Обзоры (5)
Шалыто А.А. Лекция "Автоматное программирование". 2019 год
DC7831 0x0B -- Воркшоп: "Введение в автоматное программирование"
Конечные автоматы в реальной жизни. Вебинар
Ответы на самые частые вопросы программистов-новичков
DC17 Management Кирилл Мокевнин Ментальное программирование 2 0
Характеристики (3)
Параметр | Значение |
---|---|
Автор(ы) | Надежда Поликарпова |
Издатель | Питер |
Год издания | 2011 |
Цены (1)
Цена от 25 грн. до 25 грн. в 1 магазинах
Магазин | Цена | Наличие |
---|---|---|
Купить в кредит (2)
Компания | Предложение |
---|---|
Полезные онлайн-сервисы
Компания | Предложение |
---|
Отзывы (5)
- Денис Бушуляк — 2 Ноября 2020
Сложно написано, как для тех, кто в теме уже давно. Но тем не менее вдохновляет на исследование и лично я с этого момента буду стремиться освоить этот подход разработки.
00 - dastini — 8 Июля 2017
автоматное программирование позволяет единообразно осуществлять разработку программного обеспечения, предназначенного для управления логическими контроллерами. очень хорошо, что автор настойчиво продвигает свою идею. что хорошо, это отечественное ноу-хау.
00 - leoleshXX — 28 Октября 2018
Прочитал пока поверхностно, т.к. учился 20 лет назад и фразы типа
"автоматное программирование" и «автоматные модели» мешают воспринимать информацию. Идеи заслуживают внимания.
Если заменить, для старообразованных, фразы и выражения на принятые раньше ( и более, по моему логичные «программирование автоматов», «модели автоматов» и т.п.), будет читабельнее и меньше смахивать на гугл-перводчик.00 - autoreg918102938 — 1 Июля 2020
По-моему Очень глубокая книга (и при этом краткая).
Автоматное программирование – один из подходов, которые должны помочь решить Основное Противоречие современного 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 спецификациях, а «размазаны» по «костыльному» коду (а, начиная с некоторого уровня сложности, который достигается «неожиданно» быстро, код становится непонятным и для нас самих тоже).00 - AlexisVaBel — 10 Января 2014
Зачем это нужноМой первый опыт работы программирования в данном стиле(можно назвать методом) был связан с разработкой ПО под микроконтроллер STM32 для задачи управления несколькими двигателями с учетом показаний датчиков. Коллега порекомендовал почитать Шалыто «Автоматное программирование» и воспользоваться методами, указанными в книге. Результат превзошел мои ожидания, объем кода удалось сократить раза в 2, читаемость улучшилась.
Книга будет полезна в первую очередь начинающим разработчикам – примеры понятны, язык доступен. «Автоматное программирование» оказало существенное влияние на собственный стиль разработки ПО не только для микроконтроллеров, но и десктопных систем.00