The Journal of Systems and Software 104 (2015) 166–178 Contents lists available at ScienceDirect The Journal of Systems and Software journal homepage: www.elsevier.com/locate/jss A semantic approach for designing Assistive Software Recommender systems Elena Gómez-Martínez a , Marino Linaje b , Fernando Sánchez-Figueroa b , Andrés Iglesias-Pérez c , Juan Carlos Preciado b , Rafael González-Cabero d , José Merseguer a, a Departamento de Informática e Ingeniería de Sistemas, Universidad de Zaragoza, Maria de Luna, 50018 Zaragoza, Spain b Escuela Politécnica de Cáceres, Universidad de Extremadura, Spain c Ilunion Accesibilidad Estudios y Proyectos, Spain d Ontology Engineering Group, Escuela Técnica Superior de Ingenieros Informáticos, Universidad Politécnica de Madrid, Spain article info Article history: Received 7 July 2014 Revised 10 February 2015 Accepted 9 March 2015 Available online 11 March 2015 Keywords: Software design Assistive Software Software non-functional evaluation abstract Assistive Software offers a solution for people with disabilities to manage specialized hardware, devices or services. However, these users may have difficulties in selecting and installing Assistive Software in their devices for managing smart environments. This paper addresses the requirements of these kinds of systems and their design in the context of interoperability architectures. Our solution follows a semantic approach, for which ontologies are a key. The paper also presents an implementation of our design proposal, i.e., a real and usable system which is evaluated according to a set of functional and non-functional requirements here proposed. © 2015 Elsevier Inc. All rights reserved. 1. Introduction Universal access continues to be a critical quality target for In- formation and Communication Technologies (ICTs), as Stephanidis (2001) stated. This is especially important in industrial societies where there is a growing number of people with special needs, 1 in- cluding those with aging-related conditions. Indeed, ICTs may require particular skills and abilities to interact with platforms, wireless com- munication systems and smart devices such as kiosks or ATMs. Developing universally accessible smart environments is hard in terms of effort and required knowledge (Zimmermann and Vanderheiden, 2008). As an alternative, Assistive Software (AS from now on) provides an easy and feasible solution. AS represents soft- ware products specifically designed for people with some disability that is used to increase their ability to manage information in a dig- ital device. AS therefore makes it easier to use ICT devices. This pa- per is mainly devoted to smart environments, e.g., the smart home (Margetis et al., 2012). For example, a blind person could use AS in- Corresponding author. Tel.: +34685198175. E-mail addresses: elena.gomez.martinez@upm.es (E. Gómez-Martínez), mlinaje@ unex.es (M. Linaje), fernando@unex.es (F. Sánchez-Figueroa), andresip@unex.es (A. Iglesias-Pérez), jcpreciado@unex.es (J.C. Preciado), rgonza@fi.upm.es (R. González- Cabero), jmerse@unizar.es, jmerse@gmail.com (J. Merseguer). 1 The terminology used in the paper as regards the disability field conforms to the International Classification of Functioning, Disability and Health (World Health Organization, 2001). stalled in her/his smartphone for managing mainstream software to control a smart TV or an air-conditioning system. AS products can be selected in different ways. For example, simply using trial and error by (1) examining a user interface to determine whether it is accessible or not for a given disability (e.g., blindness), (2) finding an AS product that claims to solve the particular inter- action issue, e.g., exploring assistive technology repositories such as EASTIN, 2 (3) installing it, (4) returning to step 2 if the AS does not solve the interaction issue and so on. Using this manual form of AS selection, the user spends time and money testing AS products that in the end may not effectively solve the problem. Another interesting possibility is the use of assessment services (Andrich et al., 2013a; 2013b). However, difficulties may arise in finding an Assistive Tech- nology professional, e.g., in the very moment of browsing for finding the AS product. To address these issues, AS Recommender systems (ASR systems from now on) have been developed to help users in making decisions automatically and timely. An ASR system selects the most suitable AS for a specific context using as inputs the needs and preferences of the user, such as privacy, type of device used or type of disability. This paper deals with the design of ASR systems and the require- ments they should address. The design solution presented here is able to select the most suitable AS automatically, following a semantic approach. Indeed, the paper presents the conceptualization of an 2 http://www.eastin.eu/ http://dx.doi.org/10.1016/j.jss.2015.03.009 0164-1212/© 2015 Elsevier Inc. All rights reserved.