Feed me, Feed me (FmFm) is an IoT-based ecosystem to support food security; that is to ensure sufficient, safe, and nutritious food to the global population. FmFm is described at four levels of granularity, namely (i) personal, (ii) family, (iii) community, and (iv) nation. At the personal level, smart devices monitor, analyse, and provide suggestions around an individual's activities, health, and nutrition. At the family level, smart home appliances collaborate to devise meal plans that take into account nutritional needs, preferences, and personal goals for each family member. At the community level, local supermarkets collect real-time data about the grocery needs of multiple families in order to manage their stock efficiently and reduce food wastage, as well as to increase their business value. At the national level, food producers and food manufacturers use the data collected from different local supermarkets to predict food needs accurately and decide on alternatives in case of a food crisis.
Based on the ContraVision empirical methodology, we produced two videos, each of which depicts an end-to-end IoT food security system involving the four aforementioned levels of granularity. The main protagonist of the videos is Charlie, a 30-year-old father of two children. Charlie and his family use several IoT-based software systems in their daily lives, including sleep monitoring, activity and calorie tracking devices as well as smart appliances.
The first scenario highlights Charlie's relationship with the technology and how it may impact his behaviour. The scenario describes how Charlie uses his fictional personal tracking system, Analyse Me. Charlie wears a device that tracks his heart rate, blood pressure, blood glucose, food intake, sleep, and activity levels. Analyse Me provides Charlie with notifications that adapt to changes in his mood, activity levels, and food consumption. He uses Analyse Me with the assumption that it will enable him and his family achieve particular health and fitness goals.
The second scenario focuses on Charlie and his Home Hub, an adaptive system that communicates with the smart appliances in his home. With the aid of smart packaging, the refrigerator and pantry send their contents to Home Hub, which keeps track of the family's food consumption requirements. This allows the family's meals to be planned in advance and gives the supermarket a list of required ingredients and when they are required.
The family's grocery list can be adapted depending on various preferences such as price, locality and environmental impact. Home Hub acts as a mediator between different smart devices and Charlie's local supermarkets. In the event of changes in the normal family routine (e.g., a guest arriving unexpectedly for dinner), the meal plan is automatically updated to accommodate the guest's dietary requirements.
The third scenario highlights the practical use or misuse of the real-time data collected by IoT systems. In this scenario, Charlie and all his neighbours use Home Hubs. This allows supermarkets to gather real time data about communities’ grocery requirements, and consequently better manage their stock and inventory. As the supermarkets collect accurate data about their customers, they provide them with targeted offers and promotions. They also implement a surge-pricing model, which makes groceries cheaper or more expensive depending on demand.
The fourth scenario highlights large-scale collaboration between IoT systems. The food requirements of Charlie and his neighbours are aggregated by supermarkets and provided to food manufacturers, producers, and distributors. This enables better management of food production processes. Combining real time weather, crop health, and consumer demand data, producers are able to make better forecasts about their production yields. This reduces over production.
Engineering Adaptive Software for the Internet of Things
FmFm is well suited to experiment and evaluate self-adaptation techniques for the Internet of Things as it illustrates the following aspects:
- Multiple stakeholders with different, potentially conflicting, goals
FmFm involves multiple stakeholders: individuals, families, supermarkets, cities, and nations, each of which has its own goals. For example, individuals want to adjust their food consumption in order to maximise health benefits. Supermarkets want to monitor consumers’ needs in order to manage the stocks efficiently. Some goals are shared between stakeholders, e.g., minimising food wastage; others can be conflicting, e.g., minimising costs for individuals and maximising profits for the supermarkets. In IoT systems, software engineers rarely have access to all stakeholders due to the distributed control between service providers and consumers.
- Blurred line between the digital, physical, and social dimensions
FmFm highlights the intertwining between wearable devices (to monitor individual’s food consumption), IoT devices (to make smart appliances communicate and prepare meals), and O2O–Online to Offline– services (to order food and get it delivered). While software systems can be made to communicate with those devices and services and coordinate their interaction, they often require interaction with human actors as well. FmFm puts forward the shared control and partial automation between humans and the software system. For example, users can make ad hoc decisions about their meals and activities while the system has to adapt in order to accommodate those changes in the best possible way.
- Collection of sensitive data
FmFm highlights that the sensing capabilities of IoT devices can allow us to collect all sorts of data about users and their environment. Yet, a deeper understanding is needed to develop software systems capable of interpreting the data collected and making it accessible to users in order to help them make informed decisions. For example, supermarkets regularly collect data about consumers to help make supply chains more efficient and profitable. What is needed is to make this process more transparent so that users know, if they wish to, what the system is doing and why it is doing it. For example, sharing with other retailers should also be made explicit.
Engineering and Adaptation Challenges
FmFm highlights the following challenging for engineering self-adaptive software for the Internet of Things:
- Interoperability of systems of systems
All scenarios require composing the capabilities of multiple, independently-developed devices whose heterogeneity may span the application, middleware, and network layers. At the application layer, devices may exhibit disparate data types and operations, and may have distinct business logics. At the middleware layer, they may rely on different communication protocols, which define disparate data representation formats and induce different architectural constraints. At the network layer, data may be encapsulated differently according to the network technology in place. FmFm solutions should enable those devices to interoperate by compensating for their differences at all layers.
- Dynamic adaptation
FmFm solutions must deal with changes in the availability of devices (due to their mobility), the uncertainty of human behaviour (changing needs, desires, and mood), and incomplete knowledge of the physical environment.
- Complex and emergent security and privacy requirements
FmFm describes scenario where multiple devices interact in uncontrolled and unforeseen ways. Traditional security systems rely on an explicit definition of their security requirements to describe precisely which actions in a system are allowed and which ones are prohibited. Defining those security requirements necessitates scoping the problem by specifying the stakeholders involved, the assets and their values, and the potential threats. The IoT makes this definition harder by not only widening the scope (and thus extending the attack surface) but by making it dynamic and uncertain. FmFm solutions provide adaptive protection mechanisms that accommodate this uncertainty. Likewise, The sensing devices described in FmFm produce vast quantities of data, a lot of which is personal in nature, therefore the need to implement robust privacy protection is critical.
The ultimate goal of FmFm is to provide every person with targeted, optimised, and adaptive support to fulfil their specific needs, and to achieve their food/health goals. This requires FmFm solutions to be able to capture and accurately represent and reason about people's individual behaviours, moods, and intentions.
ContraVision Animated Videos
We created animated videos based on the ContraVision empirical methodology, which specifically supports the elicitation of end-user requirements for controversial or futuristic technologies:
- Amel Bennaceur, Ciaran Mccormick, Jesús García Galán, Charith Perera, Andrew Smith, Andrea Zisman and Bashar Nuseibeh. Feed me, Feed me: An Exemplar for Engineering Adaptive Software. 11th International Symposium on Software Engineering for Adaptive and Self-Managing Systems, SEAMS, 2016. DOI:10.1145/2897053.2897071. (Preprint).