Distributed applications enhance their execution by using remote resources. However, distributed execution incurs communication, synchronization, fault-handling, and security overheads. If these overheads are not offset by the yet larger execution enhancement, distribution becomes counterproductive. For maximum benefits, the distribution’s granularity cannot be too fine or too crude; it must be just right. In this paper, we present a novel approach to re-architecting distributed applications, whose distribution granularity has turned ill-conceived. To adjust the distribution of such applications, our approach automatically reshapes their remote invocations to reduce aggregate latency and resource consumption. To that end, our approach insources a remote functionality for local execution, splits it into separate functions to profile their performance, and determines the optimal redistribution based on a cost function. Redistribution strategies combine separate functions into single remotely invocable units. To automate all the required program transformations, our approach introduces a series of domainspecific automatic refactorings. We have concretely realized our approach as an analysis and automatic program transformation infrastructure for the important domain of full-stack JavaScript applications, and evaluated its value, utility, and performance on a series of real-world cross-platform mobile apps. Our evaluation results indicate that our approach can become a useful tool for software developers charged with the challenges of re-architecting distributed applications.
more »
« less
Making High-Performance Robots Safe and Easy to Use for an Introduction to Computing
Robots are a popular platform for introducing computing and artificial intelligence to novice programmers. However, programming state-of-the-art robots is very challenging, and requires knowledge of concurrency, operation safety, and software engineering skills, which can take years to teach. In this paper, we present an approach to introducing computing that allows students to safely and easily program high-performance robots. We develop a platform for students to program RoboCup Small Size League robots using JavaScript. The platform 1) ensures physical safety at several levels of abstraction, 2) allows students to program robots using the JavaScript in the browser, without the need to install software, and 3) presents a simplified JavaScript semantics that shields students from confusing language features. We discuss our experience running a week-long workshop using this platform, and analyze over 3,000 student-written program revisions to provide empirical evidence that our approach does help students.
more »
« less
- Award ID(s):
- 1717636
- PAR ID:
- 10158746
- Date Published:
- Journal Name:
- Educational Advances in Artificial Intelligence (EAAI)
- Format(s):
- Medium: X
- Sponsoring Org:
- National Science Foundation
More Like this
-
-
Many Cyber-Physical Systems (CPS) have timing constraints that must be met by the cyber components (software and the network) to ensure safety. It is a tedious job to check if a CPS meets its timing requirement especially when they are distributed and the software and/or the underlying computing platforms are complex. Furthermore, the system design is brittle since a timing failure can still happen e.g., network failure, soft error bit flip, etc. In this paper, we propose a new design methodology called Plan B where timing constraints of the CPS are monitored at the runtime, and a proper backup routine is executed when a timing failure happens to ensure safety. We provide a model on how to express the desired timing behavior using a set of timing constructs in a C/C++ code and how to efficiently monitor them at the runtime. We showcase the effectiveness of our approach by conducting experiments on three case studies: 1) the full software stack for autonomous driving (Apollo), 2) a multi-agent system with 1/10th scale model robots, and 3) a quadrotor for search and rescue application. We show that the system remains safe and stable even when intentional faults are injected to cause a timing failure. We also demonstrate that the system can achieve graceful degradation when a less extreme timing failure happens.more » « less
-
Traditional lectures have difficulties instilling pragmatic skills in construction engineering students due to the inability to illuminate the complexities within the human-robot collaborative construction environment. While on-site can acclimatize construction students to reality and construct knowledge that can solve safety challenges, it is challenging to organize on-site training trips owing to the dangerous nature of construction workplaces. This research aimed to explore virtual reality (VR) as a tool to enhance students’ perception and knowledge of construction robotic safety. For this purpose, the study developed a virtual training platform for providing construction engineering students with safety knowledge on interacting with simulated robots within the virtual environment of construction sites. A self-assessment approach was leveraged among 20 recruited students to demonstrate the efficacy of students’ engagement and learning outcomes from the proposed learning approach over the traditional learning approach. Results indicated a statistical difference in students’ learning outcomes and engagement levels between the developed approach and the traditional approach. Findings demonstrated the implications of VR as an experiential tool to enhance the students’ learning of robotic safety in construction.more » « less
-
The next ubiquitous computing platform, after personal computers and smartphones, is likely one of the autonomous natures, such as drones, robots, and self-driving cars, which have moved from mere lab concepts to permeating almost every aspect of our soci- ety [16, 20, 25]. Behind the proliferation of autonomous machines is the critical need to ensure reliability [7, 22–24]. Almost every vendor, be it in the software, hardware, or systems segment, has to conform to functional safety standards when shipping products for automotives. Today’s resiliency solutions to autonomous machines, however, all make fundamental trade-offs between resiliency and cost, which manifests as high overhead in performance, energy, and chip area. For instance, hardware modular redundancy provides high safety but more than doubles the area and energy cost [1]. The reason is that today’s solutions are of the “one-size-fits-all” nature: they use the same protection scheme throughout the entire computing stack of autonomous machines. As a result, they have to accommodate the least robust component, leading to a high protection overhead. The insight of this paper is that for a resiliency solution to pro- vide high protection coverage while introducing little cost, we must exploit the inherent robustness variations in the domain-specific autonomous machine computing. In particular, we show that the different autonomous machine kernels differ significantly in their inherent robustness and performance. Building on top of that, we propose a Vulnerable-Proportional Protection (VPP) design paradigm, in which the protection budget, be it spatially (e.g., modular re- dundancy) or temporally (e.g., re-execution), should be inversely proportional to the inherent robustness of a task in the autonomous machine system. In stark contrast to the existing “one-size-fits-all” strategy, VPP wisely allocates the protection budget, thus achieving the same protection coverage with little overhead, which provides a blueprint design paradigm towards reliable autonomous machinesmore » « less
-
null (Ed.)Minority students are not entering computing fields due to inadequate exposure in K-12 curricula. Online computing environments are effective at exposing more minority students to computing concepts before college. An HBCU hosted a virtual camp during COVID-19 to teach minority adolescent students the fundamentals of app development using MIT App Inventor, an app-development platform that allows its users to build fully functional apps for smartphones and tablets. The camp aimed to foster youth innovation and creativity through empowering students to create rather than simply use technology in their lives. Participants in the program showed an increase in wanting to pursue ongoing computing education.more » « less
An official website of the United States government

