close

Вход

Забыли?

вход по аккаунту

?

Язык визуального

код для вставкиСкачать
Евгений Марченков
Эксперт по технологиям разработки ПО
Microsoft
Microsoft TechDays
http://www.techdays.ru
Это набор продуктов и сервисов для
простого создания приложений для
роботов на большом кол-ве
разнообразных устройств
Microsoft Robotics Developer Studio 2008
RoboChamps
www.robochamps.com
Microsoft TechDays
http://www.techdays.ru
Runtime environment
Выполнение приложений для роботов,
отслеживание и взаимодействие с другими
приложениями для роботов
Visual Programming Language (VPL)
Язык визуального программирования для
написания приложений для роботов
Simulation environment
Выполнение приложения для роботов в
симулируемых условиях
Microsoft TechDays
http://www.techdays.ru
Decentralized System Services (DSS)
Модель распределенного приложения
Простая, гибкая и сервис-ориентированная
Совместима с существующей Web
инфраструктурой
Concurrency & Coordination Runtime (CCR)
Библиотека для работы с параллельными и
асинхронными потоками данных
Фокус на координацию сообщений
Скрывает традиционные потоки и примитивы
блокировки
Microsoft TechDays
http://www.techdays.ru
Bumper 2
(Sensor)
Motor
Message
Box
(Actuator)
Orchestrator
Infrared
detector
(Sensor)
Bumper 1
(Sensor)
Motor
Приложение – это композиция слабосвязанных
параллельно выполняющихся компонент
Координирование сенсоров и приводов
Пользовательский интерфейс
Контролируемое/автономное поведение
Сервис – единица координирования
Microsoft TechDays
http://www.techdays.ru
Сервисом м.б. всё, с чего можно
получать данные
Железо: Сенсоры, приводы,…
ПО: UI, Хранилище,…
Агрегация: Группа сенсоров, mash-up-ы,…
Microsoft TechDays
http://www.techdays.ru
Что такое VPL?
Язык визуального программирования
Dataflow programming
Для кого?
Для начинающих программистов с базовым
пониманием концепций программирования
роботов
Для описания прототипов
Microsoft TechDays
http://www.techdays.ru
Среда визуального программирования
Программирование с помощью Drag & Drop
Приложение – это диаграмма
Блоки
Basic activities
Service activities
User activities
Связи между блоками
Notifications
Часть Microsoft Robotics Studio
Microsoft TechDays
http://www.techdays.ru
Microsoft TechDays
http://www.techdays.ru
Microsoft TechDays
http://www.techdays.ru
Происходит обмен сообщениями между
activities
Activities
Выполняет действие на входящее сообщение
Посылает результат действия как исходящее
сообщение
Соединения
Соединяет две activities так, чтобы исходящее
сообщение первой было входящим сообщением
второй
Входящее сообщение
Исходящее сообщение
Microsoft TechDays
http://www.techdays.ru
Происходит обмен сообщениями между
activities
Activities
Выполняет действие на входящее сообщение
Посылает результат действия как исходящее
сообщение
Соединения
Соединяет две activities так, чтобы исходящее
сообщение первой было входящим сообщением
второй
Входящее сообщение
Microsoft TechDays
http://www.techdays.ru
Data activity
Для работы с данными
Conditional activities
Для реализации конструкций If, Merge, Join,
Switch
Calculate activity
Позволяет производить операции *,/,+,-,%
Variable activity, List activity
Для хранения одной или нескольких
переменных одного типа
Microsoft TechDays
http://www.techdays.ru
Исходящее сообщение содержит новое
значение
Входящее сообщение игнорируется
Различные типы данных
int, string, double, bool, …
Microsoft TechDays
http://www.techdays.ru
SimpleDialog – это DSS сервис
Все DSS сервисы - это activities в VPL
Позволяют взаимодействовать с сенсорами
и моторами робота, с устройствами ввода и
т.д.
Вы можете добавлять свои собственные
activites!
Microsoft TechDays
http://www.techdays.ru
У сервиса может быть несколько действий
AlertDialog, PromptDialog, ConfirmDialog
Большинство действий имеет два сообщения
Success – может содержать исходящее значение
Fault – действие не может быть выполнено
Microsoft TechDays
http://www.techdays.ru
Сервисы
представлены в
разделе Services
Используйте поиск
для нахождения
искомого сервиса
Microsoft TechDays
http://www.techdays.ru
Перетащите исходящее сообщение
первой activity…
Microsoft TechDays
http://www.techdays.ru
… ко второй activity
Точки возможного соединения
подсвечиваются
Microsoft TechDays
http://www.techdays.ru
Когда соединяете activity, имеющую несколько
действий, выберите одно, которое вам нужно
Выберите исходящее
сообщение, которое
используется, как
входящее сообщение
для действия
Выберите
действие, на
которое будет
послано
сообщение
Microsoft TechDays
http://www.techdays.ru
У службы определен формат сообщения
AlertDialog требует
на вход параметр
AlertText.
Выберите часть
сообщения,
которая будет
передана, как
параметр
Microsoft TechDays
http://www.techdays.ru
Microsoft TechDays
http://www.techdays.ru
Автоматически
на вход получает
пустое значение
Value:
Microsoft TechDays
http://www.techdays.ru
Value:
“Hello, World!”
(string)
Microsoft TechDays
http://www.techdays.ru
Value:
“Hello, World!”
(string)
Microsoft TechDays
http://www.techdays.ru
Соединение
автоматически
форматирует
сообщение под
требуемый тип
Value:
AlertText = “Hello, World!”
(AlertText string)
Microsoft TechDays
http://www.techdays.ru
Исходящее
значение
игнорируется
Value:
Empty
(Success)
Microsoft TechDays
http://www.techdays.ru
Microsoft TechDays
http://www.techdays.ru
Мы узнали о
Data Activities
Service Activities
Соединениях между activities
Написал простой Hello world! Microsoft TechDays
http://www.techdays.ru
Задача
Посчитать количество нажатий кнопки A на
контроллере XBox360
Для этого мы изучим
Оповещения (Notifications)
Conditional Activities
Variables
Microsoft TechDays
http://www.techdays.ru
Activities посылают оповещения о
событиях, когда их внутреннее состояние
меняется
Сенсоры, устройства ввода, …
Похожи на события в C#
Точка привязки на
оповещение от activity
контроллера XBox360
Microsoft TechDays
http://www.techdays.ru
Если вы используете activity с
несколькими вариантами оповещений, то
выберите одно, которое вам нужно
Выберите
оповещение для
использования
(исходящее
сообщение)
Microsoft TechDays
http://www.techdays.ru
Оповещение ButtonsChange посылается
каждый раз, когда нажимается какаялибо кнопка
Необходимо проверить, была ли нажата A
Microsoft TechDays
http://www.techdays.ru
If activity посылает входящее сообщение
на один из двух выходов
Условие используется для входящего
сообщения
Результат: true или false
Используется
этот выход, если
условие true.
Поля для ввода
условия
Microsoft TechDays
Используется этот
выход, если
условие false.
http://www.techdays.ru
Выберите часть
входящего сообщения
Microsoft TechDays
http://www.techdays.ru
Выберите часть
входящего сообщения
Microsoft TechDays
http://www.techdays.ru
Выберите часть
входящего сообщения
Входящее сообщение
Microsoft TechDays
http://www.techdays.ru
Выберите часть
входящего сообщения
Состав входящего сообщения
Microsoft TechDays
http://www.techdays.ru
Выберите часть
входящего сообщения
Microsoft TechDays
http://www.techdays.ru
Выберите часть
входящего сообщения
Точка выхода, если
была нажата
кнопка А
Microsoft TechDays
http://www.techdays.ru
Выберите часть
входящего сообщения
Точка выхода, если
кнопка А нажата не
была
Microsoft TechDays
http://www.techdays.ru
Для подсчета нажатий нужно
Создать счетчик
Увеличивать его на 1 при каждом ButtonsChange
оповещении кнопки А
Кол-во нажатий – это состояние
Хранится в Variable activity
Действия GetValue – получить значение
Действие SetValue – установить значение
Microsoft TechDays
http://www.techdays.ru
Для подсчета нажатий нужно
Создать счетчик
Увеличивать его на 1 при каждом ButtonsChange
оповещении кнопки А
Кол-во нажатий – это состояние
Хранится в Variable activity
Действия GetValue – получить значение
Действие SetValue – установить значение
Входящее сообщение в
случае действия
SetValue становится
значением переменной
Исходящее
сообщение содержит
значение переменной
Выберите переменную для
работы с ней
Microsoft TechDays
http://www.techdays.ru
Microsoft TechDays
http://www.techdays.ru
Название переменной
Так же название
значения в исходящем
сообщении
Microsoft TechDays
Тип переменной
http://www.techdays.ru
Calculate activity вычисляет новое
значение входящего сообщения
Пишутся выражения для входящего
сообщения
Арифметические и логические операции
Microsoft TechDays
http://www.techdays.ru
Calculate activity вычисляет новое
значение входящего сообщения
Пишутся выражения для входящего
сообщения
Арифметические и логические операции
Единица добавляется
к значению Count
входящего сообщения
Microsoft TechDays
http://www.techdays.ru
Calculate activity вычисляет новое
значение входящего сообщения
Пишутся выражения для входящего
сообщения
Арифметические и логические операции
Microsoft TechDays
http://www.techdays.ru
Calculate activity вычисляет новое
значение входящего сообщения
Пишутся выражения для входящего
сообщения
Арифметические и логические операции
Count = 3
Microsoft TechDays
http://www.techdays.ru
Calculate activity вычисляет новое
значение входящего сообщения
Пишутся выражения для входящего
сообщения
Арифметические и логические операции
Count = 3
Value:
A = true
B = false …
Microsoft TechDays
http://www.techdays.ru
Calculate activity вычисляет новое
значение входящего сообщения
Пишутся выражения для входящего
сообщения
Арифметические и логические операции
Count = 3
Value:
Count = 3
(Count int)
Microsoft TechDays
http://www.techdays.ru
Calculate activity вычисляет новое
значение входящего сообщения
Пишутся выражения для входящего
сообщения
Арифметические и логические операции
Count = 3
Value:
4
(int)
Microsoft TechDays
http://www.techdays.ru
Calculate activity вычисляет новое
значение входящего сообщения
Пишутся выражения для входящего
сообщения
Арифметические и логические операции
Count = 4
Value:
Count = 4
(Count int)
Microsoft TechDays
http://www.techdays.ru
Microsoft TechDays
http://www.techdays.ru
Одно исходящее сообщение
может быть использовано
для множества разных
activities как входящее
Microsoft TechDays
http://www.techdays.ru
То же самое, что и Service Activities
Может посылать сообщения
Имеет собственное состояние
Аналог из программирования: Функция
Microsoft TechDays
http://www.techdays.ru
Мы научились работать с
Basic activities
Service activites
Изучили базовые принципы соединения
activities, передачи по ним сообщений
Узнали об оповещениях
Microsoft TechDays
http://www.techdays.ru
Сайт
http://www.microsoft.com/robotics
Newsgroup
http://msdn.microsoft.com/robotics/
Wiki
http://channel9.msdn.com/wiki/default.aspx/Ch
annel9.MSRoboticsStudio
Microsoft TechDays
http://www.techdays.ru
© 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.
The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market
conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation.
MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
Microsoft TechDays
http://www.techdays.ru
Документ
Категория
Презентации
Просмотров
5
Размер файла
2 735 Кб
Теги
1/--страниц
Пожаловаться на содержимое документа