Pull to refresh
12
0
Александр Соловьёв @Dr_Dash

Пользователь

Send message
Трамп стал жертвой климатгейта или он циничный делец и просто не вкурсе этого всего?
Надо же. Я в шутку, а они уже воплотили
думаю, что они пойдут другим путём, чтобы избежать судебных исков о нанесении физического ущерба. Сначала они начнут наносить клей не только по периметру, но по всей поверхности аккумулятора. потом воплотят идею «несущей аккумуляторной батареи» т.е. станут не аккумулятор приклеивать к корпусу, а все конструктивные элементы приклеивать к аккумулятору, и наконец придут к идее распределённого аккумулятора, когда аккумулятор разбросан по всей плате. ))
Побольше бы глав хороших и новых. Особенно на тему есть ли есть бизнес-ангелы, и есть ли бизнес-дьяволы. Вот Вася поверил Дмитрию и Владимиру, и они его кинули таким вот способом. Хотя конечно специфика России такова, что успешные стартапы не афишируются, но хотя бы явные рога описывать. Типа виртуальной Силиконовой Долины в интернете.
я связан с производствами наших отечественных разработок и голые платы у нас заказывают в Китае и распаивают в России. В Арзамасе так же или платы полностью отечественные?
о есть, вы не встречали программ на автоматах, разработанных другими людьми.

вы ошибаетесь, просто изначально у меня была возможность сформировать свой подход к этой теме, не испытывая влияние авторитетов, и избегая штампов, пожтому у меня действительно оригинальные решения. Но уже 10 лет, я активно изучаю опыт коллег, поэтому скажу, что речь идёт не о том что изобретён ещё один велосипед, только плохой. Это действительно то, чем стоит поделится, надеюсь что у меня хватит публицистических талантов.
множественная альтернатива != автоматное программирование. Благодаря популяризаторству Шалыто они немного звучат как будто из одной оперы. Хотя стоит отдать ему должное — он популяризаторствует уже лет 30 судя по его книгам, этакий Донкихот и первопроходец 2 в 1. Может он и увидит эру автоматного программирования. Надеюсь у него хватит непредвзятости чтобы принять автоматное программирование таким какое оно будет, и не замыкаться на switch-операторе
и об этом будет, спасибо за участие
Я разработчик лабораторных измерительных приборов, msp arm микроконтроллеры разные. В институте я изучил автоматы для железа. Может это и осталось бы просто предметом, но был серьёзный курсач (система сбора данный втыкаемая в ISA), и я оценил всю силу микропрограммных автоматов. Я сделал это, хотя сначала даже не знал как подступиться. Обычное программирование знаю с детства но когда оно стало моей работой, в силу обстоятельств у меня после института было достаточно времени чтобы начать писать проги как автоматы, благо поставленная задача — стенд автоматизированного тестирования плат, прямо таки располагала к автомату. Я «вошёл в форму» и писал все модули управления периферией контроллера как автоматы. Сначала просто для себя, молодой исследователь, но потом это сложилось в систему, которую я довёл до некоторого уровня, когда можно поделиться с коллегами.
Лет 10 назад я обратился к интернету посмотреть — делает ли кто нибудь как я, но понял что автоматное программирование воспринимается несколько однобоко, и от этого оно кажется куцым. Я вас понимаю, если смотреть на программные автоматы так, как это предписывается распространённой практикой, в них мало преимуществ, поэтому я начал этот цикл, и сейчас как начинающий писатель я пытаюсь понять что писать чтобы был понятен именно процесс автомато-ориентированной разработки. Проект «Дисплей» неплохой вариант, это показательный пример. В следующей статье я обрисовываю его же только несколько с другого ракурса. Если вы после этого задатите конкретные вопросы, я смогу написать ещё более понятно. Я намерен сделать пособие, потому что автоматное программирование это подход к решению задачи а не только способ оформления, реализации программы.
Вероятно отладка у вас будет занимать меньше времени когда вы будете больше времени уделять планированию, проектированию модулей, именно в графическом виде. Просто всегда есть вопрос — а что собственно рисовать — это и хочу показать, просто я нащупываю почву чтобы читателю было понятно — я не преподаватель и это мой первый опыт обучения людей через лекции ) Спасибо что читаете
по моему айфон в кафе это такой хитрый отказ по-калифорнийски )
У меня в одной программе было две переменные, т.е. матрица состояний. И это был очень такой показательный автомат. Можно конечно свести это к одной переменной вида i*N+j — но это будет сова на глобусе.
трудно обсуждать это даже не «на пальцах». Если не сложно, напишите об этом попримеристей. Это может стать иллюстрацией для дальнейшего хода повествования. Автоматное программирование — общее дело, мы сами создаём будущее.
Просто умножаем мощность переменной на мощность этих флагов.
не остонавливайтесь на этой фразе, читайте весь абзац, там об этом и написано )

