PDA

Просмотр полной версии : Need: поделитесь опытом по моделированию дискретных детерменированных систем


Sinix
06.10.2008, 09:26
Ребят, если у кого-то есть опыт, связанный с моделированием сложных структур и описанием поведения сложных детерминированных систем, отпишитесь, пожалуйста. Отдельное спасибо - за ссылки на тематические форумы и т.п.

Очень интересуют работы по моделированию детерминированных дискретных динамических систем со сложной структурой – с учётом большого числа параллельно протекающих разнородных процессов.

Объясняю ситуацию.
Специальность - 05.13.01 Системный анализ, управление и обработка информации.
Направление исследования – применимость моделей предметной области в проектировании и разработке ИС.
Практическая часть закончена, получены результаты – примерное описание процессов разработки на основе моделей предметной области и сама ИС, разработанная по этому процессу (побочный эффект, так сказать… но внедряем :).

Как выяснилось, модели предметной области самым милым образом расписываются в терминах реляционной алгебры, и даже с некоторым трудом, но переводятся в реализацию модели на SQL (до программного транслятора не доросли, хотя неплохая тема для, скажем, магистерской).
Сейчас у меня затык с анализом полученной модели. Её можно представить как набор сущностей с различными атрибутами, связями между ними, ограничениями. Построенная таким образом модель не описывает ПОВЕДЕНИЕ информационной системы, ту часть, что отвечает за взаимодействие с внешней средой – это уже следующий уровень моделирования информационной системы.

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

Пока получен промежуточный вывод: моделирование сложных процессов при помощи формальных методик по трудоёмкости как минимум сопоставимо с созданием аналогичной программной модели на высокоуровневом ЯП. В принципе возможно моделирование процессов обработки отдельных наборов сущностей, но при росте числа моделируемых сущностей сложность модели нелинейно возрастает из-за необходимости учитывать взаимосвязи между сущностями.

Заранее спасибо)

saovu
06.10.2008, 11:49
Отдельное спасибо - за ссылки на тематические форумы и т.п.
http://gpss.ru/

Carro
06.10.2008, 14:56
а каков функционал практической части ?

Добавлено через 4 минуты 38 секунд
я описываю поведение системы аксимомами и утверждениями (доказанными аксиомами). т.е. фактически правилами. и то далеко не все поведение. а отдельные вопросы (управление, безопасность, и т.п.). Кстати, Билл Гейтс объявил, что оин начинают массированное наступление на декларативные языки, когда поведение можно будет описывать мета описаниями. Ближайшие 5-8 лет собираются посвятить этому вопросу.

Sinix
07.10.2008, 04:30
http://gpss.ru/

обещал - говорю: спасибо))))
Смотрели, щупали.Жпсс мегаштука, но не совсем нам подходит из-за того, что основной упор в работе - на анализ структуры систем. Было бы что-то простенькое, для чего можно прикрутить матанализ - было бы щастье...

а каков функционал практической части ?

А, там маленькая платформа для самописных ИС, с заточкой под автоматизацию близкосвязанных областей и интеграцию со сторонними ИС. Реализация - MS SQL Server 2008 | MS.NET Framework 3.5 SP1 (мигрируем потихоньку :))

Из того, что есть в самой платформе - стандарт - контроль доступа, развёртывание, автообновление, журнал событий, куча компонентов для клиента ну и по мелочи - навскидку не вспомнить.

Самое ценное - это сами методы моделирования предметной области и перевода в рабочую БД. Ну инфраструкта, потому как требуется часто добавлять разный функционал и обновлять код на сервере/клиентах. Предмет гордости - переезд на новый сервер. С момента получения диска с SQL Server 2008 до завершения перевода (с использованием большей части фич 2008-го сиквела) - двое суток.

Любобытство удовлетворено? :)


я описываю поведение системы аксимомами и утверждениями (доказанными аксиомами). т.е. фактически правилами. и то далеко не все поведение. а отдельные вопросы (управление, безопасность, и т.п.).

