scholarly journals Design and Deployment of Expressive and Correct Web of Things Applications

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.

User Modeling ◽  
1997 ◽  
pp. 203-214 ◽  
Author(s):  
Kazuhisa Seta ◽  
Mitsuru Ikeda ◽  
Osamu Kakusho ◽  
Riichiro Mizoguchi

2010 ◽  
Vol 22 (1) ◽  
pp. 1-22 ◽  
Author(s):  
Margaret Burnett

End-user programming has become ubiquitous; so much so that there are more end-user programmers today than there are professional programmers. End-user programming empowers—but to do what? Make bad decisions based on bad programs? Enter software engineering’s focus on quality. Considering software quality is necessary, because there is ample evidence that the programs end users create are filled with expensive errors. In this paper, we consider what happens when we add considerations of software quality to end-user programming environments, going beyond the “create a program” aspect of end-user programming. We describe a philosophy of software engineering for end users, and then survey several projects in this area. A basic premise is that end-user software engineering can only succeed to the extent that it respects that the user probably has little expertise or even interest in software engineering.


2013 ◽  
Vol 61 (7) ◽  
pp. 704-713 ◽  
Author(s):  
E.I. Barakova ◽  
J.C.C. Gillesen ◽  
B.E.B.M. Huskens ◽  
T. Lourens

IEEE Software ◽  
2004 ◽  
Vol 21 (4) ◽  
pp. 5-7 ◽  
Author(s):  
W. Harrison

Sign in / Sign up

Export Citation Format

Share Document