![]() |
Модераторы: Daevaorn |
![]() ![]() ![]() |
|
oldspamer |
|
|||
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 7.2.2012 Репутация: нет Всего: нет |
Всем доброго времени суток. Столкнулся со следующей проблемой. Необходимо реализовать библиотеку классов, которая позволила бы организовывать системы обработки данных наподобие simulink'а, с многопоточнтью, вложенностью, множеством связей и тд. только в виде сишного кода. Существующие паттерны проектирования тут малоприменимы, разве что частично. Может быть существуют какие нибудь подходящие структурные решения? Вобщем, я открыт для любых идей, давайте обсудим...
|
|||
|
||||
boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
||||
|
||||
oldspamer |
|
|||
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 7.2.2012 Репутация: нет Всего: нет |
Simulink это пакет моделирования, входящий в состав системы Matlab( http://en.wikipedia.org/wiki/Simulink/, http://www.mathworks.com/products/simulink/ ).
Это сообщение отредактировал(а) oldspamer - 8.2.2012, 04:19 |
|||
|
||||
tzirechnoy |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1173 Регистрация: 30.1.2009 Репутация: 2 Всего: 16 |
То есть Вы хотите реализовать что-то вроде simulink или verilog, но чтобы исходник зачем-то писался не на спецыальном DSL, а на C(++)?
Для простоты сначала возьмите какой-нибудь verilog с открытым кодом (напр. Icarus), и добавьте к нему плюсовых интэрфейсов для встраивания в parse tree. |
|||
|
||||
xvr |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 60 Всего: 223 |
||||
|
||||
tzirechnoy |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1173 Регистрация: 30.1.2009 Репутация: 2 Всего: 16 |
Не, SystemC -- это отдельный язык, со своим синтаксисом, не воспринимаемый компиляторами С. |
|||
|
||||
oldspamer |
|
|||
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 7.2.2012 Репутация: нет Всего: нет |
Не совсем. Я хочу организовать программу по модульному принципу, чтобы путем наследования библиотечных классов потом можно было писать различные обработчики и динамически встраивать их в общий конвейер. Такой подход позволит создавать достаточно сложные приложения в будуещм гораздо быстрее, поскольку отпадет необходимость каждый раз писать каркас приложения, необходимо будет лишь написать непосредственно функции обработки. Основная сложность в этом - обепечить унификацию, т.е. независимость от типов данных передаваемых между блоками, их размерностей и тд. Результат же будет напоминать структурированную модель из simulink... |
|||
|
||||
Void |
|
|||
![]() λcat.lolcat ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2206 Регистрация: 16.11.2004 Где: Zürich Репутация: 40 Всего: 173 |
Я правильно понимаю, что хочется чего-то вроде агентно-ориентированного программирования и enterprise integration patterns?
Я не очень в курсе, что сейчас может предложить C++ в этой области, но, например, SObjectizer? Это сообщение отредактировал(а) Void - 9.2.2012, 16:12 -------------------- “Coming back to where you started is not the same as never leaving.” — Terry Pratchett |
|||
|
||||
borisbn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 22 Всего: 135 |
Void, ссылка нерабочая. 404 ((
-------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
|||
|
||||
borisbn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 22 Всего: 135 |
oldspamer, примерно то, что ты ищешь
-------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
|||
|
||||
xvr |
|
||||||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 60 Всего: 223 |
Это не отдельный язык - это обрезок С++ со специальной библиотекой. Для целей моделирования описание на SystemC можно скормить обычному С++ компилятору (но вместе с библиотекой конечно)
![]() |
||||||
|
|||||||
Void |
|
|||
![]() λcat.lolcat ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2206 Регистрация: 16.11.2004 Где: Zürich Репутация: 40 Всего: 173 |
-------------------- “Coming back to where you started is not the same as never leaving.” — Terry Pratchett |
|||
|
||||
oldspamer |
|
||||
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 7.2.2012 Репутация: нет Всего: нет |
Да, примерно так. Только попроще, чем в SObjectizer. Задача состоит в организации конвеерной обработки сигналов, так что нагромаждать что то настолько абстрактное и сложное просто не целессообразно. Можно было бы переизобрести QT с его сигнальной моделью взаимодействия ![]() Добавлено через 4 минуты и 9 секунд
Не совсем. Это плагины, расширяющие функционал приложения, уже готового. Меня же интересует построение некоего фреймворка на уровне исходных кодов. Нечто вроде расширенной модели производитель-потребитель. |
||||
|
|||||
![]() ![]() ![]() |
Правила форума "С++:Общие вопросы" | |
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |