VIPLE

Last updated
VIPLE: Visual IoT/Robotics Programming Language Environment
Paradigm Service Oriented, Visual Programming, Workflow application
Designed by Arizona State University
First appeared2014;10 years ago (2014)
Influenced by
Microsoft Visual Programming Language
A variety of robot platforms supported by VIPLE . A variety of robot platforms supported by VIPLE.png
A variety of robot platforms supported by VIPLE

ASU VIPLE is a Visual IoT/Robotics Programming Language Environment developed at Arizona State University. [1]

Contents

ASU VIPLE is an educational platform designed with a focus on computational thinking, namely on learning how algorithms work without focusing on syntactic complexities. To this end, VIPLE is designed to facilitate the programming of applications that make use of robotics and other IoT devices. [2]

History

Visual and graphical programming languages have been used as tools to teach computer science concepts and computational thinking. A number of visual programming environments have been developed and applied. MIT App Inventor for Android uses drag-and-drop style puzzles to construct phone applications [3] University of Virginia and Carnegie Mellon's Alice (software) is a 3D game and movie development environment. [4] It uses a drop-down list for users to select the available functions in a step-wise manner. App Inventor and Alice allow novice programmers to develop complex applications using visual composition at the workflow level. LEGO EV3 software allows simple robotics programming through puzzle blocks on rails. It has been applied in junior high and middle school levels. Microsoft Robotics Developer Studio (MRDS) Visual Programming Language (VPL) are specifically developed for robotics applications, which is a milestone in software engineering, robotics, and computer science education from many aspects. Microsoft MRDS VPL is service-oriented; it is visual and workflow-based; it is event-driven; it supports parallel computing; and it has been widely used in middle schools, high schools, and colleges an educational tool that is simple to learn and yet powerful and expressive. Unfortunately, Microsoft stopped its development and support for MRDS and VPL in 2014. VIPLE (Visual IoT/Robotics Programming Language Environment) is developed to support MRDS VPL community. VIPLE is developed based on the concept of Robot as a Service. VIPLE has been used in many schools and universities around the world. A textbook has been published by Machine Press China: Introduction to Computer Science with Robotics Experiment, Machine Press, 2013. [5] ASU summer robotics camps are taught using VIPLE every summer. [6] ASU class FSE100 uses VIPLE as the programming language. [7] Under the HEEAP and BUILD-IT programs, over 90 faculty and 20 students in Vietnam were trained in December 2016 to use VIPLE to teach introduction to engineering using robotics programming. [8] ASU VIPLE has been applied in numerous student projects and was reported in different news reports: "Robot programming made easy" [9] and "ASU team won first prize at Intel Cup in China". [10]

Features and philosophy

ASU VIPLE uses the same computing model as Microsoft VPL. The program is running on a Windows computer, a desktop, a laptop, or a tablet. The computer sends commands to control the robot actuators (motors) and receives the sensory data and motor feedback from the robot. The data between the computer and the robot is encoded in a JSON object which is in plain text format. It supports Wi-Fi, Bluetooth and USB connections between the main computer and the robot. ASU VIPLE is based on Robot as a Service concepts and uses standard interface to communicate with different IoT and robotics platforms. It supports EV3 and any self-developed robots. ASU developed different robots based on Intel architecture, the Linux operating system, and the Windows operating system. [1] Two VIPLE simulators are developed, which can be used as a step in the development process before using physical robots, as well as alternatives when physical robots are not available. The simulators support all the functionalities of the physical robots. One simulator is developed using Unity 3D game engine, which provides realistic and real-time behaviors of robots, and the other simulator is developed using HTML 5 and JavaScript, which runs in any Web browser. VIPLE is a programming language that supports the following paradigms: - General-purpose control flow programming (imperative) - Service-oriented computing, supporting RESTful and WSDL services - Parallel / multithreading programming, with underlying threads safety - Event-driven programming, with built-in and custom events - Workflow and visual programming - IoT and Robotics programming

"Hello world" Example

ASU VIPLE is similar to Microsoft VPL not only in concepts but also in programming. The intention is to have Microsoft VPL programmers use ASU VIPLE with little learning. Examples of basic programming in ASU VIPLE. Start with the Hello World program. Figure 2.2 shows the two versions of code using VPL and ASU VIPLE. The two diagrams look the same. However, ASU VIPLE has simplified a couple of steps: it automatically changes the type to String after a string is entered, and the default null value step in Microsoft VPL is eliminated. [11]

Libraries

Implementations

VIPLE is implemented and operational since 2015. The software maintained and updated in monthly basis. The software is free and the latest version can be downloaded from Arizona State University Site.

