Тип работы:
Предмет:
Язык работы:


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

Работа №130479

Тип работы

Магистерская диссертация

Предмет

информатика

Объем работы67
Год сдачи2017
Стоимость4850 руб.
ПУБЛИКУЕТСЯ ВПЕРВЫЕ
Просмотрено
15
Не подходит работа?

Узнай цену на написание


Введение 5
1.1 Диаграмма потоков данных
1.2 Программирование потоков данных . . . . . . . . . . . . . . 8
1.2.1 История . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.2.2 Основные определения . . . . . . . . . . . . . . . . . 10
1.3 Реактивные приложения
1.3.1 Отзывчивость
1.3.2 Устойчивость
1.3.3 Гибкость
1.3.4 Основанность на сообщениях . . . . . . . . . . . . . . 14
1.4 Современное состояние проблемы разработки реактивных
приложений
2 Проблема исследования 18
3 Цели и задачи исследования 19
4 Основная часть 20
4.1 WRF платформа
4.2 RAML
4.2.1 Языки разметки графов . . . . . . . . . . . . . . . . 21
4.2.2 Общие сведения о RAML . . . . . . . . . . . . . . . . 27
4.2.3 Как работает RAML . . . . . . . . . . . . . . . . . . . 29
4.2.4 Преимущества RAML . . . . . . . . . . . . . . . . . . 30
4.2.5 RAML vs CSharp Code . . . . . . . . . . . . . . . . . 30
34.2.6 Структурные элементы WRF . . . . . . . . . . . . . 31
4.2.7 Узел . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
4.2.8 Граф
4.3 Разработка простого приложения с использованием WRF . . 50
4.3.1 Задача .
4.3.2 Проектирование
4.3.3 Реализация
4.3.4 Результаты
4.4 Приложение для Online шопинга разработанное с использованием WRF
5 Результаты 62
6 Список литературы

Организации работающие в разных сферах независимо друг от друга ищут шаблоны и подходы для создания программного обеспечения, которое выглядит и ведет себя одинаково. Эти системы являются более надежными, более устойчивыми, более гибкими и лучше приспособлены к современным требованиям.
Требования к приложениям резко изменились за последние годы. Всего несколько лет назад большое приложение могло содержать десятки серверов, секунды времени отклика, часы автономного обслуживания и гигабайты данных. Сегодня приложения разворачиваются на всем: от мобильных устройств до облачных кластеров, на которых работают тысячи многоядерных процессоров. Пользователи ожидают миллисекунды времени отклика и сто процентов времени безотказной работы, а данные
измеряются в петабайтах. Вчерашние архитектурные решения, используемые для создания программного обеспечения, просто не удовлетворяют сегодняшним требованиям.
Реактивные системы более гибкие, слабосвязанные и масштабируемые. Это облегчает их разработку и адаптацию к изменениям. Они значительно более терпимы к ошибкам и сбоям, очень отзывчивы и предоставляют пользователям эффективную. интерактивную обратную связь.
Новые требования к приложениям повлекли за собой появление технологий позволяющих разрабатывать реактивные системы. Стали популярными интерфейсы программирования приложений для реактивного программирования такие как ReactiveX [1, 2, 9, 10, 11, 12, 13, 14], использующий наблюдаемые потоки и реализованный под огромное количество языков, такие как C Sharp, Java, JavaScript, C++ и многие другие. Этот и похожие инструменты позволяют представить приложение как набор объектов, обменивающихся между собой данными, и превратить структуру приложения в асинхронный ориентированный граф данных. Однако, текстовое представление не дает прозрачного понимания о взаимодействии объектов в приложении и о её структуре в целом. Визуальные
представление, в свою очередь, позволяют удобно и быстро конфигурировать и изменять графовую структуру приложения. Похожую задачу
решает Windows Presentation Foundation, решение от Microsoft, ориентированная на создание клиентских приложений. Подробнее об этом решении можно почитать на официальном сайте MSDN или в книге Pro WPF
4.5 in C Sharp [4].
В данной работе описывается технология предназначенная для создания реактивных приложений Windows, и предоставляющая визуальный интерфейс, позволяющий создавать элементы реактивной системы для приложений, перетаскивая элементы управления из панели элементов
и устанавливая свойства в окне «Свойства». Также данная технология предоставляет декларативную модель для описание реактивной системы благодаря использованию расширяемого языка разметки для реактивных приложений (XRAML)

