Gomaa, HassanTzeremes, Vasilios2017-01-292017-01-292016https://hdl.handle.net/1920/10632Smart spaces are physical environments equipped with pervasive technology that sense and react to human activities and changes in the environment. End User Development (EUD) skills vary significantly among end users who want to design, develop and deploy software applications for their smart spaces. Typical end user development is opportunistic, requirements are usually unplanned and undocumented, applications are simplistic in nature, design is ad-hoc, reuse is limited, and software testing is typically haphazard, leading to many quality issues. On the other hand, technical end users with advanced EUD skills and domain expertise have the ability to create sophisticated software applications for smart spaces that are well designed and tested.287 pagesenCopyright 2016 Vasilios TzeremesInformation technologyComputer scienceEnd user developmentEnd user software product linesFeature modelingSmart spacesSoftware product linesSoftware reuseEnd User Software Product Line Support for Smart SpacesDissertation