193,745 research outputs found
Towards a ubiquitous end-user programming system for smart spaces
This article presents a rule–based agent mechanism as the kernel of a ubiquitous
end–user, UI–independent programming system. The underlying goal of our work is to allow
end–users to control and program their environments in a uniform, application–independent
way. The heterogeneity of environments, users and programming skills, as well as the
coexistence of different users and domains of automation in the same environment are some of the main challenges analyzed. For doing so, we present our system and describe some of the real–environments, user studies and experiences we have had in the development process.This work has been partially funded by the following projects: HADA (Ministerio de
Ciencia y Educación de España, TIN2007-64718), Vesta (Ministerio de Industria,
Turismo y Comercio de España, TSI-020100-2009-828) y eMadrid (Comunidad de
Madrid, S2009/TIC-1650)
A survey on the design space of end-user-oriented languages for specifying robotic missions
Mobile robots are becoming increasingly important in society. Fulfilling complex missions in different contexts and environments,robots are promising instruments to support our everyday live. As such, the task of defining the robot’s missionis moving from professional developers and roboticists to the end-users. However, with the current state-of-the-art, definingmissions is non-trivial and typically requires dedicated programming skills. Since end-users usually lack such skills, manycommercial robots are nowadays equipped with environments and domain-specific languages tailored for end-users. As such,the software support for defining missions is becoming an increasingly relevant criterion when buying or choosing robots.Improving these environments and languages for specifying missions toward simplicity and flexibility is crucial. To this end,we need to improve our empirical understanding of the current state-of-the-art of such languages and their environments. Inthis paper, we contribute in this direction. We present a survey of 30 mission specification environments for mobile robots thatcome with a visual and end-user-oriented language. We explore the design space of these languages and their environments,identify their concepts, and organize them as features in a feature model. We believe that our results are valuable to practitionersand researchers designing the next generation of mission specification languages in the vibrant domain of mobilerobots
Programming Robots for Activities of Everyday Life
Text-based programming remains a challenge to novice programmers in\ua0all programming domains including robotics. The use of robots is gainingconsiderable traction in several domains since robots are capable of assisting\ua0humans in repetitive and hazardous tasks. In the near future, robots willbe used in tasks of everyday life in homes, hotels, airports, museums, etc.\ua0However, robotic missions have been either predefined or programmed usinglow-level APIs, making mission specification task-specific and error-prone.\ua0To harness the full potential of robots, it must be possible to define missionsfor specific applications domains as needed. The specification of missions of\ua0robotic applications should be performed via easy-to-use, accessible ways, and\ua0at the same time, be accurate, and unambiguous. Simplicity and flexibility in\ua0programming such robots are important, since end-users come from diverse\ua0domains, not necessarily with suffcient programming knowledge.The main objective of this licentiate thesis is to empirically understand the\ua0state-of-the-art in languages and tools used for specifying robot missions byend-users. The findings will form the basis for interventions in developing\ua0future languages for end-user robot programming.During the empirical study, DSLs for robot mission specification were\ua0analyzed through published literature, their websites, user manuals, samplemissions and using the languages to specify missions for supported robots.After extracting data from 30 environments, 133 features were identified.\ua0A feature matrix mapping the features to the environments was developedwith a feature model for robotic mission specification DSLs.Our results show that most end-user facing environments exist in the\ua0education domain for teaching novice programmers and STEM subjects. Mostof the visual languages are developed using Blockly and Scratch libraries.\ua0The end-user domain abstraction needs more work since most of the visualenvironments abstract robotic and programming language concepts but not\ua0end-user concepts. In future works, it is important to focus on the development\ua0of reusable libraries for end-user concepts; and further, explore how end-user\ua0facing environments can be adapted for novice programmers to learn\ua0general programming skills and robot programming in low resource settings\ua0in developing countries, like Uganda
DRAFT-What you always wanted to know but could not find about block-based environments
Block-based environments are visual programming environments, which are becoming more and more popular because of their ease of use. The ease of use comes thanks to their intuitive graphical representation and structural metaphors (jigsaw-like puzzles) to display valid combinations of language constructs to the users. Part of the current popularity of block-based environments is thanks to Scratch. As a result they are often associated with tools for children or young learners. However, it is unclear how these types of programming environments are developed and used in general. So we conducted a systematic literature review on block-based environments by studying 152 papers published between 2014 and 2020, and a non-systematic tool review of 32 block-based environments. In particular, we provide a helpful inventory of block-based editors for end-users on different topics and domains. Likewise, we focused on identifying the main components of block-based environments, how they are engineered, and how they are used. This survey should be equally helpful for language engineering researchers and language engineers alike
Configuration of smart environments made simple combining visual modeling with semantic metadata and reasoning
We present an approach that combines semantic metadata and reasoning with a visual modeling tool to enable the goal-driven configuration of smart environments for end users. In contrast to process-driven systems where service mashups are statically defined, this approach makes use of embedded semantic API descriptions to dynamically create mashups that fulfill the user's goal. The main advantage of the presented system is its high degree of flexibility, as service mashups can adapt to dynamic environments and are fault-tolerant with respect to individual services becoming unavailable. To support end users in expressing their goals, we integrated a visual programming tool with our system. This tool enables users to model the desired state of their smart environment graphically and thus hides the technicalities of the underlying semantics and the reasoning. Possible applications of the presented system include the configuration of smart homes to increase individual well-being, and reconfigurations of smart environments, for instance in the industrial automation or healthcare domains
Recommended from our members
Helping end-user programmers help themselves : the idea garden approach
End-user programmers face many barriers in programming. Research has seen many programming environments that attempted to lower or remove the barriers but despite these efforts, empirical studies continue to report barriers users face. To investigate this issue, we took a theory-informed approach. Using theories from design, creativity, and problem solving as a lens, we examined end-user programmers' programming obstacles to derive design implications. Synthesizing the implications, we proposed an Idea Garden approach for creating problem-solving support in existing end-user programming environments aimed at helping users help themselves. This approach focuses on delivering problem-solving strategies and programming knowledge in the context of users' work to help them overcome barriers. We developed a proof-of-concept prototype of an Idea Garden for the CoScripter environment. Results from empirical studies of the prototype were encouraging: not only was the Idea Garden able to help users overcome barriers, learn relevant programming and strategies, but such learning persisted with users so that they were able to apply it toward problem-solving new tasks without further help from the Idea Garden. We conclude by providing recommendations to researchers who are interested in developing an Idea Garden for their end-user programming environments
Recommended from our members
Behaviors and strategies in end-users' collaborative programming
Traditionally, research into end-user programming has focused on how to make programming more accessible to end users conducting the programming activities all by themselves. However, few researchers have considered introducing the concept of collaborative programming into the area of end-user programming, and how the programming environments and devices should be designed to assist end users' collaborative programming activities. To help understand how end users may behave while doing collaborative programming, and further improve the usability of the programming environment for end users practicing collaborative programming, we are working to investigate how end users doing collaborative programming may behave in the given programming environment, what kind of strategies they take to efficiently communicate with the working environment, what kind of responses they expect from the working environment, and how they interact further with the working environment. In this thesis, we present the analysis of behaviors and strategies of end-user collaborative programming activities we found in a think
aloud study
- …