Научная группа
«Фундаментальные проблемы программной инженерии»
(Механико-математический факультет,
НИИ механики МГУ)

Для студентов 2 курса механико-математического факультета МГУ, желающих заниматься научной деятельностью в области математического и программного обеспечения сложных информационно-вычислительных систем.

Задачи для студентов.

На этой странице представлена подробная информация об основных направлениях научной работы, списки публикаций, а также контактные данные наших сотрудников.
Под нашим руководством вы сможете вести научную работу по очень востребованной на практике теме:

Фундаментальные проблемы инженерии больших сложно организованных программных комплексов

Направление 1. Математическое и программное обеспечение автоматизированных систем сбора и интеллектуального анализа больших объемов наукометрической информации с применением в системе ИАС «ИСТИНА».

Направление 2. Модели и программные механизмы разграничения доступа к ресурсам больших систем в социальных сетях на примере системы ИАС «ИСТИНА».

Направление 3. Разработка и реинжиниринг программ для современных и перспективных высокопроизводительных платформ.

Направление 4. Агент-ориентированные технологии моделирования социальных и интеллектуальных социальных и технических систем (Internet of Everything).

Направление 5. Методы и средства разработки новых предметно-ориентированных языков программирования с заданной формальной семантикой.

Направления

Математическое и программное обеспечение автоматизированных систем сбора и интеллектуального анализа больших объемов наукометрической информации (с применением в системе ИАС «ИСТИНА»)

Руководители направления: Валерий Александрович Васенин, Сергей Александрович Афонин, Александр Сергеевич Козицын

В последние годы потребность в создании информационно-аналитической системы подготовки принятия решений на основе анализа данных научно- инновационного и образовательного содержания настоятельно обозначается на всех уровнях национальной инфраструктуры управления образованием и наукой. Основная посылка (мотив) такой потребности и интереса: создать Систему, инструментальные средства которой позволяли бы оперативно анализировать (по различным срезам и, соответственно запросам) надежно верифицируемые данные как персональные и обобщенные по отдельным научным коллективам и организациям (вузам, НИИ т.п.), так и данные, обобщенные по регионам и по России в целом, с целью получения с высокой степенью объективности оценки показателей результативности и/или тенденции (тренды) научно-педагогической и инновационно-внедренческой деятельности.

С 2011 года в Московском университете разрабатывается информационно-аналитическая система Информационная Система Тематического Исследования НАукометрической информации - «ИСТИНА», целью которой является сбор, обработка, анализ и выдача по запросу информации о результатах деятельности сотрудников университета. В настоящее время систему используют все факультеты и научно-исследовательские институты МГУ, ряд организаций Российской академии наук, институтов Минздрава России и вузов. Система представляет не только практическую ценность, но также является полигоном для апробации и тестирования наукоемких алгоритмов обработки текстов на естественном языке (выделение терминов, классификация, кластеризация), построения моделей предметных областей (онтологий и тезаурусов), моделей анализа эффективности научной деятельности, анализа социальных сетей и методов решения множества других задач, имеющих как теоретическое, так и практическое значение. Участвуя в проекте ИСТИНА, студенты смогут использовать объемную базу данных и инфраструктуру проекта для выполнения курсовых, дипломных и диссертационных работ. Кроме этого, принимая участие в этом проекте, студенты могут получить актуальный опыт веб-разработки крупных систем с использованием современных технологий (Python, Django, jQuery и т.д.)

Модели и программные механизмы разграничения доступа к ресурсам больших систем в социальных сетях (на примере системы ИАС «ИСТИНА»)

Руководители направления: Валерий Александрович Васенин, Александр Александрович Иткес

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

Реальным объектом приложения всех полученных в рамках таких исследований результатом является информационно-аналитическая система ИАС «ИСТИНА», развитие и сопровождение которой ведется в Московском университете.

Разработка и реинжиниринг программ для современных и перспективных высокопроизводительных платформ.

Руководители направления: Валерий Александрович Васенин, Владимир Александрович Роганов

