Jump to content

    

Размышлизма о вреде вытесняющей многозадачности.

caxapa::Vit подсказал еще вот какие интересные проекты:

 

TinyTimber

http://www.sm.luth.se/csee/courses/smd/138/TinyTimber.pdf

http://www.sm.luth.se/csee/courses/smd/138/TinyTimber.h

http://www.sm.luth.se/csee/courses/smd/138/TinyTimber.c

 

TinyTimber, a very small and lightweight run-time kernel for event-driven embedded systems.

 

А тут целая куча интересного:

http://www.nilsenelektronikk.no/neprod.html

proc Real-Time Kernel

nemon Boot and Debug Monitor

nesos Finite State Machine Operating System - вот это интересно в контексте рассматриваемых задач.

Embedded Web Servers

Share this post


Link to post
Share on other sites

caxapa:: Рэйлвэй Каген {

 

При всём богатстве выбора, альтернатив, как всегда, две :)

А именно - есть алгебраисты и алгоритмисты.

 

Первым ближе сети, графы и автоматы. К перечисленным средствам могу добавить только

CPN Tools http://www.daimi.au.dk/~cpntools . Впрочем, это уже было здесь: http://caxapa.ru/110159.html

Для генерации в плюсАх можно посмотреть gsmsuite http://www.boutell.com/lsm/lsmbyid.cgi/000341

 

Вторым - Дракон http://wiki.oberoncore.ru/index.php/%D0%94...%B7%D0%BE%D1%80

Дракон-редактор http://narod.ru/disk/55428000/DRT.rar

По сути - очередная реинкарнация блок-схем с полуавтоматической генерацией кода.

Паронджанов В.Д. Как улучшить работу ума. Алгоритмы без программистов — это очень

просто!(Новые средства для образного представления знаний, развития интелекта и

взаимопонимания). М.: Дело, 2001. — 360 с. — Илл.: 154.

http://www.transhumanism-russia.ru/documen...tu_uma_Word.rar

Недавняя дискуссия здесь http://forum.oberoncore.ru/viewtopic.php?f=62&t=493 ,

в том числе и по общим подходам к визуализации программ.

 

Думается, что генерация кода из графического представления всё-таки надёжнее,

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

Анализировать вещь вторичную, а именно, конкретную реализацию - занятие

куда менее полезное, чем анализ самой задачи на предмет поиска решения либо

алгебраического, либо алгоритмического. Правда первое требует на порядок более

высокой квалификации разработчика.

}

 

Мне добавить нечего :a14:

 

Кое-что добавлю.

 

Лично мне генерация кода из графиеского представления кажется очень привлекательной! Решать обратную задачу мы не будем, не ученые-теоретики, а вот верификатор - проверять кода на соотвествие блок схеме - это очень нужно! Вот только где бы такое взять?

 

Но меня удивляет то, что нет толковых общепринятых тулзов для этого. С/С++ компилеров и их вариантов вон сколько наплодили, а такого генератора/верфикатора нет. Или это жутко конкурентная область, и все заныкали свои наработки под матрасами??? -

Edited by Evgeny_CD

Share this post


Link to post
Share on other sites
Или это жутко конкурентная область, и все заныкали свои наработки под матрасами??? -

Нет, просто результат такой работы располагается не под матрасом, а под плинтусом. Какие-то верификаторы, рабочие имеются, а вот после генераторов типичная задача - надо ускорить в 10 раз...

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

Share this post


Link to post
Share on other sites
Нет, просто результат такой работы располагается не под матрасом, а под плинтусом. Какие-то верификаторы, рабочие имеются, а вот после генераторов типичная задача - надо ускорить в 10 раз...

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

Есть такое. Меня удивляет, что никто не сделал "полуавтоматический" инструмент. (Полностью автоматический инструмент - утопия, тут и спорить не о чем).

 

Есть изначальный граф - описание алгоритма. Генерируем код.

 

Код разбиваем на блоки (хоть чезер маркеры в каментах, хоть еще как).

 

В кажом блоке описываются его характеристики:

 

* export - чем из этого блока можно пользоваться снаружи

* import - чем он сам пользуется

* config - заивсимость от параметров конфигурации

* OS - какие средства ОСи блок использует.

 

Все связи между блоками прописываются на уровне графа и только так!

 

Далее на уровне блока проверятся - блок соотвествует своему дескриптору или нет?

 

Есть блоки более-менее отлаженные. Их фризим, что означает, что они не перегенерируются при генерации программы. Т.е. мы можем для этих блоков только изменяеть использование их export сущностей.

 

Далее берем блок кода и начинаем глазками/ручками/мозгами доводит его до совершенства.

 

Полной автоматической кодогерации делать смысла никакого нет.

 

При герерации заготовки блока генерируются заготовки его export сущностей и import данных, с которыми он работет. Ну и словами - что этот блок сделать должен.

 

Блоки могут быть вложенными.

 

Далее верификауция идет в два этапа.

 

На уровне формальной верификации проверяем, что блок соотвествует дескриптору.

 

На уровне функуциональном прогоняем тест и убеждаемся, что блок делает то, что нам надо, а не ему.

 

На уровне безопасности - смотрим в код глазками и ищем, нет ли там стремных C конструкций. Я с трудом верю, что можно написать верифкатор для этой части, не ограничив искусственно сибкость С.

 

Вот и вся автоматизация. Никакого "искусственного интеллекта" и пр. шняг не предвидится. Все просто и тупо, в моем понимании на год неспешной работы пары толковых программистов.

 

Вопрос в том, почему так никто не сделал???

Share this post


Link to post
Share on other sites
"Остапа несло..."
Быть может. Это отражение моих старых идей.

Share this post


Link to post
Share on other sites
Быть может. Это отражение моих старых идей.