Возникли сложности?

Нужна помощь преподавателя?

Помощь в написании работ!


• Проведен анализ большого объема реактивных приложений
• Проведен анализ подходов к визуальному программированию, как
к возможному решению проблемы возрастающей сложности поддержки и разработки больших реактивных приложений
• Разработаны прототипы унифицированной модели программирования для создания реактивных приложений
• Разработана итоговая унифицированная модель программирования для создания реактивных приложений, включающая в себя
– Декларативный язык разметки основанный на XML, который
упрощает создание структурного графа реактивного приложения
– Интеграцию с Visual Studio. Основные компоненты интеграции:
∗ Визуальный конструктор
∗ Поддержка расширения файлов
∗ Расширенное выделение синтаксиса, функции завершения кода IntelliSense и интуитивную навигацию по коду в редакторе кода, созданном на основе платформы компилятора .NET («Roslyn»)
∗ Различные спецификации


[1] Duncan K. DeVore, Sean Walsh, Brian Hanafee: Reactive Application
Development (2014)
[2] Lee Campbell: Introduction to Rx: A step by step guide to the Reactive
Extensions to .NET (2012)
[3] Ivan Morgillo, Sasa Sekulic, Fabrizio Chignoli: Grokking ReactiveX,
(2016)
[4] Matthew MacDonald: Pro WPF 4.5 in C Sharp: Windows Presentation
Foundation in .NET 4.5 (2012)
[5] Jonas Bon´er, Co-Founder and CTO Lightbend, Inc.: Reactive
Microservices Architecture (2016)
[6] Markus Eisele, Enterprise Advocate, Lightbend, Inc.: Developing
Reactive Microservices (2016)
[7] Jeff Smith: Reactive Machine Learning Systems (2016)
[8] Julien Richard-Foy: Play Framework Essentials (2014)
[9] Andre Staltz: The introduction to Reactive Programming you’ve been
missing (2014)
[10] The Couchbase documentation: Mastering Observables
[11] Russell Elledge: Reactive Programming in Java 8 With RxJava (2014)
[12] Tomasz Kowalczewski: 33rd Degree Reactive Java (2014)
63[13] Bodil Stokke: What Every Hipster Should Know About Functional
Reactive Programming (2014)
[14] Erik Meijer: Your Mouse is a Database (2012)
[15] McGraw, J.: The VAL Language: Description and Analysis (1982)
[16] Agha, G.: Actors: a Model of Concurrent Computation in Distributed
Systems, Series in Artificial Intelligence (Jun 1985)
[17] Arvind, D.: IEEE Xplore - Dataflow architectures and multithreading.
Annual review of computer science (1986)
[18] Browne, J., Hyder, S., Dongarra, J.: IEEE Xplore - Visual programming
and debugging for parallel computing (1995)
[19] Cann, D.: Retire Fortran? A debate rekindled (1991)
[20] Dennis, J.B.: Data Flow Supercomputers. Computer 13(11), 48-56
(1980)
[21] Feo, J., Cann, D.: A report on the Sisal language project (1990)
[22] Halbwachs, N., Caspi, P., Raymond, P., Pilaud, D.: The synchronous
data flow programming language LUSTRE. Proceedings of the IEEE
79(9), 1305-1320 (Sep 1991)
[23] Johnston, W., Hanna, J.: Advances in dataflow programming languages.
ACM Computing Surveys (CSUR) (2004)
64[24] Kahn, G.: The Semantics of a Simple Language for Parallel
Programming. In Information Processing ґ Proceedings of the IFIP
Congress (1974), pp. 471-475. 74: pp. 471-475 (1974)
[25] McGraw, J.: The VAL Language: Description and Analysis (1982)

Работу высылаем на протяжении 30 минут после оплаты.



Подобные работы


©2025 Cервис помощи студентам в выполнении работ