К тому же можно на одном контроллере реализовать более одного автомата (например один автомат в прерываниях UART...), и бессмысленно это сливать все в один и они будут двумя сферическими автоматами, зависящих минимум от двух переменных.
речь не идёт о том что — один микроконтроллер — один автомат. Речь о том что отдельно взятый, логично законченный кусок алгоритма, программный модуль — это автомат.
Поскольку статья научно популярная, то что вы пишите это важно, такие моменты я постараюсь проиллюстрировать.

В общем каждый уважающий себя embedded программист изобретает свой автомат
примерно так и есть. Сделаем мир вокруг нас немного лучше
просто вылавливая и обрабатывая нужные сочетания сигналов [...] Узнали о новом поведении — добавили обработку характерных сочетаний сигналов.
Никаких состояний, никаких диаграмм переходов!

это верно когда новое поведение сосуществует параллельно с ранее запрограммированным. но когда новое сочетание сигналов вклинивается в ранее созданный алгоритм, это уже не соответствует действительности.
А автоматы и плохо масштабируются, и совершенно не гибкие и труднее отлаживаются,
хорошо что вы подняли эту тему. Как раз в случае когда автоматы «проектируются», не возникает проблем ни с отладкой ни с масштабируемостью ни с гибкостью.
Когда я был молодым и разработал «Дисплей» не так как это показано в примере, в какой то момент я убедился, что добавление новых свистелок «наступает на пятки» предыдущим, но когда я изобразил всё как показано в предыдущем примере, для всего нашлось место. Более того, я покажу как этот пример можно модифицировать.
С отладкой тоже не возникает проблем. У меня примерно 40% времени занимает проектирование, 20-30% написание кода, 10%! отладка, и остальное время я просто добавляю в программу кучу всяких фич, от которых тащатся заказчики. То есть, я не хвастаюсь сейчас, я обычный программист, я не отличаюсь особым вниманием и где то рассеян даже более чем остальные, но понимаете, отладка когда я разработал программу автоматно сводится в основном к тому чтобы убедиться что всё ок, и я хочу чтобы в будущем молодые программисты не убивались со слезами на глазах о необъяснимое поведение программы, и не лысели раньше времени.
Верно. На этом вопросе через несколько лет будут процветать многие люди: юристы, политики, технологи. Деперсонализация данных того стоит, потому что это механизм легализации огромных объёмов статистической информации.
Возможно в дополнение к плюшкам стоит ввести некую «деперсонализацию» данных, которые перестают быть связаны с конкретным человеком. деперсонализацию как некий юридический и точно специфицированный механизм. После этого облегчится обмен данными между вендорами, и составление «общечеловеческих» баз данных, которые будут доступны в том числе и университетам.
Будьте любезны, оцените изменения в тексте (начиная с рис 10 и до рис 11), стало понятней?
Идею уловил. На самом деле трудный пример? Это сквозной и очень хороший пример. Он не такой уж сложный, просто видимо я недостаточно освещаю какие то моменты. Напишите где «и тут всё опять усложняется», я сделаю переходы более плавными и пояснения более развёрнутыми. Во второй части у меня есть разные примеры и в том числе попроще, в том числе реализация этого же примера сделанная моим коллегой, в которой я выделю операционную часть и управляющую и они действительно проще и без сдвиговых регистров. я сравниваю эти две реализации примера: по быстродействию и с точки зрения замысла и здесь сдвиговые регистры ключевой элемент, они определяют почему сделано именно так а не иначе, без них не удастся показать процесс разработки. Может быть имело смысл начать с той реализации, но она появилась как ответ на мою реализацию)))
Про реализацию в коде скорее соглашусь с вами, может её под спойлер лучше?
одной статьёй не получается, поэтому прошу набраться терпения. Эта статья может рассматриваться как введение, иллюстрация понятия «автоматное проектирование». Сейчас я работаю над второй стаьёй где внимание уделено как философии автоматных программ так и реализации.
А хотелось бы в целом законченную статью про автоматы. С примером разработки автомата. Структурными схемами, и схемой работы каждого автомата.
но у меня же там про разработку ))). Вы просто ставите меня в тупик этой фразой, если можно то более конкретно.
Соответствие здесь это метки, они соответствуют названиям состояний.
Вероятно потому что в пример тяжело въехать из-за специфики. Получается, что абстракция вроде понятна, но за кучей низкоуровневого кода её не видно.
если описание, диаграммы состояний и чертежи перечислить отдельно а код поместить в конце это будет более понятно, я верно уловил?

Information

Rating
Does not participate
Location
Челябинская обл., Россия
Registered
Activity