ЯДРО на LabVIEW (описание)

Делись идеей, получай поддержку и критику!

Re: ЯДРО на LabVIEW (описание)

Postby AndreyDmitriev on 31 Oct 2014, 09:09

Vitekkz88 wrote:
PeyNikola Сегодня, 02:49
Естественно, на первых порах конвертер будет не идеален и автоматизирован слабо. Но чтоб более эффективно понять что делает С код будет достаточно.

И на первых и на вторых и на десятых порах.Лет 10 до ума доводить будете,дай бог чтоб справились.
Для кого инструмент предназначен?Кого Вы видите в качестве конечного пользователя?
Про эффективное понимание Си-кода: если это будут проекты типа "Hello World!" либо простая сортировка или несложный алгоритм поиска элементов - то тут может что-то получиться. Отнюдь, Си-шные проекты более объемные,обилие mutex-ов и функций работы с памятью. Вот такие проекты имеет смысл представлять структурно. Какие у Вас идеи на этот счет?

Я так полагаю, PeyNikola делает это с прицелом взять исходники Линукса и прогнать их через конвертер, чтобы получить графический код с сэкономить кучу времени.
User avatar
AndreyDmitriev
VIP
VIP
 
Posts: 1225
Joined: 03 Feb 2010, 00:42
Location: Германия
Medals: 6
Activity (1) Professionalism (1) Tutorials (1) Gold (1) Black (2)
LabVIEW Version: 6.1 - 2016
Karma: 433

Re: ЯДРО на LabVIEW (описание)

Postby IvanLis on 31 Oct 2014, 09:17

Я лет 10 назад занимался синтаксическим анализом и разбором Pascal-е подобных языков.
Но у меня цели иные были, нужно было представить ПО в виде графа и рассчитать значения качественных показателей при наличии исходников.
И то там много различных заморочек было, но какой ни какой результат был получен, правда реальные проекты парсились минутами.
1.jpg
2.jpg
4.jpg
3.jpg

Я в плане того, что ничего нереального нет, все зависит от затраченного ресурса.
User avatar
IvanLis
professor
professor
 
Posts: 4571
Joined: 02 Dec 2009, 17:44
Location: СССР
Medals: 7
Activity (2) Professionalism (1) Tutorials (1) Gold (1) Man of the year 2012 (1)
Автор (1)
LabVIEW Version: 2010
Karma: 721
hardware VIP bloggers teachers

Re: ЯДРО на LabVIEW (описание)

Postby Vitekkz88 on 31 Oct 2014, 09:29

AndreyDmitriev 8 минут назад
Я так полагаю, PeyNikola делает это с прицелом взять исходники Линукса и прогнать их через конвертер, чтобы получить графический код с сэкономить кучу времени.

Вспомнился мне отрывок из "12 стульев",когда Остап в д.Васюки про шахматные турниры рассказывал.
Смотрите сами: http://www.youtube.com/watch?v=Jzyok6uYnxQ
Проекты аналогичны по амбициозности,время-затратам и конечным результатам.Но,как справедливо заметил IvanLis,
ничего нереального нет, все зависит от затраченного ресурса.
Инженер - это открыто светящийся интеллект, свободный и не обидный юмор, это легкость и широта мысли...Это воспитанность, тонкость вкусов, хорошая речь, плавно согласованная и без сорных словечек...
-А. И. Солженицын
User avatar
Vitekkz88
expert
expert
 
Posts: 1002
Joined: 21 Jan 2014, 15:45
Location: Томск
Medals: 3
Activity (1) Silver (1) Автор (1)
LabVIEW Version: 12,13,14
Karma: 275
hardware I/O VIP

Re: ЯДРО на LabVIEW (описание)

Postby AndreyDmitriev on 31 Oct 2014, 10:13

Vitekkz88 wrote:
AndreyDmitriev 8 минут назад
Я так полагаю, PeyNikola делает это с прицелом взять исходники Линукса и прогнать их через конвертер, чтобы получить графический код с сэкономить кучу времени.

