OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Понедельник, 20 Август, 2018 06:02

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 30 ]  На страницу 1, 2  След.
Автор Сообщение
СообщениеДобавлено: Суббота, 10 Март, 2012 14:42 
Аватара пользователя

Зарегистрирован: Понедельник, 05 Март, 2012 17:46
Сообщения: 14
Что имеем в настоящий момент, при создании информационных систем?

* М + ЯП + SQL + RDB
* М + ЯП + ΝοSQL + ΝοSQL DB
* М + ЯП + XQuery + XSLT + XML + XML-DB
* М + ЯП + SparQL + OWL/RDF + Tripplet Store
* и различные вариации ...

Где М — модель, ЯП — язык программирования логики (Oberon/Pascal/Java/Python/C++/C#....)

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

Чего хотелось бы?

* Запустить проект и последовательно уточнять, детализировать, имея рабочую систему с первого шага.
* Не думать о БД (RDBS, XMLDB и прочих), транзакциях, кластерах, отслеживании зависимостей при внесении изменений в дизайн системы, кэшировании.
* Иметь легко расширяемую, документированную систему на нескольких естественных языках.
* Иметь всю историю изменений кода и данных в ИС.
* Находить явные и скрытые логические зависимости в ИС как в данных так и в коде и решать уровнения.
* Не задумываться об оптимизации и многопоточности, компилятор/интерпретатор найдет оптимальные пути вычисления.
* Гибкости в построении отчетов, возможности формирования отчета как результат диалога с ИС.
* Просматривать отчеты любой сложности видя на экране всегда актуальные данные.
... и еще кучу вещей.

Мы занимаемся созданием языка Animo и среды Animotron для достижения перечисленных "хотелок".
Здесь краткий экскурс https://docs.google.com/document/d/1Drl ... DYMGE/edit
Кого заинтересует, просьба оставлять вопросы и комментарии на полях документа или в этом форуме


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 10 Март, 2012 15:01 
Аватара пользователя

Зарегистрирован: Вторник, 19 Сентябрь, 2006 21:54
Сообщения: 2289
Откуда: Россия, Санкт-Петербург
Евгений, в вашем посте я вижу цитату из документа. Скажите, вы действительно автор системы или просто скопировали сюда эту цитату для обсуждения.
Если вы автор, то скажите, как давно вы занимаетесь данной разработкой, и есть ли на её основе действующие проекты. Сколько человек у вас в команде разработчиков? Создаётся ли сама система с помощью данного языка/подхода?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 10 Март, 2012 15:11 
Аватара пользователя

Зарегистрирован: Понедельник, 05 Март, 2012 17:46
Сообщения: 14
Александр Ильин писал(а):
Евгений, в вашем посте я вижу цитату из документа. Скажите, вы действительно автор системы или просто скопировали сюда эту цитату для обсуждения.
Если вы автор, то скажите, как давно вы занимаетесь данной разработкой, и есть ли на её основе действующие проекты. Сколько человек у вас в команде разработчиков? Создаётся ли сама система с помощью данного языка/подхода?


Я один из авторов. Нас четверо, наиболее активных - двое, я и Дмитрий (см. в статье). Сама система (ядро) создается на Java, a фреймворк Animo + Java для связи с внешней средой. Разработке 15 мес., первый прототип был на XQuery (см. http://animotron.org)


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 10 Март, 2012 15:38 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 8971
Откуда: Россия, Орёл
Спасибо, я с интересом почитал про ваш проект и буду следить.

Извините, но задам вопросы не по нему самому, а по теме СУБД.

Скажите, а к neo2j вы имеете отношение или нет?
Просто из документа сложилось впечатление, что да.
Или просто используете?

Про XQuery - любопытно. А на какой реализации XQuery Вы работали?
А что Вы можете сказать про СУБД категории No-SQL, про ту же neo2j? Как оно на практике?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 10 Март, 2012 15:44 
Аватара пользователя

Зарегистрирован: Понедельник, 05 Март, 2012 17:46
Сообщения: 14
Цитата:
Скажите, а к neo2j вы имеете отношение или нет?
Просто из документа сложилось впечатление, что да.
Или просто используете?

Мы просто используем, но как оно обычно бывает, начинаешь использовать, начинаешь иметь отношение :)
Цитата:
Про XQuery - любопытно. А на какой реализации XQuery Вы работали?

eXist http://exist-db.org


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 10 Март, 2012 15:56 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 8971
Откуда: Россия, Орёл
Ну а теперь по поводу Анимотрона :)

