0+
mətn
PDF

Həcm 176 səhifələri

2011 il

0+

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

mətn
PDF
Нет в продаже

Kitab haqqında

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

Janr və etiketlər

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

Мой первый опыт работы программирования в данном стиле(можно назвать методом) был связан с разработкой ПО под микроконтроллер 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/

Rəy bildirmək

Giriş, kitabı qiymətləndirmək və rəy bildirmək

Kitabın təsviri

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

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

Kitab Надежды Поликарповой, Анатолия Шалыто «Автоматное программирование» - pdf formatında yükləyin və ya onlayn oxuyun. Şərh və rəylərinizi qeyd edin, sevimlilərinizi seçin.
Yaş həddi:
0+
Litresdə buraxılış tarixi:
18 mart 2011
Son yeniləmə:
2011
Həcm:
176 səh.
ISBN:
978-5-4237-0075-1
Ümumi ölçü:
4.5 МБ
Səhifələrin ümumi sayı:
176
Müəllif hüququ sahibi:
Питер
Yükləmə formatı:
pdf
Bu kitabla oxuyurlar