ABSTRACT

This chapter shows two things: first that end-user development is a necessary element of ubicomp systems and second that ubiquitous computing systems are, component-based systems. It outlines theoretical and methodological constructs, towards the definition of a framework for the design of component based ubicomp systems for the Internet of Things that can potentially support end-user development (EUD). The theoretical foundations for artifact-based Ambient Intelligence systems that support EUD tasks are classified under four broad categories: end-user design, end-user programming, semantic web/internet of things, and co-evolution of users, artifacts, and applications. Methodologies for the end users to be able to configure ubicomp systems based on artifacts are separated in methods, guidelines, tools, and interface elements that enable EUD, and in methods that enable the system mechanisms that support EUD. EUD possibility can be affected by relevant system design that has included EUD elements and mental models for the user.