2010-12-23

Обсуждение с Серёгой подхода к интерфейсу для ИС


По реализации системы описания пакетов:

  • Передача сложных параметров (описывается через жёстко описанные структуры, которые можно только заполнять)
  • Информация о прогрессе выполнения (50%, промежуточные данные...)
  • Диагностика по запуску (что пакет вносит: загрузка, какие файлы создаёт)
  • Streaming
  • Информация о результате запуска (exitCode, failed / succeeded)
  • База готовых решений
  • Пост-процессинг данных (Derived Data)

2010-12-03

Направления, куда нам всем посмотреть

Предлагаю задуматься о внедрении в проект подхода IoC / DI:

2010-11-30

GraphViz

В качестве простейшего решения для визуализации FlowChart предлагаю использовать пакет GraphViz. Этот пакет позволяет укладывать на плоскости и визуализировать графы, описанные в специальном .dot-формате. Формат простой и гибкий, думаю его возможностей будет достаточно на первом этапе.

Описание графа можно генерировать автоматически на основе результата парсинга flow-файла. Стоит правда договориться о визуальном представлении различных структур flow-скрипта.

Вот результат первой попытки визуализировать пример из wiki


Исходный .dot-файл.


Мне не понятно, какие еще способы выражения зависимости между шагами существуют? В примере из вики Step1 независим от остальных, и может выполняться как раньше, так и позже?

2010-11-23

Провели совещание по новой неделе #2. Проект было решено назвать Easis, а майлстоун к концу недели -- Beirut (2.1.1). Итого Easis Beirut.
Договорились по людям:

  • Костя: предварительная версия WFS
  • Я: допиливание парсера + начальная реализация UI
  • Серёга: доделка онтологии
  • Фёдор: 1-й вариант Pellet
  • Мордвинцев: ? (должен был сегодня подойти)
  • Саша: Рассылка / Мобильная версия для твиттера
  • Тимофей: начальная авторизация
  • Марьин: выключен из процесса
  • Дмитрий Спельников: хз
Доска:

Приходил Александр Мордвинцев, договорились, что он попробует отрисовать Workflow к концу недели.

С Тимофеем Чуровым договорились, что он будет делать аутентификацию одним из способов: cookies, headers, LDAP или другой.

2010-11-22

Дописывал парсер, разговаривал с Костей по WFS:
Решено было использовать PES как обычную запускалку единичных шагов. Выделили I- и D-интерпретаторы (для интерпретации императивной и декларативной частей).

Парсер разбирает скрипт, а также отруливает явные зависимости (по after).

2010-11-19

  • Парсер дописан до состояния, когда может парсить такой скрипт:
require file1, file2;
 
flow
{
 step Step1 as Semp.FirstStep
 (
  InFile = file file1,
  InString = "string",
  InNumber = 15
 );
 
 step Step2 as Semp.SecondStep
 (
  InFile = Step1.Files["input.txt"]  
 );
 
 step Step3 after Step2, Step1 as Semp.ThirdStep
 (
  InFile = file file2
 );
}

  • Заходил АБВ: попросил загрузить следующих людей: Сиднев: работает по Метакластеру. Нужен ли он нам? Чем они могут нам помочь? Ребята Штейнберга: тестирование. У них есть какая-то система анализа параллельных кодов (ДВОР). Как-то их использовать: например, чтобы помогли с анализом нашего EasyFlow (зависимости, циклы и прочее). Ребята Афанасьева: MathCloud. Хотят включиться и вообще поучавствовать. Возможно, задействовать для HTML5 / JS. Ильин: по NASIS+ нас пока не трогают, но проект идёт. Соколинский: ?
  • АБВ попросил подумать, о чём можно поговорить с АйТи. Он с ними встречается в понедельник.
  • Совещание с АБВ будет во вторник.
  • Костя сделал Eventing для существующего PES.

    2010-11-18

    • Поговорили с Костей по исполнению WF. Выяснили, что нужны очереди поступающих в WF событий, который обрабатываются интерпретатором. Картинка доски:


    • Договорились о введении директивы require для описания того, что нужно для исполнения WF. Таким образом можно отчуждать WF, а пользователю будет показано окошко только с тем, что нужно указать:
    require file1, file2;
    flow
    {
        step Step0 as Semp(InFile = file file1);
        step Step1 as Semp(InFile = file file2)
    }

    • Я продолжаю писать парсер и завтра планирую довести его до первого рабочего состояния.
    • Договорились, что Костя будет работать по исполнятуру, а я по парсеру и интерфейсу. Завтра поговорим глубже по исполнятору и закрепим то, как мы это будем делать. Возможно, стоит попробовать написать макет интерфейса для Silverlight и вообще об этом задуматься.

    2010-11-17

    • Писал парсер: написал довольно много.
    • Приходил мордвинцев поговорить о его включении в проект (он теперь аспирант). Решили, что он поразбирается с визуализиацией графовых редакторов, а потом будет писать как минимум отображение WF для макета. Дал задание Рогозину создать ему SVN (znah).
    • Контакты Мордвинцева: "Александр Мордвинцев" <zzznah@gmail.com>, +79516665631
    • Саша запустил твиттер: работает.
    • Серега отослал мне бумагу со статусом работ по онтологиям: включить в отчёт перед абв.
    • Костя почти разобрался с Discovery и Routing, надо с ним поговорить.

    2010-11-16

    • Переписал грамматику на новый лад: теперь она декларативно описывает WF.
    • С Сашей поправили представления о дизайне твиттера.
    • Отмечали ДР Кости и Лёхи

    2010-11-15

    Приходил студент Дахин Олег (группа 6539, olegdax@gmail.com).

    Тема работы: Виртуальная реальность и компьютерное зрение (предварительная).


    Поговорили: Дал задание: покопать по augumented reality, шлемам лётчиков 5-го поколения, системам распознавания жестов, использованию в науке и промышленности, плодить идеи.
    Рассказал про наш проект, выяснили, что встроиться можно либо на этапе конкретизации задания, либо на этапе анализа результатов.

    Поговорили с Сашей по твиттеру: теперь он его делает, основываясь на наших требованиях.

    Поговорили с Костей: определились с синтаксисом EasyFlow для макета, я начал писать грамматику. Костя занимается Discovery и Router'ом.

    Серёга Ковальчук ничего пока не сделал.

    Вот примерный вид синтаксиса для EasyFlow:
    flow
    {
    step Step0 as Semp.Init(InFile = file "input.txt", Number = 14);
    step Step1 after Step0 as Semp.Calculate
    {
    run(MontageFile = semp1["semp.out"],
    InFile1 = file jpgFile1,
    InFile2 = file jpgFile2,
    Dc = i,
    WriteScratch = true);
    } 
    step Step2 after Step1
    as Semp.Aggregate(InputFile = file "input.txt");
    }