See also

Related Research Articles

<span class="mw-page-title-main">Keyboard shortcut</span> Assignments for computer keyboard keys

In computing, a keyboard shortcut is a software-based assignment of an action to one or more keys on a computer keyboard. Most operating systems and applications come with a default set of keyboard shortcuts, some of which may be modified by the user in the settings.

An application program is a computer program designed to carry out a specific task other than one relating to the operation of the computer itself, typically to be used by end-users. Word processors, media players, and accounting software are examples. The collective noun "application software" refers to all applications collectively. The other principal classifications of software are system software, relating to the operation of the computer, and utility software ("utilities").

<span class="mw-page-title-main">Visual programming language</span> Programming language written graphically by a user

In computing, a visual programming language, also known as diagrammatic programming, graphical programming or block coding, is a programming language that lets users create programs by manipulating program elements graphically rather than by specifying them textually. A VPL allows programming with visual expressions, spatial arrangements of text and graphic symbols, used either as elements of syntax or secondary notation. For example, many VPLs are based on the idea of "boxes and arrows", where boxes or other screen objects are treated as entities, connected by arrows, lines or arcs which represent relations. VPLs are generally the basis of Low-code development platforms.

In computer programming, dataflow programming is a programming paradigm that models a program as a directed graph of the data flowing between operations, thus implementing dataflow principles and architecture. Dataflow programming languages share some features of functional languages, and were generally developed in order to bring some functional concepts to a language more suitable for numeric processing. Some authors use the term datastream instead of dataflow to avoid confusion with dataflow computing or dataflow architecture, based on an indeterministic machine paradigm. Dataflow programming was pioneered by Jack Dennis and his graduate students at MIT in the 1960s.

Quantum programming is the process of designing or assembling sequences of instructions, called quantum circuits, using gates, switches, and operators to manipulate a quantum system for a desired outcome or results of a given experiment. Quantum circuit algorithms can be implemented on integrated circuits, conducted with instrumentation, or written in a programming language for use with a quantum computer or a quantum processor.

The Microsoft Security Development Lifecycle (SDL) is the approach Microsoft uses to integrate security into DevOps processes (sometimes called a DevSecOps approach). You can use this SDL guidance and documentation to adapt this approach and practices to your organization. 

<span class="mw-page-title-main">Lego Mindstorms NXT</span> Programmable robotics kit

Lego Mindstorms NXT is a programmable robotics kit released by Lego on August 2, 2006. It replaced the Robotics Invention System, the first-generation Lego Mindstorms kit. The base kit ships in two versions: the retail version and the education base set. It comes with the NXT-G programming software or the optional LabVIEW for Lego Mindstorms. A variety of unofficial languages exist, such as NXC, NBC, leJOS NXJ, and RobotC. A second-generation set, Lego Mindstorms NXT 2.0, was released on August 1, 2009, with a color sensor and other upgrades. The third-generation EV3 was released in September 2013.

<span class="mw-page-title-main">Microsoft Robotics Developer Studio</span>

Microsoft Robotics Developer Studio is a discontinued Windows-based environment for robot control and simulation that was aimed at academic, hobbyist, and commercial developers and handled a wide variety of robot hardware. It requires a Microsoft Windows 7 operating system or later.

Microsoft Visual Programming Language, or VPL, is a visual programming and dataflow programming language developed by Microsoft for the Microsoft Robotics Studio. VPL is based on the event-driven and data-driven approach. The programming language is distinguished from other Microsoft programming languages such as Visual Basic and C#, as it is the only Microsoft language that is a true visual programming language. Microsoft has utilized the term "Visual" in its previous programming products to reflect that a large degree of development in these languages can be performed by "dragging and dropping" in a traditional wysiwyg fashion.

<span class="mw-page-title-main">Microsoft Azure</span> Cloud computing platform by Microsoft

Microsoft Azure, or just Azure, is the cloud computing platform developed by Microsoft. It has management, access and development of applications and services to individuals, companies, and governments through its global infrastructure. It also provides capabilities that are usually not included within other cloud platforms, including software as a service (SaaS), platform as a service (PaaS), and infrastructure as a service (IaaS). Microsoft Azure supports many programming languages, tools, and frameworks, including Microsoft-specific and third-party software and systems.

Tandy Trower is the current CEO of Hoaloha Robotics LLC, a robotics company based in Seattle, Washington, developing an autonomously mobile, socially interactive robot, to empower senior citizens to live more independently.

<span class="mw-page-title-main">Lego Mindstorms EV3</span> Programmable robotics kit

