powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / управление сложными сущностями
15 сообщений из 15, страница 1 из 1
управление сложными сущностями
    #39649322
lleming
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть некий объект на которым нужно производить множество операций. Одни короткие в пределах 15с другие могут занять целый час.
Причем есть между операциями зависимости когда какую можно запускать после какой, есть зависмости можно запускать только если одна из какого то набора операций в данный момент не производится.

Такая вот куча мала. Дебаг еще то удовольствие все в голове держать.

Как такие вещи решаются, ну и куда копать и чего читать посоветуйте.
Как вообще называются проблемы такого типа.
...
Рейтинг: 0 / 0
управление сложными сущностями
    #39649323
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
llemingЕсть некий объект на которым нужно производить множество операций. Одни короткие в пределах 15с другие могут занять целый час.
Причем есть между операциями зависимости когда какую можно запускать после какой, есть зависмости можно запускать только если одна из какого то набора операций в данный момент не производится.

Такая вот куча мала. Дебаг еще то удовольствие все в голове держать.

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

lleming...чего читать посоветуйте...
я бы почитал? что нибудь со словами "теория конечных автоматов".
...
Рейтинг: 0 / 0
управление сложными сущностями
    #39649367
lleming
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[quot Leonid Kudryavtsev
А в чем конкретно проблема?
[/quot]

пока все это на уровне if else типа если
по таким операциях статус done, а других статус wait то можно иначе reject.
Причем объект не одного типа а разного и с разными зависимостями.

как такими зависимостями управлять? Зависимости не статические еще и меняются и уточняются регулярно.
Как то эти зависимости описать чтобы можно было хоть как то управлять ими.
...
Рейтинг: 0 / 0
управление сложными сущностями
    #39649377
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lleming...
Как то эти зависимости описать чтобы можно было хоть как то управлять ими.
пока выглядит как обычный "конечный аппарат"

состояние объекта - операция (допустимая для данного состояния) - новое состояние

Описать можно банальной табличкой. Но тут проектировать не готов. Сначала хорошо бы самому книжки/википедию перечитать )))

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

IMHO
...
Рейтинг: 0 / 0
управление сложными сущностями
    #39649381
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid Kudryavtsev"конечный аппарат"

читать "конечный автомат".
...
Рейтинг: 0 / 0
управление сложными сущностями
    #39649399
lleming
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid KudryavtsevНу и я так понимаю, что у Вас ряд операций может быть ассинхронными.
IMHO

имеено так
Leonid KudryavtsevЧто тоже добавляет некоторую сложность.

да
...
Рейтинг: 0 / 0
управление сложными сущностями
    #39649462
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid Kudryavtsevряд операций может быть ассинхронными.коренным образом всё меняется.
Всё переводится на событийную модель.
Делать половину синхронно, а половину в потоках крайне сложно.
Это уже другой автомат)
...
Рейтинг: 0 / 0
управление сложными сущностями
    #39649472
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lleming,

Посмотрите
Spring Batch

Drools

Autosys

По первому - надо долго обсуждать но если взлетит - то будет хорошо интегрировано в ентерпрайз.

Второе - по сути dsl для принятия решений.

Последнее - вообще не про java но с помощью него можно строить сложные зависимости между заданиями OS.
...
Рейтинг: 0 / 0
управление сложными сущностями
    #39649495
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123Leonid Kudryavtsevряд операций может быть ассинхронными.коренным образом всё меняется.
Всё переводится на событийную модель.
Делать половину синхронно, а половину в потоках крайне сложно.
Это уже другой автомат)
Совершенно ничего не меняет
Конечный автомат, он конечным автоматом и останется.
IMHO & AFAIK Событийно-ориентированное программирование и конечный автомат ничем друг другу не противоречат, а замечательно друг друга дополняют.

maytonВторое - по сути dsl для принятия решений.

Тут можно ошибаться, но мне кажется, автору нафик никакое "принятие решений" не нужно
У него оно уже есть, в виде кучи if.

Описав же конечный автомат и все возможные состояния. тут же будет понятно, какие операции и почему (в каких сотояниях) резрешены или запрещены. И программисту и постановщику.

Если же подходить "принятие решений", то правила очень часто начинают становится противоречивыми и непонятным.

Note: про Drools и Rule-based ничего не знаю и против не имею, но не уверен, что в описанном lleming случае нельзя без них обойтись.

Например, порядок применения правил не задан, а от аналитика (а то и нескольких разных аналитиков) приходят два противоричивых указания:

Код: sql
1.
2.
3.
4.
5.
6.
if A=3 then
  method 1;
end if;
if A=3 and B=5 then
  method 2;
end if;



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

У коллеги сейчас такая фигня. Куча непонятных и взаимопересекающихся проверок и постоянные притензии: "в этом случае, должно было бы по другому, Вам же написали, что в этом случае см. правило N 100500" (а то, что правило 100500 противоречит правилу 100501 - заказчик не задумывается).

IMHO & AFAIK
...
Рейтинг: 0 / 0
управление сложными сущностями
    #39649516
lleming
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid Kudryavtsev

Например, порядок применения правил не задан, а от аналитика (а то и нескольких разных аналитиков) приходят два противоричивых указания:

Код: sql
1.
2.
3.
4.
5.
6.
if A=3 then
  method 1;
end if;
if A=3 and B=5 then
  method 2;
end if;



(а то, что правило 100500 противоречит правилу 100501 - заказчик не задумывается).

IMHO & AFAIK

это вполне термимо если есть возможность показать это аналитику а то он это он не поймет если стопицот правил
Код: sql
1.
2.
3.
4.
5.
6.
7.
if A=3 then
  method 1;
end if;
if A=3 and B=5 then
  method 2;
end if;
....



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

mayton сэнкью почитаю
...
Рейтинг: 0 / 0
управление сложными сущностями
    #39649525
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Про сто питсот правил.

Если они изначально заданы таблично и компилируются роботом в код то это вполне себе норм.
...
Рейтинг: 0 / 0
управление сложными сущностями
    #39649526
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У нас все немного хуже. Постановщик формулирующий правила - просто пользователь. Самое для него простое: "программа не работает, программист виноват, читать ТЗ лучше нужно, см. пункт N 100500".

Вопрос поймет/не поймет, даже не стоит (((

На задаче уже 4-ый программист, текущий кодирует в поте лица с нового года, а воз и ныне там.

А вот в ситуации "конечный автомат" - все просто. Есть таблица состояний, есть разрешенные переходы. Все. Проблемы конфликтов на уровне кода уже не встоет.
...
Рейтинг: 0 / 0
управление сложными сущностями
    #39649563
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мы говорим об одних и тех же вещах.
Я не против FSM или таблички переходов. Это просто разные формы представления знаний.
...
Рейтинг: 0 / 0
управление сложными сущностями
    #39649653
mad_nazgul
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
llemingТакая вот куча мала. Дебаг еще то удовольствие все в голове держать.


Не надо держать в голове, надо держать в коде. ;-)
Начните хоть с каких нибудь тестов.
А потом потихоньку рефакторите код и добавляйте новых тестов.

Как минимум вы будете уверены, что при добавлении нового условия, старые работают как надо.
...
Рейтинг: 0 / 0
управление сложными сущностями
    #39651369
rfq
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lleming,

выбираете картинку, которая нравится больше, и копайте в ту степь: scientific workflow
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / управление сложными сущностями
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]