У Вас в документе и на сайте я вижу некую рекламу, пропаганду подхода из категории, которую условно называют 4GL. Неимперативные системы программирования, абстрагированные от традиционного оборудования. Но рекламу без обозначения этой категории и без сравнения с другими подходами.

Одно из двух:
1) Вы изобретали "с чистого листа", не будучи знакомы с другими подходами (разные вариации функционального программирования; dataflow-оборудование группы Бурцева из ИВВС РАН; многие другие 4GL-подходы, заявлявшие цели, подобные вашим). Мне не очень верится в это.
2) Вы делаете рекламный ход - популяризуете свою технологию для непосвящённых как бы в пустом пространстве.

Здесь, в среде профессионалов, было бы интересно услышать про "корни" и про сопоставление с другими подходами.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 10 Март, 2012 16:32 
Аватара пользователя

Зарегистрирован: Понедельник, 05 Март, 2012 17:46
Сообщения: 14
Илья Ермаков писал(а):
Ну а теперь по поводу Анимотрона :)

У Вас в документе и на сайте я вижу некую рекламу, пропаганду подхода из категории, которую условно называют 4GL. Неимперативные системы программирования, абстрагированные от традиционного оборудования. Но рекламу без обозначения этой категории и без сравнения с другими подходами.

Одно из двух:
1) Вы изобретали "с чистого листа", не будучи знакомы с другими подходами (разные вариации функционального программирования; dataflow-оборудование группы Бурцева из ИВВС РАН; многие другие 4GL-подходы, заявлявшие цели, подобные вашим). Мне не очень верится в это.
2) Вы делаете рекламный ход - популяризуете свою технологию для непосвящённых как бы в пустом пространстве.

Здесь, в среде профессионалов, было бы интересно услышать про "корни" и про сопоставление с другими подходами.


Корни поиск "серебряной пули". Более точно сначала были XML + XForms, потом взгляд в сторону онтологий RDF/OWL. Но не одна из существующих практик (по крайней мере из нам известных) не решает задачу в комплексе, т.е. везде остается разделение на декларативную (язык описывающий структуры данных, таблиц, либо схем документов, либо онтологий) часть и на логическую или алгоритмическую (язык описывающий запросы, вычисления, логический вывод). и это не пересекающиеся пространства, хотя и тесно связанные друг с другом.
Мы же решили стереть грань между данными, типами, свойствами, функциями, более того мы не используем привычную Description Logic, принятую в RDF/OWL и системах, построенных на них. И надеемся привлечь к обсуждению и анализу именно профессионалов от практиков до теоретиков. Мы сами каждый день открываем для себя новые свойства в нашей алгебре.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 10 Март, 2012 17:01 
Аватара пользователя

Зарегистрирован: Вторник, 19 Сентябрь, 2006 21:54
Сообщения: 2289
Откуда: Россия, Санкт-Петербург
Не так давно занимался я одним java-проектом, и очень сильно мне захотелось подобный инструмент для полного концептуального описания системы. Хочу попробовать. С чего лучше начать? Например, качать с sourceforge или с github?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 10 Март, 2012 17:14 
Аватара пользователя

Зарегистрирован: Понедельник, 05 Март, 2012 17:46
Сообщения: 14
Александр Ильин писал(а):
Не так давно занимался я одним java-проектом, и очень сильно мне захотелось подобный инструмент для полного концептуального описания системы. Хочу попробовать. С чего лучше начать? Например, качать с sourceforge или с github?