Вспомнился мне отрывок из "12 стульев",когда Остап в д.Васюки про шахматные турниры рассказывал.
Смотрите сами: http://www.youtube.com/watch?v=Jzyok6uYnxQ
Проекты аналогичны по амбициозности,время-затратам и конечным результатам.И,как справедливо заметил IvanLis,
ничего нереального нет, все зависит от затраченного ресурса.

Это так, но в данном случае если всё делать в одиночку, то и жизни может не хватить.
Можно, кстати, написать Линусу Торвальдсу и пообщаться с ним на эту тему. Он по крайней мере одну систему написал, и может посоветовать что-нибудь дельное (впрочем может и просто послать - он довольно жёсткий в общении бывает)

Ещё следует поразмышлять, почему собственно линукс написан не на плюсплюсах. Почитайте вот здесь.

В очень далёком будущем, я верю, операционные системы будут разрабатываться на визуальных языках, которые постепенно вытеснят текстовые (лет 50-70 точно пройдёт, а может и все сто). Ну а пока надо довольствоваться тем что есть. Вначале визуальный язык должен стать языком общего назначения пригодным для написания ОС. Если вы попытаетсь вначале разработать язык, а потом ОС, то план этот практически утопический - вам нужна команда, сравнимая с командой NI (или больше) и много лет работы.
User avatar
AndreyDmitriev
VIP
VIP
 
Posts: 1225
Joined: 03 Feb 2010, 00:42
Location: Германия
Medals: 6
Activity (1) Professionalism (1) Tutorials (1) Gold (1) Black (2)
LabVIEW Version: 6.1 - 2016
Karma: 433

Re: ЯДРО на LabVIEW (описание)

Postby Vitekkz88 on 31 Oct 2014, 10:25

AndreyDmitriev 3 минуты назад
...если всё делать в одиночку, то и жизни может не хватить...
...нужна команда, сравнимая с командой NI (или больше) и много лет работы.

Эти истинны автору на заметку.
Я уже приводил пример с Simulik,повторюсь еще раз:
Vitekkz88 21 окт 2014, 20:48
в Simulink(графическое дополнение к MatLAB),по-моему с 2008-го года, есть встроенный HDL-кодер. Казалось бы - это крутая примочка для ПЛИС-разработчиков.А вот не такая уж и крутая на самом деле. Не знаю ни одного разработчика ПЛИС,который рисует серьезный проект в Simulink,генерит код(описание) по модели и с успехом заливает всё это дело в кристалл. Какие-то отдельные части проекта можно так сделать...да и то,эти части ручками на VHDL проще самому написать. И по сей день MathWork пилят этот кодер и допиливают,чтобы мог Simulink-модель более-менее адекватно и оптимально транслировать в VHDL-код. Очень сомневаюсь,что в MathWork над такой задачей новатор-энтузиаст работает.
Инженер - это открыто светящийся интеллект, свободный и не обидный юмор, это легкость и широта мысли...Это воспитанность, тонкость вкусов, хорошая речь, плавно согласованная и без сорных словечек...
-А. И. Солженицын
User avatar
Vitekkz88
expert
expert
 
Posts: 1002
Joined: 21 Jan 2014, 15:45
Location: Томск
Medals: 3
Activity (1) Silver (1) Автор (1)
LabVIEW Version: 12,13,14
Karma: 275
hardware I/O VIP

Re: ЯДРО на LabVIEW (описание)

Postby AndreyDmitriev on 31 Oct 2014, 19:13

IvanLis wrote:Я лет 10 назад занимался синтаксическим анализом и разбором Pascal-е подобных языков.
Но у меня цели иные были, нужно было представить ПО в виде графа и рассчитать значения качественных показателей при наличии исходников.

О, дискуссия возвращается в нормальное русло.
У меня вот какой вопрос - как по вашему мнению (прежде чем я достану с полки VI Analyser toolkit)-должны ли параллельные конструкции увеличивать цикломатическую сложность инструмента? С одной стороны вроде как не должны, но если рассматривать цикломатическую сложность как интегральный показатель сложности, то вроде как должны.
Какова будет общая цикломатическая сложность, если мы имеем две вот такие конструкции:
Image
User avatar
AndreyDmitriev
VIP
VIP
 
Posts: 1225
Joined: 03 Feb 2010, 00:42
Location: Германия
Medals: 6
Activity (1) Professionalism (1) Tutorials (1) Gold (1) Black (2)
LabVIEW Version: 6.1 - 2016
Karma: 433

