Preview

Труды Института системного программирования РАН

Расширенный поиск
Том 28, № 3 (2016)
Скачать выпуск PDF
7-20
Аннотация
Нечеткие числа используются в задачах моделирования для учета лингвистической неопределенности. Большинство информации, обрабатываемой в различных сферах деятельности, основано на оценках, которые не всегда могут быть выражены точным числом. Как правило, используются привычные для человека слова или выражения естественного языка. Надежность и достоверность данных, которые мы получаем для решения тех или иных задач играет важную роль. Мы часто работаем с неполной информацией, основанной на опыте и оценках различных экспертов. Поэтому возможность формализации данных такого типа и выполнения с ними различных вычислений помогает более точно решать задачи по планированию, принятию решений, оценке рисков и других аспектов практической деятельности. В 2010 году профессор Лотфи Заде предложил концепцию Z -чисел, которая связана с фактором надежности используемой информации (при принятии решений, при описании различных аспектов окружающего мира, при выражении идей или суждений людьми). Z -число описывает значение некоторой неопределённой переменной X и представляет собой упорядоченную пару из двух нечетких чисел Z= (A, B). Первое из которых (А) выражает ограничение на возможные (вероятные) значения рассматриваемой в конкретном приложении переменной X . Второе число (В) есть мера (оценка) уверенности в том, что А именно такова, как она представлена. Числа А и В часто описываются фразами естественного языка, например, Z = (Java, максимально уверен). В данном случае переменная X = «язык программирования для решения определенной задачи», следовательно, утверждение « X является Java» оценивается как надежное ( В = “максимально уверен”). Данная концепция имеет большой потенциал стать важным инструментом в решении различного рода задач, связанных с неполнотой и неточностью описания используемой информации. Вторым основным аспектом данной работы является агрегация информации, а именно Z -чисел. Агрегация (англ. aggregation) - основной этап для решения задач по принятию решений. Как правило, чтобы прийти к определенному выводу, необходимо проанализировать несколько источников и объединить полученную информацию. В настоящее время большинство задач по принятию решений имеют множество факторов, определенных нечетко и поэтому решаются интуитивно. Агрегация данных, представленных в нечетком виде, а именно Z-числами, может оказать поддержку в решении задач такого рода. Данная работа представляет собой исследование, связанное с разработкой и изучением эффективных методов обработки Z -чисел и выполнения операций над ними.
21-34
Аннотация
Технологии обеспечения пользовательской приватности являются неотъемлемой частью жизни современных людей. Они востребованны широким пользовательским сегментом. Однако такие инструменты зачастую используются для мошеннической и нелегальной деятельности. В современном мире есть много сетей и технологий, которые предоставляют анонимный доступ к ресурсам сети. Наиболее распространенной и широко используемой анонимной сетью является Tor. При этом именно Tor является основным инструментом многочисленных хакеров, торговцев наркотиками и оружием. Настоящая статья фокусируется на деанонимизации пользователей Tor c применением доступных в интернете технологий и базового алгоритма машинного обучения. Цель работы - показать, что деанонимизация небольшого количества пользователей возможна без использования большого количества вычислительных ресурсов. В начале работы представлен обзор различных анонимных сетей. Затем - различные методы деанонимизации: анализ траффика, тайминг атаки, атаки на уровне автономных систем. Построена классификация атак по ресурсам, необходимым атакующим для успешного применения. Для реализации была выбрана website fingerprinting атака. Эта атака требует наименьшего количества ресурсов для ее использования и внедрения в сеть Tor с целью успешной деанонимизации пользователей. Описан эксперимент использования website fingerprinting атаки. Список отслеживаемых в эксперименте ресурсов был получен от компании, специализирующейся в области информационной безопасности. Эксперимент проводился в одной комнате при участи 5 человек и одного входного узла. Была достигнута точность классификации просматриваемых страниц равная 70% процентам. Задача деанонимизации крайне важна для национальной безопасности, что подчеркивает актуальность проведенного исследования.
35-50
Аннотация
В статье приводится описание двух методик разграничения прав доступа, основанных ролевом подходе (RBAC) и применении таблиц/списков прав доступа. Вначале приводится обзор современных подходов к организации безопасности и разграничения прав доступа пользователей в приложениях различной архитектуры. Далее приводится описание двух методик защиты информации. Первая разработана для защиты объектно-ориентированных приложений, вторая приложений объектно-атрибутных, применяемых для управления сетевыми базами данных и базами знаний. Далее внимание уделяется первой авторской методике, основанной на описании прав доступа для классов, атрибутов классов и объектов, удовлетворяющих определенному критерию. Подход, разработанный первым автором, реализован с помощью иерархии классов, состав и структура которых детально описана в работе. Также приводятся примеры конкретных информационных систем, разработанных первым автором: информационная система проведения научных конференций, используемая многократно при проведении конференции «Объектные системы» (objectsystems.ru), а также информационная система салона красоты. Далее приводится описание второй методики, потребовавшей разработки новых подходов к организации защиты информации. Вторая методика, разработанная вторым автором, полностью дублирует функциональность первой. В частности, она обеспечивает копирование прав доступа при копировании части сетевой структуры данных, подобно тому, как в объектно-ориентированной парадигме происходит передача свойств родителя к потомку класса; в статье приводится подробное описание такого механизма. Для управления правами доступа в такой методике применяется специальное виртуальное устройство, а информация о правах доступа привязывается узлу сети (графа), если необходимо ограничить доступ к нему.
51-64
Аннотация
В статье рассмотрена проблема сохранности переписки при передаче и пути решения этой проблемы. Центральную часть статьи составляет описание алгоритма генерации паролей для шифрования данных и генерации подписей для сообщений с зависимостью от времени начала взаимодействия двух абонентов. В предлагаемом комбинированном алгоритме используется генерация временного симметричного сеансового ключа для каждой пары абонентов с последующим шифрованием этим ключом передаваемого сообщения. В свою очередь сам сеансовый ключ шифруется с помощью открытого асимметричного ключа получателя и асимметричного алгоритма шифрования. Далее зашифрованный сеансовый ключ вместе с зашифрованным сообщением передается получателю, который использует тот же самый асимметричный алгоритм шифрования и свой секретный ключ для расшифровки симметричного сеансового ключа, а полученный сеансовый ключ используется для расшифровки самого принятого сообщения. Таким образом, симметричные ключи генерируются каждый раз новые, в зависимости от времени установки связи между парой абонентов, что позволяет при высокой скорости шифрования использовать открытую пересылку временных ключей шифрования. А для их сохранности уже использовать асимметричные методы шифрования. Кроме того в статье рассмотрены примеры работы протокола Диффи-Хеллмана и алгоритма хеширования MD5, используемые для шифрования генерируемых временных ключей и позволяющие двум сторонам получить общий секретный ключ. По предложенному алгоритму был создан прототип с реализаций генерации пароля и генерации подписи, который наглядно показывает этапы работы протокола Диффи-Хеллмана и MD5. С помощью прототипа было проведено тестирование на предмет времени исполнения алгоритма на трёх устройствах: на одном стационарном компьютере с видеокартой и двух телефонах (2013 и 2015 годов выпуска).
65-84
Аннотация
Вложенные сети Петри - это расширение формализма раскрашенных сетей Петри, которые используют сети Петри в качестве фишек. Данный формализм позволяет создавать подробные модели мультиагентных систем, осуществлять имитационное моделирование, верифицировать и анализировать их свойства на формальном и строгом уровне. Мультиагентные системы находят применение во многих областях - начиная системами, для которых безопасность играет критическую роль, заканчивая повседневными системами, работающими на персональных вычислительных устройствах. Число таких систем в современном мире растет вместе с увеличивающимся числом мобильных вычислительных устройств. На данный момент разработаны инструменты и методы моделирования и анализа вложенных сетей Петри, но синтез мультиагентных систем по моделям вложенных сетей Петри еще недостаточно исследован и находится в стадии активного изучения. Метод автоматической генерация исполняемого кода целевой системы по спроектированной и верифицированной модели вложенной сети Петри обеспечивает получение корректных системы из корректных спецификаций на языке вложенных сетей Петри. В данной работе, демонстрируется применение формализма вложенных сетей Петри для построения модели системы управления поисковыми и спасательными операциями и автоматической генерации реализации в виде исполняемого кода событийно-управляемых систем основанных на платформе Telegram. Мы добавляем возможность аннотировать модели вложенных сетей Петри с помощью Action Language, который позволяет связывать срабатывания переходов на модельном уровне с вызовами Telegram Bot API на уровне реализации. Предложенный подход продемонстрирован на примере аннотированной модели системы координирования спасательной операции
85-102
Аннотация
В данной статье мы предлагаем метод автоматического построения диаграмм последовательности UML на основе журналов событий информационных систем с сервис-ориентированной архитектурой (SOA). Диаграммы последовательности UML - графические модели, подходящие для представления взаимодействий в гетерогенных компонентных системах, в частности, в набирающих сейчас популярность информационных SOA-системах. Описываемый метод использует трассы исполнения SOA-систем, представленные в виде журналов событий. Почти все современные информационные системы имеют возможность записывать результаты своей работы в журналы событий, которые используются в основном для процесса отладки. По сравнению с традиционными техниками автоматического синтеза моделей, которые требуют не всегда имеющийся исходный код для своей работы, наш метод для автоматического построения диаграмм последовательности UML работает только с доступными журналами событий и некоторыми эвристическими данными. Метод состоит из нескольких этапов построения диаграмм последовательности UML в зависимости от разной перспективы, заданной аналитиком. Они включают отображение атрибутов журнала событий на элементы диаграммы с возможностью задать уровень абстракции через параметры, группировку некоторых компонент диаграммы и построение иерархических диаграмм последовательности. Мы предлагаем группировать некоторые компоненты (сообщения и линии жизни) на основе регулярных выражений и строить иерархические диаграммы, используя вложенные фрагменты. Мы апробировали данный метод при помощи разработанного в виде плагина Microsoft Visio прототипа. Плагин строит диаграмму последовательности UML на основе заданного журнала событий в соответствии с набором настраиваемых параметров.
103-122
Аннотация
Process mining - это относительно новая область исследований, в рамках которой разрабатываются методы исследования и улучшения бизнес-процессов. Спецификой методов process mining является то, что они основываются на анализе истории выполнения процессов, которая представляется в виде логов событий. Проверка соответствия моделей процессов и логов событий является одним из ключевых направлений в области process mining. Алгоритмы проверки соответствия используются для того, чтобы оценить, насколько хорошо данная модель бизнес-процесса, представленная, например, в виде сети Петри, описывает поведение, записанное в логе событий. Проверка соответствия, базирующаяся на использовании так называемых "выравниваний", на данный момент является самым передовым и часто используемым алгоритмом проверки соответствия. В данной работе рассматривается проблема большой вычислительной сложности данного алгоритма. В настоящее время проверка соответствия на основе выравниваний является не слишком эффективной с точки зрения потребления памяти и времени, необходимого для вычислений. Решение этой проблемы имеет большое значение для успешного применения проверки соответствия между реальными моделями бизнес-процессов и логами событий, что весьма проблематично с использованием существующих подходов. MapReduce является популярной моделью параллельных вычислений, которая упрощает реализацию эффективных и масштабируемых распределенных вычислений. В данной работе представлена модифицированная версия алгоритма проверки соответствия на основе выравниваний с применением MapReduce. Так же в работе показано, что проверка соответствия может быть распределена с помощью MapReduce, и что такое распределение может привести к уменьшению времени, требуемого для вычислений. Показано, что алгоритм проверки соответствия модели процесса и лога событий может быть реализован в распределенном виде с помощью MapReduce. Показано, что время вычисления растет линейно с ростом размера логов событий.
123-144
Аннотация
Существует достаточно много публикаций, посвященных построению проверяющей последовательности для полностью определенного детерминированного конечного автомата. Тем не менее, для недетерминированных автоматов таких публикаций достаточно мало; исследователи начали с того, что предложили алгоритм построения проверяющей последовательности для инициального недетерминированного автомата относительно эквивалентности. В данной работе рассматривается построение адаптивной проверяющей последовательности относительно редукции. Проверяемый автомат есть редукция полностью определенного автомата-спецификации, если для каждой входной последовательности выходная реакция проверяемого автомата содержится в множестве выходных реакций спецификации на эту входную последовательность. В первой части данной статьи мы предполагаем, что полностью определенный возможно недетерминированный автомат-спецификация имеет разделяющую последовательность разумной длины, каждое состояние детерминировано достижимо из любого другого состояния, и проверяемый автомат (автомат-реализация) является полностью определенным и детерминированным. Поведение проверяемого автомата неизвестно; мы знаем только, что его число состояний не больше числа состояний автомата-спецификации. При описанных выше условиях проверяемый автомат является редукцией спецификации, если и только если проверяемый автомат изоморфен подавтомату автомата-спецификации. Таким образом, необходимо адаптивно построить проверяющую последовательность, проходящую по каждому переходу проверяемого автомата, и проверить конечное состояние перехода посредством разделяющей последовательности. Во второй части статьи мы предлагаем использовать вместо разделяющей последовательности (адаптивный) различающий тестовый пример и на простом примере иллюстрируем, как такая замена может сократить длину адаптивной проверяющей последовательности. Длина тестового примера обычно короче разделяющей последовательности, и вообще говоря, различающий тестовый пример может существовать для автомата-спецификации, не имеющего разделяющей последовательности. В третьей части статьи мы обсуждаем возможность применения предлагаемой методики построения проверяющей последовательности для частичных возможно недетерминированных автоматов, выделяя наибольший полностью определенный подавтомат. Если такой подавтомат существует, обладает разделяющей последовательностью или различающим тестовым примером, то его можно использовать для построения адаптивной различающей последовательности для исходного частичного, возможно недетерминированного автомата. Тем не менее, следует отметить, что в последнем случае проверяющая последовательность строится относительно не относительно редукции, а относительно отношения квази редукции.
145-160
Аннотация
В данной статье рассмотрен подход детализации верифицированных тестовых сценариев для разрабатываемой программной системы без изменения семантики набора, то есть с сохранением корректности. Существующая проблема генерации тестов реальных приложений на основе верифицированных абстрактных сценариев, сгенерированных по поведенческой модели, решается на основе детализации абстрактных сценариев до уровня конкретных состояний, транзакций, протоколов и сигналов. Поскольку характерной особенностью рассматриваемых абстрактных моделей является символьное представление поведенческих сценариев, то их детализация происходит в два этапа. На первом этапе - этапе конкретизации, символьные параметры сигналов получают конкретные значения, образуя тем самым конкретные поведенческие сценарии. На втором этапе - этапе собственно детализации, конкретные абстрактные сценарии необходимо представлять в виде структур данных, формы представления и значения которых содержат всю необходимую информацию для обмена с реальными приложениями. Полученные таким образом детальные сценарии предназначены для генерации исполнимых тестовых наборов для информационных и управляющих систем. В работе предложен инструментарий детализации тестовых сценариев, позволяющий не только описать реальные сигналы, но и детализировать протоколы обмена сигналами. В его состав входит Lowering editor, позволяющий описывать правила преобразования сигналов в соответствии с приведенной разработанной грамматикой правил преобразований, Signals editor, используемый для удобного описания сложных структур сигналов и Templates editor, позволяющий однократно описывать типовые структуры. Приведён пример процесса преобразования от абстрактных структур данных к детализированным, использующимся при тестировании целевого кода.
161-172
Аннотация
В статье приведен обзор методов, применяемых при проверке корректности поведения кэш-памятей многоядерных микропроцессоров. Описаны общие свойства устройств подсистемы памяти микропроцессора, а также свойства, специфичные для кэш-памятей, и метод поддержки согласованности состояния памяти в системе на основании протокола когерентности. Представлены подходы к проектированию тестовой системы, генерации корректных тестовых воздействий и проверке правильности поведения тестируемого устройства. Предложены модификации общего подхода к генерации тестовых воздействий для устройств с внеочередным исполнением инструкций. Приведены способы разработки тестовых систем на различных уровнях абстракции. В статье описан основной способ проверки поведения устройства на уровне транзакций - разработка эталонной поведенческой модели для последующего сравнения реакций устройства с эталонными; расхождения в реакциях сигнализируют об ошибке. Выделены критерии применимости данного подхода. Описаны методы верификации устройств, поведение которых функционально не детерминировано на уровне транзакций: метод «серого ящика», базирующийся на анализе внутренних интерфейсов устройства, для устранения возникающей неопределенности в поведении устройства. Кроме того, приведен новый метод, основанный на динамическом уточнении поведенческой модели на основе реакции устройства. Также рассмотрены преимущества использования утверждений утверждения в генераторе тестовых воздействий в качестве дополнительных методов обнаружения ошибок. В работе приведен метод, позволяющий упростить проверку поведения устройств с внеочередным исполнением инструкций, основанный формировании эталонной очереди их выполнения. В заключение представлены результаты применения предложенных подходов к верификации кэш-памятей многоядерных микропроцессоров архитектуры «Эльбрус» и «SPARC-V9».
173-188
Аннотация
Во многих прикладных областях необходимо выполнять символьно-численные расчеты с данными большого объема. Примерами таких областей являются робототехника, распознавание речи, распознавание графической информации, автоматизация производства и другие. Системы символьных вычислений, их так же называют системами компьютерной алгебры, активно развиваются с конца восьмидесятых годов. Хорошо известными системами являются Mathematica, Maple, Reduce и многие другие. Почти все эти системы не были ориентированы изначально ни на масштабные математические объекты, ни на многопроцессорные кластеры. Система Form является единственным исключением. Эта система была изначально задумана для оперирования объектами, превышающими по размеру оперативную память. Такие объекты размещаются на жестком диске. В статье дается описание алгоритмов для тех инструментов системы компьютерной алгебры MathPartner, которые предназначены для взаимодействия с вычислительным кластером. Приводится описание алгоритма работы сокетного сервера, являющегося связующим звеном между MathPartner и некоторой супер ЭВМ, который обеспечивает исполнение параллельных программ на кластере. Подробно объясняется механизм, который позволяет абстрагироваться от конкретной супер ЭВМ и установленной на нее PBS, работая исключительно с веб-интерфейсом MathPartner. Кроме запуска готовых программ, описываемый сокетный сервер дает возможность запускать пользовательские программы, отправляемые на вычислительный кластер в виде zip-архива через веб-интерфейс. В статье даются примеры использования уже реализованных параллельных алгоритмов, которые входят в состав веб сервиса MathPartner. Некоторые из параллельных программ MathPartner реализованы с помощью парадигмы «DDP» (dynamic decentralized parallelization) - подхода, позволяющего написать эффективную параллельную программу для работы с неоднородными данными, такими как разреженные матрицы. В статье показаны примеры использования DDP-программ, интегрированных в MathPartner.
189-208
Аннотация
В данной работе рассматриваются проблемы верификации и анализа сложных операционных систем с учетом их вариабельности, или наличия большого количества разнообразных конфигураций. Исследуются методы, позволяющие преодолеть эти проблемы, проводится их обзор и классификация. Выделены классы методов, использующих для анализа инструменты, не учитывающие вариабельность, и выборки вариантов системы и методов, использующих специализированные инструменты, учитывающие вариабельность. Как наиболее перспективные с точки зрения масштабируемости, выделены техники анализа, использующие выборки вариантов системы, обеспечивающие покрытие ее кода и комбинаций значений конфигурационных параметров, а также специализированные, учитывающие вариабельность кода техники анализа с итеративным уточнением модели поведения системы на основе контрпримеров.
209-230
Аннотация
С ростом объема и спроса на данные основными проблемами организаций, которые пытается реализовать проекты, становится не только то, чтобы технически собрать, очистить, интегрировать данные и обеспечить к ним доступ, а в большей степени обеспечение понимания того, как и зачем их следует использовать. Отсутствует взаимопонимание на логическом и техническом уровнях между специалистами по обработке и анализу данных, ИТ-подразделениями и бизнес-подразделениями, поскольку неясно, откуда происходят данные, как они выглядит, что содержат, и как их следует обрабатывать в контексте существующих систем. В этой статье мы представляем платформу для исследования и обработки данных, что позволяет выполнять ориентированные на данные проекты без полной переделки организационной структуры предприятия при наличии поддержки требуемых процессов и технических средств.
231-240
Аннотация
Разработанный метод в рамках прецедентного подхода к принятию решений позволяет решить проблему выбора наиболее подходящих прецедентов в условиях, когда объект исследования не полностью описан и оценивается неоднозначно. Особенность предлагаемого подхода - в том, что он ориентирован на работу в условиях нефиксированного набора признаков (атрибутов). Это актуально для многих приложений, особенно, при поддержке врачебных решений, когда на процесс принятия решений накладываются ограничения по времени и ресурсам. Чтобы добиться успеха, необходимо дифференцировать возможную принадлежность объекта, расширив его признаковое пространство. Эта задача, в свою очередь, сводится к изучению роли признаков и их сочетаний (по аналогии с дифференциальной диагностикой и семиотикой в медицине). Для выбора порядка, извлечения недостающих признаков, используются введенные понятия: ранг, устойчивые сочетания признаков, частота появления, доступность признака и категории объектов.
241-266
Аннотация
В данной работе рассмотрена аппаратная реализация расчета деполимеризации белковой микротрубочки методом броуновской динамики на кристалле программируемой логической интегральной схеме (ПЛИС) Xilinx Virtex-7 с использованием высокоуровневого транслятора с языка Си Vivado HLS. Реализация на ПЛИС сравнивается с параллельными реализациями этого же алгоритма на многоядерном процессоре Intel Xeon и графическом процессоре Nvidia K40 по критериям производительности и энергоэффективности. Алгоритм работает на броуновских временах и поэтому требует большого количества нормально распределенных случайных чисел. Оригинальный последовательный код был оптимизирован под многоядердную архитектуру с помощью OpenMP, для графического процессора - с помощью OpenCL, а реализация на ПЛИС была получена посредством высокоуровневого транслятора Vivado HLS. В работе показано, что реализация на ПЛИС быстрее CPU в 17 раз и быстрее GPU в 11 раз. Что касается энергоэффективности (производительности на ватт), ПЛИС была лучше CPU в 227 раз и лучше GPU в 75 раз. Ускоренное на ПЛИС приложение было разработано с помощью SDK, включающего готовый проект ПЛИС, имеющий PCI Express интерфейс для связи с хост-компьютером, и софтверные библиотеки для общения хост-приложения с ПЛИС ускорителем. От конечного разработчика было необходимо только разработать вычислительно ядро алгоритма на языке Си в среде Vivado HLS, и не требовалось специальных навыков ПЛИС разработки.
267-326
Аннотация
Для моделирования течений в широком диапазоне чисел Маха предложен гибридный метод аппроксимации конвективных слагаемых, основанный на схеме Курганова-Тадмора и разновидности метода проекций PISO (Pressure Implicit With Splitting Operators). Особенность данного метода состоит в неявной выражении конвективных потоков из схемы Курганова-Тадмора и введении специальной функции-переключателя, обеспечивающей в зависимости от локальных характеристик потока переход от «сжимаемой» схемы (Курганова-Тадмора) к «несжимаемой» схеме (стандартная аппроксимация, используемая в методе PISO). Использование такой гибридной схемы позволяет получить следующие преимущества: а) за счёт неявного учёта диффузионных слагаемых шаг по времени не ограничен скоростью распространения волн диффузионным механизмом; б) за счёт аппроксимации конвективных слагаемых неявным способом и перехода к стандартным схемам PISO шаг по времени ограничивается только потоковым числом Куранта; в) при необходимости разрешения акустических волн достаточно снижения шага по времени до достижения акустическим числом Куранта значений меньше 1 во всей области; г) использование схемы Курганова-Тадмора позволяет получить неосциллирующее решение в задачах с распространением акустических сигналов или при М > 0.3. В данной работе выполнено тестирование реализации гибридного метода для широкого класса задач с известным аналитическим решением и экспериментальными данными: а) сжимаемые течения - распространение волны в прямом канале (Задача Сода), обтекание плоского клина, обтекание обратного уступа сверхзвуковым потоком, обтекание прямого уступа сверхзвуковым потоком, течение в сверхзвуковом сопле при наличии прямого скачка уплотнения в закритической части; б) несжимаемые течения - дозвуковое течение ламинарного вязкого потока в канале круглого сечения, обтекание цилиндра в ламинарном режиме; обтекание цилиндра турбулентным потоком, течение струй газов со смешением; в) промышленные и академические верификационные задачи - истечение струи газа из сверхзвукового сопла, истечение квазиравновесной расширяющейся струи плазмы в вакуум; г) качественное исследование адекватности модели для задач промышленного масштаба - моделирование течения в высокоскоростном компрессоре, модель гидродинамики водокольцевого насоса. Все материалы работы и исходный код свободно доступны через проект GiHub https://github.com/unicfdlab.


Creative Commons License
Контент доступен под лицензией Creative Commons Attribution 4.0 License.


ISSN 2079-8156 (Print)
ISSN 2220-6426 (Online)