github (на sf первый прототип). http://ci.animotron.org/repository/down ... andard.jar здесь можно забрать билд. Использовать можно пока только для ознакомления. Каждый день что-то меняется и код на гитхабе нестабилен.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 10 Март, 2012 17:48 
Аватара пользователя

Зарегистрирован: Вторник, 19 Сентябрь, 2006 21:54
Сообщения: 2289
Откуда: Россия, Санкт-Петербург
Евгений писал(а):
здесь можно забрать билд.
Зарегистрировался на сайте, скачал файл, запустил, установилось нечто под названием Animotron Installer (в заголовке окна было указано "installing Animotron Installer", папка по умолчанию c:\Program Files\Animotron Installer). Как теперь заставить этот инсталлер установить, собственно, Animotron?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 10 Март, 2012 17:55 
Аватара пользователя

Зарегистрирован: Понедельник, 05 Март, 2012 17:46
Сообщения: 14
Александр Ильин писал(а):
Евгений писал(а):
здесь можно забрать билд.
Зарегистрировался на сайте, скачал файл, запустил, установилось нечто под названием Animotron Installer (в заголовке окна было указано "installing Animotron Installer", папка по умолчанию c:\Program Files\Animotron Installer). Как теперь заставить этот инсталлер установить, собственно, Animotron?

Это он и есть, перейдите в папку "c:\Program Files\Animotron Installer" и запустите ./bin/animotron.bat


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 10 Март, 2012 17:55 
Аватара пользователя

Зарегистрирован: Вторник, 19 Сентябрь, 2006 21:54
Сообщения: 2289
Откуда: Россия, Санкт-Петербург
Запустил bin/animotron.bat, стартовал сервер на порту 8080. При попытке подключиться по адресу http://127.0.0.1:8080 Опера пишет "Address not found", а в консоли на каждое подключение появляется по два исключения вида (отличаются только числом в @Relationship[xxx]):
Код:
org.animotron.exception.ENotFound @Relationship[144]
        at org.animotron.bridge.web.WebSerializer.serialize(WebSerializer.java)
        at org.animotron.bridge.web.ErrorHandler.doRequest(ErrorHandler.java)
        at org.animotron.bridge.web.AnimoServlet.doGet(AnimoServlet.java)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java)
        at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java)
        at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java)
        at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java)
        at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java)
        at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java)
        at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java)
        at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java)
        at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java)
        at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java)
        at org.eclipse.jetty.server.Server.handle(Server.java)
        at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java)
        at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java)
        at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java)
        at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java)
        at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java)
        at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java)
        at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java)
        at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java)
        at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java)
        at java.lang.Thread.run(Unknown Source)
Generated in 0
Что я делаю не так? Надо что-то ещё установить?
Вот ещё информация, на всякий случай:
Код:
d:\Programs\Dev>java -version
java version "1.7.0_01"
Java(TM) SE Runtime Environment (build 1.7.0_01-b08)
Java HotSpot(TM) Client VM (build 21.1-b02, mixed mode, sharing)


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 10 Март, 2012 18:03 
Аватара пользователя

Зарегистрирован: Понедельник, 05 Март, 2012 17:46
Сообщения: 14
Александр Ильин писал(а):
Запустил bin/animotron.bat, стартовал сервер на порту 8080. При попытке подключиться по адресу http://127.0.0.1:8080 Опера пишет "Address not found", а в консоли на каждое подключение появляется исключение вида:
Код:
org.animotron.exception.ENotFound @Relationship[144]
        at org.animotron.bridge.web.WebSerializer.serialize(WebSerializer.java)
       

Что я делаю не так? Надо что-то ещё установить?
Вот ещё информация, на всякий случай:
Код:
d:\Programs\Dev>java -version
java version "1.7.0_01"
Java(TM) SE Runtime Environment (build 1.7.0_01-b08)
Java HotSpot(TM) Client VM (build 21.1-b02, mixed mode, sharing)