Re: ЯДРО на LabVIEW (описание)

Postby IvanLis on 31 Oct 2014, 21:07

Все это формальные оценки и не всегда отражают действительности.
Это примерно как оценивать труд программиста по количеству строк написанного текста :crazy: .
(мы вообще ничего не заработаем :haha: )

AndreyDmitriev wrote:должны ли параллельные конструкции увеличивать цикломатическую сложность инструмента? С одной стороны вроде как не должны, но если рассматривать цикломатическую сложность как интегральный показатель сложности, то вроде как должны.

Должны, даже по математике получается, что добавление одного узла в граф, тянет за собой два ребра. А соответственно цикломатическая сложность возрастет на 1.
И чем больше связей (ребер), тем показатель выше.

AndreyDmitriev wrote:Какова будет общая цикломатическая сложность, если мы имеем две вот такие конструкции

По логике 8, но это при условии, что графы не имеют совместных истока и стока (начала и конца).
User avatar
IvanLis
professor
professor
 
Posts: 4571
Joined: 02 Dec 2009, 17:44
Location: СССР
Medals: 7
Activity (2) Professionalism (1) Tutorials (1) Gold (1) Man of the year 2012 (1)
Автор (1)
LabVIEW Version: 2010
Karma: 721
hardware VIP bloggers teachers

Re: ЯДРО на LabVIEW (описание)

Postby AndreyDmitriev on 31 Oct 2014, 21:18

IvanLis wrote:Все это формальные оценки и не всегда отражают действительности.
Это примерно как оценивать труд программиста по количеству строк написанного текста :crazy: .


Зато можно меряться цикломатической сложностью :D

Я на досуге проверю в анализаторе - что он там считает. Я тоже за сложение.

Я это к тому, что мне так кажется, что в Лабвью можно вполне комфортно работать с повышенной цикломатической сложностью. Учебник учит, что если цикломатическая сложность какого-либо модуля возрастает выше определённой величины, то надо разделять модули на более мелкие. (Мак-Кейб: Для каждого модуля, либо ограничивай цикломатическую сложность до оговоренного предела, либо предоставляй запись, поясняющую, почему ограничение должно быть превышено.) В текстовых языках роекомендуется ограничить сложность до 10-15. Любопытно посмотреть на лабвьюшные инструменты, которые имеют такую сложность или выше - насколько комфортно с ними работать. Взять даже пример выше - даже если у нас будет четыре подобные конструкции в инструменте - это вполне нормальный пример, а вот сложность уже будет аж 16.
User avatar
AndreyDmitriev
VIP
VIP
 
Posts: 1225
Joined: 03 Feb 2010, 00:42
Location: Германия
Medals: 6
Activity (1) Professionalism (1) Tutorials (1) Gold (1) Black (2)
LabVIEW Version: 6.1 - 2016
Karma: 433

Re: ЯДРО на LabVIEW (описание)

Postby IvanLis on 31 Oct 2014, 21:48

AndreyDmitriev wrote:В текстовых языках роекомендуется ограничить сложность до 10-15. Любопытно посмотреть на лабвьюшные инструменты, которые имеют такую сложность или выше - насколько комфортно с ними работать. Взять даже пример выше - даже если у нас будет четыре подобные конструкции в инструменте - это вполне нормальный пример, а вот сложность уже будет аж 16.


В текстовых языках как правило потоки, выполняющиеся параллельно, разносят в разные модули (иначе вообще не разберешься), что снижает сложность.
В LabVIEW, в силу компактности и наглядности, наоборот удобнее все держать на одной БД. А это сразу увеличивает цикломатическую сложность.
User avatar
IvanLis
professor
professor
 
Posts: 4571
Joined: 02 Dec 2009, 17:44
Location: СССР
Medals: 7
Activity (2) Professionalism (1) Tutorials (1) Gold (1) Man of the year 2012 (1)
Автор (1)
LabVIEW Version: 2010
Karma: 721
hardware VIP bloggers teachers

Previous

Return to Проекты

Who is online

Users browsing this forum: No registered users and 2 guests

cron