Продолжайте, продолжайте.. Мы с трепетом внимаем.. :laughing:

 

Блоки могут быть вложенными.
Кстати, допускают ли Ваши блоки изоморфное погружение гомеоморфное сфере с положительной Гауссовой кривизной? :07:

Share this post


Link to post
Share on other sites
Кстати, допускают ли Ваши блоки изоморфное погружение гомеоморфное сфере с положительной Гауссовой кривизной? :07:
Я рад, что Вы когда-то изучали дифференциальную геометрию. Можете освежить свои знания. и подумать над тем, что Вы тут написали.

 

(ссылки для желающих)

 

гауссова кривизна

http://ru.wikipedia.org/wiki/%D0%9A%D1%80%...%B7%D0%BD%D0%B0

 

Гомеоморфизм

http://ru.wikipedia.org/wiki/%D0%93%D0%BE%...%B8%D0%B7%D0%BC

 

Изоморфизм

http://ru.wikipedia.org/wiki/%D0%98%D0%B7%...%B8%D0%B7%D0%BC

 

А по существу можете чего добавить?

Share this post


Link to post
Share on other sites

Начали за здравие (см. топик), а кончили за упокой :)

 

Подкину дровишек: UML.

http://en.wikipedia.org/wiki/UML_tool

http://www.altova.com/features_code_generation_umodel.html

...

 

 

Вы тут концептуально что-то не понимаете или делаете вид.

Да, похоже на то.

 

Че за Линукс такой в 4-мега лезет?

Можете дать координаты или намек кто делает.

Крайне маловероятно, что некоммерческий Линукс такого объема будет сопоставим с возможностями коммерческой оси типа Integrity.

Например, http://www.freesco.org/

 

Или вот в моем ADSL момеде крутится линух. Причем держит 4портовый свитч, вайфай, веб интерфейс для настройки, немерянное количество опций, НАТ ессно, шейпер, даже выкусыватель рекламы из хтмл потока и DDNS клиент. Правда, там 8м флеш и 16м RAM, но на менее навороченных моделях стоит 4 и 8 соответственно. Аптайм обычно несколько месяцев, все ок. И досил я его, тоже справился :)

 

В цисках крутится IOS, основанный на BSD. Там требования поболее (но и нагрузка тоже).

 

Если захотите, найдете еще примеры... А сравнивать "некоммерческий Линукс" с "коммерческой осью типа Integrity" не очень корректно, ибо чтобы они продавались, нужно превосходство хотя бы по некоторым параметрам.

Share this post


Link to post
Share on other sites
Честно говоря, не в курсе :)

http://en.wikipedia.org/wiki/List_of_Linux...l_distributions

Сайт проекта Linux Router уже закрылся, но вот тут что-то можно узнать

http://www.linuxjournal.com/article/5826

 

Когда в описании freesco увидел ядро серии 2.0 - то подумал, что это из тех времен, когда Linux Router рулил. Но увы, проект закрылся.

 

В моей конторе юзался Linux Router - очень хорошо показал себя.

Share this post


Link to post
Share on other sites
Правда, там 8м флеш и 16м RAM, но на менее навороченных моделях стоит 4 и 8 соответственно.
У меня как раз такой - Acorp Lan420 - 8 мегабайт, "Linux version 2.4.17_mvl21-malta-mips_fp_le" - зашел по telnet-у.
Крайне маловероятно, что некоммерческий Линукс такого объема будет сопоставим с возможностями коммерческой оси типа Integrity.
Забавно подобное слышать - где сейчас найдешь NAS, беспроводную точку, adsl-модем с коммерческой осью?

Share this post


Link to post
Share on other sites

Ну.. , роутеры это не серьезно.

Эт мы проходили, и вообщем известно, что роутерное ядро как таковое много софта не требует.

Я сам вам могу показать наши 3G - Wi-Fi - Ethernet роутеры с парой метров FLASH-и и 8 Мег RAM-а

Но это не платформы для создания многофункциональных приложений.

А уж как там создают софт я вообще молчу.

Там входишь в отдел тестирования и чувстуешь жар.

Так жарят там чуть ли не сотни тестовых систем которые день и ночь долбят по Ethernet-у эти роутеры чем только в голову взбредет в надежде так нахаляву обнаружить хотябы еще один программный баг.

 

Мои роутеры вообще Линукса не требуют, имеют все тоже, что ваш ADSL модем и помещаются в 512 Kб причем программа вообще в RAM не грузится.

 

 

Вот Android я бы посчитал за полнофункциональную платформу.

Или дистрибутивы MontaVista для FreeScal-ов с QTopia

Ну так они еле втискиваются в те параметры, что я указал.

 

Мысль про некорректность сравнения вашу вообще не понял.

 

Некоммерческий Линукс и RTOS-s класса Integrity я привел как два крайних идеологических полюса.

Поэтому доморощенные проекты типа http://www.freesco.org/ в расчет не берутся, как умаляющие возможности Линукса.

 

 

 

Или вот в моем ADSL момеде крутится линух. Причем держит 4портовый свитч, вайфай, веб интерфейс для настройки, немерянное количество опций, НАТ ессно, шейпер, даже выкусыватель рекламы из хтмл потока и DDNS клиент. Правда, там 8м флеш и 16м RAM, но на менее навороченных моделях стоит 4 и 8 соответственно. Аптайм обычно несколько месяцев, все ок. И досил я его, тоже справился :)

 

В цисках крутится IOS, основанный на BSD. Там требования поболее (но и нагрузка тоже).

 

Если захотите, найдете еще примеры... А сравнивать "некоммерческий Линукс" с "коммерческой осью типа Integrity" не очень корректно, ибо чтобы они продавались, нужно превосходство хотя бы по некоторым параметрам.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this