WIKI - VIPLE
| Paradygmat | Zorientowany na usługi , Programowanie wizualne , Aplikacja przepływu pracy |
|---|---|
| Zaprojektowany przez | Uniwersytet Stanu Arizona |
| Po raz pierwszy pojawiły się | 2014 |
| Wpływem | |
| Wizualny język programowania Microsoft | |
ASU VIPLE to środowisko języka programowania Visual IoT/Robotics opracowane na Uniwersytecie Stanowym Arizony.
ASU VIPLE to platforma edukacyjna zaprojektowana z naciskiem na myślenie obliczeniowe, a mianowicie na nauce działania algorytmów bez skupiania się na złożoności składniowej. W tym celu VIPLE ma na celu ułatwienie programowania aplikacji wykorzystujących robotykę i inne urządzenia IoT.
Historia
Wizualne i graficzne języki programowania są wykorzystywane jako narzędzia do nauczania pojęć informatyki i myślenia obliczeniowego. Opracowano i zastosowano szereg wizualnych środowisk programistycznych. MIT App Inventor na Androida wykorzystuje układanki typu „przeciągnij i upuść” do tworzenia aplikacji na telefon University of Virginia i Carnegie Mellon's Alice (oprogramowanie) to trójwymiarowe środowisko do tworzenia gier i filmów. Wykorzystuje rozwijaną listę, z której użytkownicy mogą stopniowo wybierać dostępne funkcje. App Inventor i Alice umożliwiają początkującym programistom tworzenie złożonych aplikacji przy użyciu kompozycji wizualnej na poziomie przepływu pracy. Oprogramowanie LEGO EV3 umożliwia proste programowanie robotyki poprzez klocki na szynach. Jest stosowany na poziomie gimnazjum i gimnazjum. Microsoft Robotics Developer Studio (MRDS) Visual Programming Language (VPL) został opracowany specjalnie dla aplikacji robotyki, co stanowi kamień milowy w inżynierii oprogramowania, robotyce i edukacji informatycznej pod wieloma względami. Microsoft MRDS VPL jest zorientowany na usługi; jest wizualny i oparty na przepływie pracy; jest sterowany zdarzeniami; obsługuje obliczenia równoległe; i jest szeroko stosowany w gimnazjach, szkołach średnich i college'ach jako narzędzie edukacyjne, które jest łatwe do nauczenia, a jednocześnie potężne i wyraziste. Niestety, Microsoft wstrzymał rozwój i wsparcie dla MRDS i VPL w 2014 roku. VIPLE (Visual IoT/Robotics Programming Language Environment) jest rozwijany, aby wspierać społeczność MRDS VPL. VIPLE jest rozwijany w oparciu o koncepcję Robot as a Service . VIPLE był używany w wielu szkołach i uniwersytetach na całym świecie. Podręcznik został opublikowany przez Machine Press China: Introduction to Computer Science with Robotics Experiment, Machine Press, 2013. Letnie obozy robotyki ASU odbywają się każdego lata przy użyciu programu VIPLE. Klasa ASU FSE100 używa VIPLE jako języka programowania. W ramach programów HEEAP i BUILD-IT w grudniu 2016 r. ponad 90 wykładowców i 20 studentów w Wietnamie zostało przeszkolonych do używania programu VIPLE do nauczania wprowadzenia do inżynierii z wykorzystaniem programowania robotycznego. ASU VIPLE został zastosowany w wielu projektach studenckich i był opisywany w różnych doniesieniach prasowych: "Programowanie robotów stało się łatwe" i "Zespół ASU zdobył pierwszą nagrodę na Intel Cup w Chinach".
Funkcje i filozofia
ASU VIPLE używa tego samego modelu obliczeniowego co Microsoft VPL. Program działa na komputerze z systemem Windows, komputerze stacjonarnym, laptopie lub tablecie. Komputer wysyła polecenia sterujące siłownikami robota (silnikami) i odbiera od robota dane sensoryczne oraz informacje zwrotne od silnika. Dane między komputerem a robotem są zakodowane w obiekcie JSON w formacie zwykłego tekstu. Obsługuje połączenia Wi-Fi, Bluetooth i USB między głównym komputerem a robotem. ASU VIPLE opiera się na koncepcji Robot as a Service i wykorzystuje standardowy interfejs do komunikacji z różnymi platformami IoT i robotyki. Obsługuje EV3 i dowolne samodzielnie opracowane roboty. ASU opracowała różne roboty w oparciu o architekturę Intela, system operacyjny Linux i system operacyjny Windows. Opracowano dwa symulatory VIPLE, które można wykorzystać jako etap w procesie rozwoju przed użyciem robotów fizycznych, a także alternatywy, gdy roboty fizyczne nie są dostępne. Symulatory obsługują wszystkie funkcjonalności robotów fizycznych. Jeden symulator został opracowany przy użyciu silnika gry Unity 3D, który zapewnia realistyczne zachowanie robotów w czasie rzeczywistym, a drugi symulator został opracowany przy użyciu HTML 5 i JavaScript, które działają w dowolnej przeglądarce internetowej. VIPLE to język programowania, który obsługuje następujące paradygmaty: - Programowanie przepływu sterowania ogólnego przeznaczenia (imperatywne) - Przetwarzanie zorientowane na usługi, obsługujące usługi RESTful i WSDL - Programowanie równoległe / wielowątkowe, z podstawowym bezpieczeństwem wątków - Programowanie sterowane zdarzeniami, z wbudowanym -in i niestandardowe zdarzenia - Workflow i programowanie wizualne - Programowanie IoT i Robotics
Składnia
Przykład „Witaj świecie”
ASU VIPLE jest podobny do Microsoft VPL nie tylko w koncepcjach, ale także w programowaniu. Intencją jest, aby programiści Microsoft VPL używali ASU VIPLE z niewielką nauką. Przykłady podstawowego programowania w ASU VIPLE. Zacznij od programu Hello World. Rysunek 2.2 przedstawia dwie wersje kodu używające VPL i ASU VIPLE. Oba diagramy wyglądają tak samo. Jednak ASU VIPLE uprościło kilka kroków: automatycznie zmienia typ na String po wprowadzeniu ciągu, a domyślny krok wartości null w Microsoft VPL jest eliminowany.
Biblioteki
Realizacje
VIPLE jest wdrożone i działa od 2015 roku. Oprogramowanie utrzymywane i aktualizowane co miesiąc. Oprogramowanie jest bezpłatne, a jego najnowszą wersję można pobrać z witryny Arizona State University: http://neptune.fulton.ad.asu.edu/VIPLE/
Zobacz też
- Autonomiczny system zdecentralizowany
- Chmura obliczeniowa
- Internet przedmiotów
- Robot jako usługa
- Architektura zorientowana na usługi
Publikacje
- Integracja komputerów zorientowanych na usługi i oprogramowania internetowego, wydanie piąte, Kendall Hunt Publishing, 2015
- Wprowadzenie do informatyki z wykorzystaniem eksperymentów robotyki, prasa maszynowa Chiny, 2013 r.
- Samouczek VIPLE: Środowisko programowania Visual IoT/Robotics, GitBook
- „VIPLE: Visual IoT/Robotics Programming Language Environment for Computer Science Education”, Warsztaty IPDPS 2016: 963-971 PDF i prezentacja PPT
- „Analiza i programowanie wizualne internet rzeczy i autonomiczne systemy zdecentralizowane” , Simulation Modeling Practice and Theory, Tom 65, czerwiec 2016, s. 1–10
- „Visual IoT/Robotics Programming Language in Pi-Calculus”, 13. Międzynarodowe Sympozjum Autonomicznych Systemów Zdecentralizowanych, Tajlandia, marzec 2017.
- „Improving Multithreaded Performance Algorithmically in VIPLE”, 13. Międzynarodowe Sympozjum Autonomicznych Systemów Zdecentralizowanych, Tajlandia, marzec 2017.
- Firmy tworzące aplikacje IOT 2018