Компьютерные системы стремительно эволюционируют, и технологии программирования также стремительный движутся вперед. Спектр актуальных на сегодняшний день задач простирается от высокоскоростной обработки больших и объемов данных (Big Data) до микромощных устройств в составе Интернета вещей (IoT). Без применения высокопроизводительных (HPC) и энергоэффективных вычислений, а также современных, гибких методик программирования в этих областях возникают трудности, которые в ближайшем будущем предстоит решить.

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

Спецкурс «Математические методы высокопроизводительных вычислений», который читается на механико-математическом факультете МГУ, вобрал опыт проведения летних и зимних школ по программированию, а также материалы интернациональных суперкомпьютерных инициатив. Его программа в значительной степени посвящена вышеуказанной тематике, и включает, в том числе, перспективные математические методы синтеза программного кода по высокоуровневой спецификации.

В рамках курса доступно излагаются методики динамического и статико-динамического распараллеливания программ, а также технологии автоматизации преобразования программного кода в приложении к различным практическим областям:

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

Рассматриваемые примеры построены на базе опыта применения описываемых методик в реальных проектах, которые в последние годы в значительной степени способствуют развитию данной тематики: суперкомпьютерные агент-ориентированные модели социальных систем, высокоскоростная (в том числе интеллектуальная) обработка объемных текстовых данных (мониторинг Интернет и СМИ), расчетные коды для аэромеханики и атомной энергетики (теплогидродинамика АЭC), и многое другое. В частности, с 2016-го года ведутся отдельные работы для Фонда Перспективных Исследований (ФПИ), нацеленные на разработку современных многоядерных систем типа Network-on-Chip и программных средств для их эффективного программирования с прицелом на различные классы практических задач.

Предоставляется значительная свобода в выборе как интересных учебных, так и практически-ориентированных задач, а также возможность постепенного продвижения как в научном направлении, так и в сторону участия в актуальных и перспективных работах. Выбор материала и задач для курсовых и дипломных работ по данной тематике особых проблем не представляет; наиболее активные студенты достаточно быстро публикуются в журналах ВАК, а также принимают полноценное участие в реальных проектах.

Агент-ориентированные технологии моделирования социальных и интеллектуальных социальных и технических систем (IoE)

Руководители направления: Валерий Александрович Васенин, Владимир Александрович Роганов

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

Начиная с 2011 года при активном взаимодействии с Центральным Экономико-Математическим Институтом (ЦЭМИ) разрабатывались средства автоматической трансформации кода для агент-ориентированных моделей, разработанных в среде AnyLogic, для моделирования эволюции различных социальных систем и сообществ. На сегодняшний день с разной степенью подробности были рассмотрены следующие модели:

  1. Модель развития научного потенциала
  2. Демографическая модель современной Европы
  3. Модели распространения эпидемий
  4. Поведение толпы во внештатных ситуациях
  5. Модели социальных сетей

Сегодня доклады и публикации на эту тему вызывают острый интерес ввиду их крайней востребованностью в различных практических областях, в том числе:

  1. Экономике
  2. Бизнес-планировании
  3. Целевой рекламе
  4. Компьютерных играх
  5. Интернет-сообществах

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

В рамках данного направления предлагаются задачи, связанные как с построением актуальных моделей, так и с высокопроизводительными расчетами, нацеленными на решения связанных с моделями задач. Студенты приобретают опыт работы с системами агент-ориентированного моделирования, получают возможность публиковать полученные результаты в журналах ВАК. В качестве примера можно привести следующие недавние публикации в «Вестнике» Российской академии наук: «Средства суперкомпьютерных систем для работы с агент-ориентированными моделями» и «Суперкомпьютерные технологии в общественных науках: агент-ориентированные демографические модели».

В настоящее время значительное внимание уделяется моделированию Интернет-сайтов и социальных сетей.

Методы и средства разработки новых предметно-ориентированных языков программирования с заданной формальной семантикой

Руководитель направления: Валерий Александрович Васенин, Максим Александрович Кривчиков

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

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

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