Таак... вот это уже интересно - очень удачно: можно свести с логикой предикатов и прикрутить к модели в реляционной алгебре. Если не тяжело, отпишитесь поподробнее. Заранее спасибо!


Кстати, Билл Гейтс объявил, что они начинают массированное наступление на декларативные языки, когда поведение можно будет описывать мета описаниями. Ближайшие 5-8 лет собираются посвятить этому вопросу.

Насчёт БГ и декларативных языков - в курсе, интересуюсь. Оно будет частью .NET framework (какого по счёту - неизвестно). Пока ничего конкретного не обещают, кроме того, что всё будет мегакруто и в XML. С интересом понаблюдаю. ИМХО, баловство это - для описания структур данных и примитивного поведения декларативного описания ещё хватит, для всего остального - welcome to the real world :)

Carro
07.10.2008, 13:42
http://agora.guru.ru/abrau2008/pdf/030.pdf
тут в кратком виде.
а по прикрутке к реляционной алгебре .. я не стала этого делать. По многим причинам - это отдельная тема - мапирование. Мапирование занимаются многие, в том числе вендоры типа Оракла. Результаты мапирования в настоящее время не слишком хороши. вы правы - добро пожаловатьв реальный мир.

Sinix
08.10.2008, 10:18
http://agora.guru.ru/abrau2008/pdf/030.pdf
тут в кратком виде.

Ага... темы у нас слегка не совпадают :)

Заранее извиняюсь за нескромный вопрос. Идеи, что описаны в статье можно реализовать через MS Active Directory (или что-то LDAP-подобное), на основе 1С (чурменячурменячурменя :)) или в виде чего-то самописного. Как это выглядит у вас?


я описываю поведение системы аксимомами и утверждениями (доказанными аксиомами). т.е. фактически правилами. и то далеко не все поведение. а отдельные вопросы (управление, безопасность, и т.п.).


Насколько я понял, направление вашей работы - это КИС ВУЗов, рассматриваются в основном организационные вопросы и вопросы адаптации существующих систем. Если ошибаюсь - поправьте.
Составляли ли вы какую-нибудь формальную модель на основе аксиом/утверждений, проводился ли анализ?


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

Ну, ОРМ (ака маппинг) и моделирование в терминах РА - это чуть разные области. Насчёт ОРМ - целиком и полностью согласен. А вот перевод моделей из РА в SQL (сорри за блондинистость - не хочу перегружать терминологией) - вполне осуществимая штука.

Carro
08.10.2008, 11:25
Заранее извиняюсь за нескромный вопрос. Идеи, что описаны в статье можно реализовать через MS Active Directory (или что-то LDAP-подобное), на основе 1С (чурменячурменячурменя :)) или в виде чего-то самописного. Как это выглядит у вас?


Реализовано что? Если вопрос только об управлении пользователями, то
AD есть, но реализовано не через него. Наоборот это AD управляется точно также как любой другой проект - сверху через систему управления правами. 1С у нас нет, и надеюсь не будет.
Данные о пользователях берутся из корпоративных данных, в том числе системы управления персоналом, конитнгентом студентов, общежитие, выпускники, школьные проект и т.п. и т.д.

Но управления правами это 10%.


Насколько я понял, направление вашей работы - это КИС ВУЗов, рассматриваются в основном организационные вопросы и вопросы адаптации существующих систем. Если ошибаюсь - поправьте.


Вопросы рассматриваются только технические, ни одного организационного.
Речь идет не об адаптации существующих систем (хотя есть такой параграф в одной главе). А речь идет о разработке таких систем, которые либо имеют простые механизмы адаптировать себя силами специалистов пердметников (без программирования), либо которые могут САМИ адаптироваться к изменениями. Ну на худой конец, которые позволяют программистам БЫСТРО малыми силами адаптировать программу к требованиями реального мира. Но важны именно первые два пункта.


Составляли ли вы какую-нибудь формальную модель на основе аксиом/утверждений, проводился ли анализ?


Поясните, что вы понимаете тут под формальной моделью?

saovu
08.10.2008, 11:37
Идеи, ... можно реализовать ... на основе 1С (чурменячурменячурменя )

Можно узнать причины такого мнения об 1С.
По какой версии судите, опять же ? Уж не по семерке ли ?

P.S. Не в защиту 1С, а для понимания корней такого отрицательного мнения.

Carro
08.10.2008, 11:51
Можно узнать причины такого мнения об 1С.
По какой версии судите, опять же ? Уж не по семерке ли ?

P.S. Не в защиту 1С, а для понимания корней такого отрицательного мнения.

1. 1С (и 8) плохо масштабируемое решение (и использование сбоку MS SQL не спасает). Работать одновременно 200 пользователям на среднем сервере невозможно.
2. 1С плохо интегрируемое решение. Т.е. обеспечение интеграции (в том числе и 8) - это пока не конек 1С.
3. Кроме бухгалтерии там по сути ничего нет. Управление персонала - бедное. Построение управленческого учета на ней не выполняются. Люди что-то там делают на Инталеве, но управленческий учет это намного шире.
4. Изменение настроек приводит к большим проблемам, когад меняюстя версии - а версии меняются .. а перенастраивать в таких конторах как вуз - надо и много. Вузы, которые используют 1С будут еще долго сидеть на тех версиях, что сидят, перейти им на ту же 8 будет очнеь нелегко.
5. у нас 1500 пользователей -сотрудников и 20 тыс. пользователей студентов, все они чего-то хотят и от финансовой системы тоже (студенты - платежи проверить, например, остатки, авансы и т.п.) ну какой 1С это потянет, тем более, что управленеи правами идет исключительно через нашу систему и коенчно только веб-интерфейс. Сотрудники создают табель, определяют матю. ценности по помещениям и т.п. и т.д. (там до черта процессов) - это сколько нужно лицензий?

saovu
08.10.2008, 11:57
Carro, у вас информация устаревшая года на два, минимум.
Масштабируемость кардинально изменилась с переходом от 8.0 к 8.1.
Сейчас у 1С:Предприятия уже есть лицензии на 500 пользователей. Вроде имеются реальные внедрения где пользователей более 1500.
Кроме бухгалтерии - букет отраслевых решений - от мелочи типа "1C:Салон красоты" до монстров типа "1С:Машиностроения".
(а посередине - конфигурации типа "1C:Ликеро-водочный завод" :) )

P.S. Не примите за рекламу :)

Carro
08.10.2008, 12:07
Carro, у вас информация устаревшая года на два, минимум.
Масштабируемость кардинально изменилась с переходом от 8.0 к 8.1.
Сейчас у 1С:Предприятия уже есть лицензии на 500 пользователей. Вроде имеются реальные внедрения где пользователей более 1500.
Кроме бухгалтерии - букет отраслевых решений - от мелочи типа "1C:Салон красоты" до монстров типа "1С:Машиностроения".
(а посередине - конфигурации типа "1C:Ликеро-водочный завод" :) )

P.S. Не примите за рекламу :)

лицензий может быть хоть 1000, но от этого система не перестанет не справлятся и со 100. "Вроде есть реальные внедрения на 1500" - это не более чем слова. Я бываю на форуме sql.ru (по моим представлениям - лучший российский форум разработчиков по различным направлениям) и отслеживаю информаццию. Пока никто не привел примера внедрения более 100 пользователей. Хотя некоторые тоже в начале говорили про "а вот я слышал" .. но там народ из разных мест - быстро корректирует информацию.
Тем более проблем -то занчительно больше, чем число пользователей ;))

saovu
08.10.2008, 12:17
У меня есть другие данные, но о конкретике "я не был уполномочен делать заявления для прессы".
В принципе, ответ ясен - это не Ваш личный опыт.
По поводу данных на которые Вы ссылаетесь (форум sql.ru) - опять же на какой версии платформы ? (и другие вопросы есть) То есть мало данных чтоб предметно обсуждать.

Carro
08.10.2008, 12:21
упаси нас от собственного опыта с 1С :)) . да и к теме форума и вообще к диссертациям 1С не имеет отношения.
Версии обсуждаюстя разные и 8.1 тоже. Но мне это вопрос совершенно неинтересен, просматриваю, так как положено быть в курсе, не более того. у нас задачи намного обширнее , масштабнее и интереснее :))

saovu
08.10.2008, 12:36
да и к теме форума и вообще к диссертациям 1С не имеет отношения
Ну почему ? Это ж инструмент.
Описать онтологию предметной области там можно. А уж для каких целей ...

Чтоб окончательно выговориться об 1С, замечу следующее. Хотя там недостатков еще много, не спорю. Но зачастую разработчики (или "доработчики") конфигураций 1С:Предприятия грубо нарушают методические рекомнедации 1С по разработке. Но в получившемся безобразии, опять будет виновата 1С. Слишком низок порог вхождения на рынок разработчиков 1С, что ИМХО комплимент для 1С, но порождает сопутствующие проблемы.
Например. Фирмочки, в целях экономии, привлекают для доработки конфигураций кого попало, те правят типовую конфигурацию, работа сделана дешево и сердито; меняется законодательство (а оно все время меняется), выходит соответствующая новая версия типовой конфигурации, новую конфигурацию радостно устанавливают, а потом удивляются - куда пропали все доработки васей пупкиных. Виновата конечно злобная 1С (выпустившая обновление в соответствии с новым законодательством), а не "экономная" фирмочка, обратившаяся к кому попало.

Sinix
08.10.2008, 13:08
Эть... так и знал, не надо было ничего про 1с писать :)

В принципе всё уже расписано. Из того, что раздражает меня - крайне низкий уровень кода, непродуманная архитектура и контингент товарищей - 1с-ников.

В принципе, 1с - бесподобная платформа для зашибания денег на поддержке. С нетерпением жду появления "1С: Откаты".

2Carro:
Извиняюсь - некорректно делать выводы на основе одной обзорной статьи.
Насчёт разработки легкоадаптирующихся систем - крайне интересно - дошло ли до практической реализации и каковы результаты. Из опыта - проще держать пару мальчиков-программистов, чем учить предметников основам программирования.

Про формальную модель - во что превращались ваши аксиомы - в текстовое описание/диаграммы/логические формулы/программный код/ что-то ещё?

saovu
08.10.2008, 14:20
Из того, что раздражает меня - ... контингент товарищей - 1с-ников.
Кто ж с этим спорит.

В принципе всё уже расписано. Из того, что раздражает меня - крайне низкий уровень кода, непродуманная архитектура
Частично, так.

И хватит об 1С, действительно.
А то приходится выступать в роли 1С:Адвоката.

Carro
09.10.2008, 02:59
дошло ли до практической реализации и каковы результаты. Из опыта - проще держать пару мальчиков-программистов, чем учить предметников основам программирования.

Про формальную модель - во что превращались ваши аксиомы - в текстовое описание/диаграммы/логические формулы/программный код/ что-то ещё?

1. на самом деле, когда предметники заинтересованы, то они очнеь даже справляются со многими ситуациями сами. наши заинтересованы - они уже как на игле :)) поэтому многие изменения сами отрабатывают в системах меняют процессы, меняют правила, добавляют новые понятия, меняют атрибуты (в основном в сторону увеличения :)). и идея вся эта родилась не на пустом месте. у нас 10 программистов и был период, когда все они занимались сопровождением, потому что было слишком много изменений и очень много систем. Пока мы не стали вводить новые методы и не стали сбрасывать на пользователей многие задачи. сейчас большинство у нас занимается разработкой и только часть времени тратит на сопровождение.
2. вопрос про модель интересный и ответ не очевидный ;). Описание понятий, их атрибутов, отношений между и ограничений выполняется в нашей собственной системе - системе управления понятиями. она поддерживает как создание понятий (тут данные хранятся по модели EAV), так и внешнеи понятия, когда они имеют отношения проекции с таблицами (представлениями) из разных систем. соотвественно пользователи наши - рабоатют в этйо системе плодовторно. есть система управления правами, которая реализует логику аксиом управления правами (например, роль А анследуется от рли В, значит пользователь, имеющий роль А, должен иметь и роль В). Но то, что именно так надо воспринимать транзитивность отношений наследования между ролями - прописано в КОДЕ. Т.е. если где -то еще прописана транзитивность , то та же система сгенерирует новые экземпляры отношений (например, отношения связанности между узлами являются тарннзитивными). Но то, что именно так нужно среагировать на транзитивность отношений, это только в коде. не в декларативном описании. Есть еще системы упарвления бизенес-процессами, гед пользователи меняют процессы и условия движения работы. Есть еще документооборот, сделанный на этом же - где управляют пользователи, есть хранилище полнотектсовой информации =- там те же правила, есть еще множество других систем. (в тмо числе и биллинг , сделанный на правилах и админ сетевой выстьупает в качестве предметника). Но интепретация правил в коде программы, кое где удалось обобщить, но в некоторых случаях код жесткоп ривязан к определенным отношениям.
3. думаю , инпретация действия - это очень интересная тема, но пока реализации ее получить сложно, поэтому мы ограничиваемся тем, что выше описала.

Sinix
09.10.2008, 04:45
Огромное спасибо за полный ответ. Приятно поразил объём реализованного. Если не секрет, расскажите что использовалось для реализации (не холивара ради - причины можно и не расписывать - кто их назовёт, настоящие-то :)), число машин - серверов и количество постоянных пользователей.

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

Насчёт управления правами - действительно, это самая плодотворная область для описания с помощью утверждений. В принципе, при известной ловкости рук, декларативно можно реализовать весь контроль доступа (делали, опыт есть :)).

Моё вам уважение :)

P.S. Совместно с НР решили сосредоточиться только на моделировании и анализе структуры. Эххх. Уже столько литературы перелопатил...

saovu
10.10.2008, 10:10
я описываю поведение системы аксимомами и утверждениями (доказанными аксиомами). т.е. фактически правилами
Значит, реализована какая-то машина вывода.
Ala Пролог ?

Carro
11.10.2008, 06:02
Если не секрет, расскажите что использовалось для реализации , число машин - серверов и количество постоянных пользователей.

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

Насчёт управления правами - действительно, это самая плодотворная область для описания с помощью утверждений. В принципе, при известной ловкости рук, декларативно можно реализовать весь контроль доступа (делали, опыт есть :)).


Пишем в основном на двух Java (OAS) и C# - исторически сложилась. Но интегрируемся на уровне данных , приложений (веб-службы), пользователей - тут как раз наша система управленияч правами.
Число серверов - за 60. Постоянных пользователей - около 1,2 тыс. сотрудников - приложений много , поэтому фактически все. и около 15 тыс. студентов-пользователей - тоже фактически все (оубчающие системы, тестирование - 60% дис. с тестами, библиотека полнотекстовая, подача заявление в Общежитие, просмотры успеваемости, планов, оплат за Интернет/обучение и .т.п.).

Редактирование процессов сейчас на уровне кучи комбобоксов :)) . Алгоритм преобрахзование описания процесса в графику описан, руки не доходят пока.

Добавлено через 1 минуту 53 секунды
Значит, реализована какая-то машина вывода.
Ala Пролог ?
По сути да. но не использовали Пролог.