Posts Tagged ‘End-User Programming’

Supporting Domain-Specific Programming in Web 2.0: a Case Study of Smart Devices

Monday, August 27th, 2012

Web 2.0 communities emerge regularly with the growing need for domain-specific programming over Web APIs. Even though Web mashups provide access to Web APIs, they ignore domain-specific programming needs. On
the other hand, developing domain-specific languages (DSLs) is costly and not feasible for such ad hoc communities. We propose User Language Domain (ULD): an intermediate Web based architecture using a domain-specific embedded languages approach that reduces the cost of DSL development to plugging the Web APIs into a host end user programming language. We have implemented the proposed architecture in the context of
smart devices, where we plug the functionality of different Lego Mindstorms devices into a Web-based visual programming language. We expect that several domains, such as smart homes or wearable computers can use the ULD architecture to reduce development effort.

more information at: Supporting Domain Specific Programming

Enabling Domain-Specific End-User Programming for Smart Devices

Friday, March 26th, 2010

I am happy to inform you that today (actually yesterday AU time…) Prof. Mehdi Jazayeri give an interesting talk related to instruments and the growing need of deal with devices that are quite complex and need to be programmed by lay persons.  Our Instrument Element project, together with the WEUP project, has been used for validating part of the claims of the talk.

Below you can find title and abstract of the talk and bio of the speaker:

Title: Enabling Domain-Specific End-User Programming for Smart Devices

Abstract: The rapid spread of computers and other smart devices means that an increasingly large population is faced with using such devices. In many situations, some users either have to, or simply want to, make modifications to the behavior of their devices. In the extreme, some of these users want to program their devices. Considering that some of these devices are quite complex, programming them by lay persons is a challenging task. To address this challenge, we have devised a software architecture called ULD that decomposes the problem into three distinct layers: the User, the Language, and the Domain layers. The domain layer abstracts the functionality of the domain in which the device is deployed; the language layer presents a programming language specific to the domain; the user layer offers a visual environment to the end-user for programming applications for the domain. The creation of each layer requires different kinds of expertise: domain expertise, programming language expertise, and application expertise. The ULD architecture enables people with these different kinds of expertise to collaborate and combine their work. We also attempt to automate the creation of the language layer as much as possible. Our work draws on early work on end-user programming and on later work on domain-specific architectures and languages.

We believe that this work has application in a wide range of areas including smart devices, instruments, smart home devices, and Web 2.0 communities. We have implemented the architecture in a prototype demonstration with Lego Mindstorms robots.

About the speaker: Mehdi Jazayeri is professor of computer science and founding dean of the Faculty of Informatics at the University of Lugano since October 2004. Before that he was a professor and head of the Distributed Systems Group at the Technical University of Vienna (1994-2004). He worked at several startup companies in Silicon Valley before joining Hewlett-Packard Laboratories in Palo Alto for ten years (1984-94). He began his career as an assistant professor at the Computer Science Department of the University of North Carolina at Chapel Hill (1975-1980). Mehdi Jazayeri is an IEEE Fellow and was program co-chair of ICSE 2000 and program chair of ESEC-FSE 1997, the two premier international software engineering conferences.