Исследования на этом направлении сосредоточены на создании математических моделей, методов и средств, позволяющих разрабатывать новые языки программирования и проводить формальную верификацию программ достаточно просто для того, чтобы интегрировать такой подход в стандартные процессы разработки. Используемые методы основаны на подходах дедуктивной верификации и программирования с зависимыми типами. Дедуктивная верификация — это одна из областей приложения математической логики, которая связана с построением доказательств как вывода в некоторой логической системе. Программирование с зависимыми типами подразумевает использование языков программирования, система типов которых позволяет включать в код программы доказательства её корректности, проверяемые автоматически. Например, в простейшем случае, такие языки позволяют доказать, что вычисление определённой функции всегда завершится успешно, причём результатом вычисления будет натуральное число, которое является произведением двух простых.

По материалам, связанным с исследованиями на этом направлении, в настоящее время на механико-математическом факультете проводятся два спецкурса для студентов 3-6 курса: "Математические модели вычислений" (осенний семестр) и "Математические модели программ и языков программирования" (весенний семестр, на английском языке).

Задачи, доступные на этом направлении, включают исследование и разработку математических моделей, методов и средств в следующих областях:

  1. предметно-ориентированные языки программирования для различных предметных областей на основе математических моделей таких областей (например, для разработки информационно-аналитических систем);
  2. примеры программ, для которых получено математическое доказательство их корректности по отношению к функциональной спецификации;
  3. инструментальные средства для создания новых и описания формальной семантики (математической модели) существующих языков программирования — как предметно-ориентированных, так и общего назначения;
  4. средства автоматизированного построения доказательств, включая методы частичной автоматизации получения доказательств для моделей предметной области.

Более подробно с этим направлением можно будет познакомиться на запланированной встрече или в индивидуальном порядке. Для этого необходимо воспользоваться контактами, расположенными на сайте.

Наши сотрудники

  • Валерий Александрович Васенин
    заведующий лабораторией, доктор физико-математических наук, профессор
    руководитель исследований
    НИИ механики МГУ, к. 4
  • Сергей Александрович Афонин
    ведущий научный сотрудник, кандидат физико-математических наук
    интеллектуальный анализ текстовых данных в больших коллекциях; выделение фактов; выявление заданных отношений; рациональные множества регулярных языков; анализ структуры социальных сетей; (подробнее)
    НИИ механики МГУ, к. 119
  • Александр Сергеевич Козицын
    ведущий научный сотрудник, кандидат физико-математических наук
    интеллектуальный анализ текстовых данных в больших коллекциях; базы данных
    НИИ механики МГУ, к. 119
  • Андрей Александрович Коршунов
    ведущий научный сотрудник, кандидат технических наук
    мониторинг информационно-вычислительных сред; технологии создания информационных систем
    НИИ механики МГУ, к. 119
  • Александр Сергеевич Шундеев
    ведущий научный сотрудник, кандидат физико-математических наук
    распределенные системы; бизнес-процессы; композитные сервисы; интеграция; сервис-ориентированная архитектура (SOA)
    НИИ механики МГУ, к. 3
  • Владимир Александрович Роганов
    старший научный сотрудник
    высокопроизводительные параллельные вычисления; cовременные суперкомпьютерные технологии; динамическое распараллеливание программ; технологии преобразования программ; предметно-ориентированные языки (DSL); эффективное программирование на языках C и C++; суперкомпьютерное моделирование; агентно-ориентированное моделирование
    НИИ механики МГУ, к. 1
  • Максим Анатольевич Занчурин
    младший научный сотрудник
    мониторинг информационно-вычислительных сред
    НИИ механики МГУ, к. 119
  • Максим Александрович Кривчиков
    старший научный сотрудник
    распределенные и параллельные вычисления; grid computing; реинжиниринг крупных программных комплексов; формальная семантика языков программирования; формальная верификация
    НИИ механики МГУ, к. 1

С темами курсовых и дипломных работ прошлых лет можно ознакомиться в архиве.