end user programming
Recently Published Documents


TOTAL DOCUMENTS

155
(FIVE YEARS 15)

H-INDEX

14
(FIVE YEARS 2)

2022 ◽  
Vol 3 (1) ◽  
pp. 1-30
Author(s):  
Ajay Krishna ◽  
Michel Le Pallec ◽  
Radu Mateescu ◽  
Gwen Salaün

Consumer Internet of Things (IoT) applications are largely built through end-user programming in the form of event-action rules. Although end-user tools help simplify the building of IoT applications to a large extent, there are still challenges in developing expressive applications in a simple yet correct fashion. In this context, we propose a formal development framework based on the Web of Things specification. An application is defined using a composition language that allows users to compose the basic event-action rules to express complex scenarios. It is transformed into a formal specification that serves as the input for formal analysis, where the application is checked for functional and quantitative properties at design time using model checking techniques. Once the application is validated, it can be deployed and the rules are executed following the composition language semantics. We have implemented these proposals in a tool built on top of the Mozilla WebThings platform. The steps from design to deployment were validated on real-world applications.


eLife ◽  
2021 ◽  
Vol 10 ◽  
Author(s):  
James P Bohnslav ◽  
Nivanthika K Wimalasena ◽  
Kelsey J Clausing ◽  
Yu Y Dai ◽  
David A Yarmolinsky ◽  
...  

Videos of animal behavior are used to quantify researcher-defined behaviors-of-interest to study neural function, gene mutations, and pharmacological therapies. Behaviors-of-interest are often scored manually, which is time-consuming, limited to few behaviors, and variable across researchers. We created DeepEthogram: software that uses supervised machine learning to convert raw video pixels into an ethogram, the behaviors-of-interest present in each video frame. DeepEthogram is designed to be general-purpose and applicable across species, behaviors, and video-recording hardware. It uses convolutional neural networks to compute motion, extract features from motion and images, and classify features into behaviors. Behaviors are classified with above 90% accuracy on single frames in videos of mice and flies, matching expert-level human performance. DeepEthogram accurately predicts rare behaviors, requires little training data, and generalizes across subjects. A graphical interface allows beginning-to-end analysis without end-user programming. DeepEthogram's rapid, automatic, and reproducible labeling of researcher-defined behaviors-of-interest may accelerate and enhance supervised behavior analysis.


2021 ◽  
Vol 27 (4) ◽  
pp. 19-25
Author(s):  
Kristin Williams ◽  
Jessica Hammer ◽  
Scott E. Hudson

An upcycled approach uses everyday objects as design material for IoT systems by enabling users to make their "dumb" objects "smart." Adopting this approach, IoT Codex realizes a new socially informed, context-aware computing and end-user programming.


2020 ◽  
Vol 181 ◽  
pp. 106983
Author(s):  
Hamada Ibrhim ◽  
Sherif Khattab ◽  
Khaled Elsayed ◽  
Amr Badr ◽  
Emad Nabil

2020 ◽  
Vol 14 (02) ◽  
pp. 249-272
Author(s):  
Sebastian Weigelt ◽  
Vanessa Steurer ◽  
Tobias Hey ◽  
Walter F. Tichy

Systems with conversational interfaces are rather popular nowadays. However, their full potential is not yet exploited. For the time being, users are restricted to calling predefined functions. Soon, users will expect to customize systems to their needs and create own functions using nothing but spoken instructions. Thus, future systems must understand how laypersons teach new functionality to intelligent systems. The understanding of natural language teaching sequences is a first step toward comprehensive end-user programming in natural language. We propose to analyze the semantics of spoken teaching sequences with a hierarchical classification approach. First, we classify whether an utterance constitutes an effort to teach a new function or not. Afterward, a second classifier locates the distinct semantic parts of teaching efforts: declaration of a new function, specification of intermediate steps, and superfluous information. For both tasks we implement a broad range of machine learning techniques: classical approaches, such as Naïve Bayes, and neural network configurations of various types and architectures, such as bidirectional LSTMs. Additionally, we introduce two heuristic-based adaptations that are tailored to the task of understanding teaching sequences. As data basis we use 3168 descriptions gathered in a user study. For the first task convolutional neural networks obtain the best results (accuracy: 96.6%); bidirectional LSTMs excel in the second (accuracy: 98.8%). The adaptations improve the first-level classification considerably (plus 2.2% points).


Author(s):  
Adam Rule ◽  
Isaac H. Goldstein ◽  
Michael F. Chiang ◽  
Michelle R. Hribar

2019 ◽  
Vol 9 (21) ◽  
pp. 4553 ◽  
Author(s):  
Tomaž Kos ◽  
Marjan Mernik ◽  
Tomaž Kosar

End-user programming may utilize Domain-Specific Modeling Languages (DSMLs) to develop applications in the form of models, using only abstractions found in a specific problem domain. Indeed, the productivity benefits reported from Model-Driven Development (MDD) are hard to ignore, and a number of MDD solutions are flourishing. However, not all stories from industry on MDD are successful. End-users, without having software development skills, are more likely to introduce software errors than professional programmers. In this study, we propose and encourage other DSML developers to extend the development of DSML with tool support. We believe the programming tools (e.g., debugger, testing tool, refactoring tool) are also needed for end-users to ensure the proper functioning of the products they develop. It is imperative that domain experts are provided with tools that work on the abstraction level that is familiar to them. In this paper, an industrial experience is presented for building various tools for usage in MDD. Debugger, automated testing infrastructure, refactoring, and other tools were implemented for Sequencer, a DSML. Our experience with the implementation of tool support for MDD confirms that these tools are indispensable for end-user programming in practice, and that implementing those tools might not be as costly as expected.


Sign in / Sign up

Export Citation Format

Share Document