Да нет, все так. Багов еще хватает, оперу, кстати не советую, мы пока поддерживаем только FireFox, Safari, Chrome/Chromium (браузеры где есть WebSockets). Попробуйте http://localhost:8080/animoIDE

ВАЖНО! Запускать нужно именно из папки в которую произошла инсталяция (не переходя в bin).


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 10 Март, 2012 18:09 
Аватара пользователя

Зарегистрирован: Вторник, 19 Сентябрь, 2006 21:54
Сообщения: 2289
Откуда: Россия, Санкт-Петербург
Евгений писал(а):
Попробуйте http://localhost:8080/animoIDE
ВАЖНО! Запускать нужно именно из папки в которую произошла инсталяция (не переходя в bin).
Запустил из корня, открылось в Хроме "the new.". Что дальше? Как открыть какой-нибудь пример проекта? Меню никакого не видно.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 10 Март, 2012 18:28 
Аватара пользователя

Зарегистрирован: Понедельник, 05 Март, 2012 17:46
Сообщения: 14
Александр Ильин писал(а):
Евгений писал(а):
Попробуйте http://localhost:8080/animoIDE
ВАЖНО! Запускать нужно именно из папки в которую произошла инсталяция (не переходя в bin).
Запустил из корня, открылось в Хроме "the new.". Что дальше? Как открыть какой-нибудь пример проекта? Меню никакого не видно.


В строке поиска можно найти объект, например, animoIDE.

Ctrl-N - открывает объект the new.
Ctrl-S - сохраняет текущий объект.
Ctrl-B, Ctrl-Shift-B - открывает объект под курсором.
F9 - вычисляет.
Ctrl-O - переходит на строку поиска.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 10 Март, 2012 18:43 
Аватара пользователя

Зарегистрирован: Вторник, 19 Сентябрь, 2006 21:54
Сообщения: 2289
Откуда: Россия, Санкт-Петербург
Евгений писал(а):
В строке поиска можно найти объект, например, animoIDE.

Ctrl-N - открывает объект the new.
Ctrl-S - сохраняет текущий объект.
Ctrl-B, Ctrl-Shift-B - открывает объект под курсором.
F9 - вычисляет.
Ctrl-O - переходит на строку поиска.
Ctrl+N = новое окно Google Chrome.
Про F9: правильно ли я понимаю, что если у меня открыт объект AnimoLanguage, то при нажатии F9 я должен увидеть справку в формате HTML?
Вообще, есть ли встроенная справка?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 10 Март, 2012 18:51 
Аватара пользователя

Зарегистрирован: Понедельник, 05 Март, 2012 17:46
Сообщения: 14
Александр Ильин писал(а):
Ctrl+N = новое окно Google Chrome.
Про F9: правильно ли я понимаю, что если у меня открыт объект AnimoLanguage, то при нажатии F9 я должен увидеть справку в формате HTML?
Вообще, есть ли встроенная справка?

хоткеи активны только в редакторе кода.
F9 вычислит (выполнит) и покажет результат.
Справки нет.
Пока сосредоточены на ядре.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 10 Март, 2012 20:42 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 8971
Откуда: Россия, Орёл
Я увидел пока что Ещё Один Язык Программирования уровня 4GL. Т.е. своя модель вычислений - и её реализация в виртуальной машине.
Тут надо понять, что нового относительно, например, языков LISP, Forth, Smalltalk. Первое, что новое - это опора не на текстовое представление, а на непосредственное редактирование. Сегодня об этом думают многие (направление семантических редакторов).
Но что нового по существу, на уровне решения задач?

"Однородные" языки программирования, где используется какая-нибудь одна простая форма и для программ, и для данных, не новы, им сто лет в обед. Известна их привлекательность для разных экспериментов и быстрого решения некоторых задач. Известны также ограничения - в частности, крупные системы на них создавать не очень удобно из-за отсутствия "жёсткости", "скелета". Да и вообще, сколько бы ими ни восхищались (какие они изящные и элегантные), но есть какие-то причины, по которым широко в мозгу программистов они не приживаются. Видимо, для мышления свойственна разнородность базовых элементов, а однородность - скорее как занятная игра, но в работе начинает раздражать...

