Importance of CapabilityDriven Requirements for Smart City Operations
Authors: Hamdi Mohamed Salah , Ghannem Adnane , Ammar Hany , Loucopoulos Pericles , Anagnostopoulos Dimosthenis , Dimitrakopoulos George , Bravos George , Abuissa Abdallatif , Tumar Iyad , Hassouneh Yousef 
Published: June 2019

Capability oriented requirements engineering is an emerging research area where designers are faced with the challenge of analyzing changes in the business domain, capturing user requirements, and developing adequate IT solutions taking into account these changes and answering user needs. In this context, researching the interplay between design-time and run-time requirements with a focus on adaptability is of great importance. Approaches to adaptation in the requirements engineering area consider issues underpinning the awareness of requirements and the evolution of requirements. We are focusing on researching the influence of capability-driven requirements on architectures for adaptable systems to be utilized in smart city operations. We investigate requirements specification, algorithms, and prototypes for smart city operations with a focus on intelligent management of transportation and on validating the proposed approaches. In this framework, we conducted a systematic literature review (SLR) of requirements engineering approaches for adaptive system (REAS). We investigated the modeling methods used, the requirements engineering activities performed, the application domains involved, and the deficiencies that need be tackled (in REAS in general, and in SCOs in particular). We aimed at providing an updated review of the state of the art in order to support researchers in understanding trends in REAS in general, and in SCOs in particular. We also focused on the study of Requirement Traceability Recovery (RTR). RTR is the process of constructing traceability links between requirements and other artifacts. It plays an important role in many parts of the software life-cycle. RTR becomes more important and exigent in the case of systems that change frequently and continually, especially adaptive systems where we need to manage the requirement changes in such systems and analyze their impact. We formulated RTR as a mono and a multi-objective search problem using a classic Genetic Algorithm (GA) and a Non-dominated Sorting-based Genetic Algorithm (NSGA-II) respectively. The mono-objective approach takes as input the software system, a set of requirements and generates as output a set of traces between the artifacts of the system and the requirements introduced in the input. This is done based on the textual similarity between the description of the requirements and the artifacts (name of code elements, documentation, comments, etc.). The multi-objective approach takes into account three objectives, namely, the recency of change, the frequency of change, and the semantic similarity between the description of the requirement and the artifact. To validate the two approaches, we used three different open source projects. The reported results confirmed the effectiveness of the two approaches in correctly generating the traces between the requirements and artifacts with high precision and a recall. A comparison between the two approaches shows that the multi-objective approach is more effective than the mono-objective one. We also proposed an approach aiming at optimizing service composition in service-oriented architectures in terms of security goals and cost using NSGA-II in order to help software engineers to map the optimized service composition to the business process model based on security and cost. To do this, we adapted the DREAD model for security risk assessment by suggesting new categorizations for calculating DREAD factors based on a proposed service structure and service attributes. To validate the proposal, we implemented the YAFA-SOA Optimizer. The evaluation of this optimizer shows that risk severity for the generated service composition is less than 0.5, which matches the validation results obtained from a security expert. We also investigated requirements modeling for an event with a large crowd using the capability-oriented paradigm. The motivation was the need for the design of services that meet the challenges of alignment, agility, and sustainability in relation to dynamically changing enterprise requirements especially in large-scale events such as sports events. We introduced the challenges to stakeholders involved in this process and advocated a capability-oriented approach for successfully addressing these challenges. We also investigated a multi-type, proactive and context-aware recommender system in the environment of smart cities. The recommender system recommends gas stations, restaurants, and attractions, proactively, in an internet of things environment. We used a neural network to do the reasoning and validated the system on 7000 random contexts. The results are promising. We also conducted a user's acceptance survey (on 50 users) that showed satisfaction with the application. We also investigated capturing uncertainty in adaptive intelligent transportation systems, which need to monitor their environment at run-time and adapt their behavior in response to changes in this environment. We modelled an intelligent transportation case study using the KAOS goal model and modelled uncertainty by extending our case study using variability points, and hence having different alternatives to choose from depending on the context at run-time. We handled uncertainty by molding our alternatives using ontologies and reasoning to select the optimal alternative at run-time when uncertainty occurs. We also devised a framework, called Vehicell that exploits 5G mobile communication infrastructures to increase the effectiveness of vehicular communications and enhance the relevant services and applications offered in urban environments. This may help in solving some of the mobility problems, and smooth the way for innovative services to citizens and visitors and improve the overall quality of life.