LEGO Mindstorms EV3 is the third generation robotics kit in LEGO's Mindstorms line. It is the successor to the second generation LEGO Mindstorms NXT kit. The "EV" designation refers to the "evolution" of the Mindstorms product line. "3" refers to the fact that it is the third generation of computer modules - first was the RCX and the second is the NXT. It was officially announced on January 4, 2013, and was released in stores on September 1, 2013. The education edition was released on August 1, 2013. There are many competitions using this set, including the FIRST LEGO League Challenge and the World Robot Olympiad, sponsored by LEGO.

<span class="mw-page-title-main">Tango (platform)</span> Mobile computer vision platform for Android developed by Google

Tango was an augmented reality computing platform, developed and authored by the Advanced Technology and Projects (ATAP), a skunkworks division of Google. It used computer vision to enable mobile devices, such as smartphones and tablets, to detect their position relative to the world around them without using GPS or other external signals. This allowed application developers to create user experiences that include indoor navigation, 3D mapping, physical space measurement, environmental recognition, augmented reality, and windows into a virtual world.

<span class="mw-page-title-main">Blockly</span> JavaScript library

Blockly is a client-side library for the programming language JavaScript for creating block-based visual programming languages (VPLs) and editors. A project of Google, it is free and open-source software released under the Apache License 2.0. It typically runs in a web browser, and visually resembles the language Scratch.

Robot as a service or robotics as a service (RaaS) is a cloud computing unit that facilitates the seamless integration of robot and embedded devices into Web and cloud computing environment. In terms of service-oriented architecture (SOA), a RaaS unit includes services for performing functionality, a service directory for discovery and publishing, and service clients for user's direct access. The current RaaS implementation facilitates SOAP and RESTful communications between RaaS units and the other cloud computing units. Hardware support and standards are available to support RaaS implementation. Devices Profile for Web Services (DPWS) defines implementation constraints to enable secure Web Service messaging, discovery, description, and eventing on resource-constrained devices between Web services and devices.

Microsoft, a tech company historically known for its opposition to the open source software paradigm, turned to embrace the approach in the 2010s. From the 1970s through 2000s under CEOs Bill Gates and Steve Ballmer, Microsoft viewed the community creation and sharing of communal code, later to be known as free and open source software, as a threat to its business, and both executives spoke negatively against it. In the 2010s, as the industry turned towards cloud, embedded, and mobile computing—technologies powered by open source advances—CEO Satya Nadella led Microsoft towards open source adoption although Microsoft's traditional Windows business continued to grow throughout this period generating revenues of 26.8 billion in the third quarter of 2018, while Microsoft's Azure cloud revenues nearly doubled.

<span class="mw-page-title-main">PWCT</span> Visual programming language

PWCT is a free open source visual programming language for software development. The project was founded in December 2005 as a free open-source project that supports designing applications through visual programming then generating the source code. The software supports code generation in many textual programming languages.

AirSim is an open-source, cross platform simulator for drones, ground vehicles such as cars and various other objects, built on Epic Games’ proprietary Unreal Engine 4 as a platform for AI research. It is developed by Microsoft and can be used to experiment with deep learning, computer vision and reinforcement learning algorithms for autonomous vehicles. This allows testing of autonomous solutions without worrying about real-world damage.

References

  1. 1 2 "ASU VIPLE". neptune.fulton.ad.asu.edu. Retrieved 13 February 2017.
  2. Chen, Yinong; De Luca, Gennaro (2016). "VIPLE: Visual IoT/Robotics Programming Language Environment for Computer Science Education". 2016 IEEE International Parallel and Distributed Processing Symposium Workshops (IPDPSW). pp. 963–971. doi:10.1109/IPDPSW.2016.55. ISBN   978-1-5090-3682-0. S2CID   14954561.
  3. Kamriani, Felicia; Roy, Krishnendu (2016). App Inventor 2 Essentials. Packt Publishing. ISBN   9781785281105.
  4. Adams, Joel (2014). Alice 3 in Action: Computing Through Animation. Delmar Learning. ISBN   9781133589228.
  5. "Intro to CSE with Robotic Labs".
  6. "ASU Robotics Camp".
  7. "FSE100".
  8. "Robotics workshop kicks off use of distance learning classrooms - HEEAP website".
  9. "Robot programming made easy, thanks to ASU". 12 August 2016.
  10. "ASU team wins first prize at Intel Cup in China - Full Circle". 9 August 2016.
  11. Chen, Yinong; Gennaro, De Luca. "IoT and Robotics Problem Solving in Visual Programming Laboratory Manual" (PDF). neptune.fulton.ad.asu.edu. Arizona State University. Retrieved 13 February 2017.

Further reading