Есть у Анимотрона какие-то изюминки не в сфере модели вычислений, а именно на уровне системного анализа, системной архитектуры?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 10 Март, 2012 21:15 
Аватара пользователя

Зарегистрирован: Понедельник, 05 Март, 2012 17:46
Сообщения: 14
Илья Ермаков писал(а):
Я увидел пока что Ещё Один Язык Программирования уровня 4GL. Т.е. своя модель вычислений - и её реализация в виртуальной машине.
Тут надо понять, что нового относительно, например, языков LISP, Forth, Smalltalk. Первое, что новое - это опора не на текстовое представление, а на непосредственное редактирование. Сегодня об этом думают многие (направление семантических редакторов).
Но что нового по существу, на уровне решения задач?

"Однородные" языки программирования, где используется какая-нибудь одна простая форма и для программ, и для данных, не новы, им сто лет в обед. Известна их привлекательность для разных экспериментов и быстрого решения некоторых задач. Известны также ограничения - в частности, крупные системы на них создавать не очень удобно из-за отсутствия "жёсткости", "скелета". Да и вообще, сколько бы ими ни восхищались (какие они изящные и элегантные), но есть какие-то причины, по которым широко в мозгу программистов они не приживаются. Видимо, для мышления свойственна разнородность базовых элементов, а однородность - скорее как занятная игра, но в работе начинает раздражать...

Есть у Анимотрона какие-то изюминки не в сфере модели вычислений, а именно на уровне системного анализа, системной архитектуры?


Давайте подойдем с другой стороны, возьмем, например LISP. Сможете описать на нем любые структуры? Да. Но только коснетесь реальных систем, упрётесь в необходимость хранить где-то данные, т.е. в ФС или БД. если в БД, то нужно построить БД реалиционную или еще какую для конкретного проекта, а там будет уже SQL, или еще что и сериализация/десериализация и кеширование и много чего еще. в итоге от лиспа и следа не останется, либо придется на том же лиспе делать ОРМ для инкапсуляции. поменяете структуру, измените индексы и опять все по кругу.

Анимотрон должен избавить от всего этого - каждое выражение компилируется непосредственно в граф! И дальше все происходит вокруг операций над этим графом. Не нужно заботится о БД, ее структуре, не нужны SQL и подобные средства, индексы, модули, триггеры.
Однажды вычесленный результат находится так же в этом графе и его можно использовать в дальнейшем.
А, имея граф, можно заниматься анализом: выявлять причинно-следственные связи, делать неявные логические выводы, перестраивать граф для более оптимальных вычислений. Все, что позволяет фантазия, например, перевычислять выражения, при изменении исходных данных или самой функции, в фоне и уведомлять об этом не затратив ни строчки кода на анимо. Всем этим займется, правильно, виртуальная машина - анимотрон.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 10 Март, 2012 23:38 
Аватара пользователя

Зарегистрирован: Вторник, 19 Сентябрь, 2006 21:54
Сообщения: 2289
Откуда: Россия, Санкт-Петербург
Я не в курсе языков 4GL, у меня есть вот такой вопрос: что на выходе? Правильно ли я понимаю, что на Анимо мы описываем понятийную структуру проекта, а потом на выходе получаем сгенерированный код на целевом языке программирования + схемы БД, код сериализации и т.п.?


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 30 ]  На страницу 1, 2  След.

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
cron
Вся информация, размещаемая участниками на конференции (тексты сообщений, вложения и пр.) © 2005-2018, участники конференции «OberonCore», если специально не оговорено иное.
Администрация не несет ответственности за мнения, стиль и достоверность высказываний участников, равно как и за безопасность материалов, предоставляемых участниками во вложениях.
Без разрешения участников и ссылки на конференцию «OberonCore» любое воспроизведение и/или копирование высказываний полностью и/или по частям запрещено.
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB