4.1. IoT Scalability Studied Using Simulation
The first key challenge according to Stankovic [
6] is scalability. The IoT will have billions or even trillions of devices connected and these must be managed, maintained, operated and supported using appropriate addressing conventions, protocols, and power. Existing approaches to these challenges may well be inadequate and fail to scale for the anticipated huge number and range of IoT objects.
A simple visualization can show how IoT networks can rapidly become extremely complex.
Figure 2 shows three IoT networks composed of equal numbers of sensors and actuators where all nodes are connected to each other. The number of connections grows rapidly from only 6 for a 4-node network, 120 for a 16-node network to 2016 for a 64-node network, since the number of connections for such an N-node network is trivially
N × (
N − 1)/2.
To assess scalability, discrete-event Simulation can be applied. As shown, IoT networks can become so complex that traditional analytic methods will not be tractable. Discrete-event simulation enables a hypothetical system to be studied under a wide variety of conditions and provide averaged results from running the same scenario over many replications. Dyk et al. [
51] and D’Angelo et al. [
87,
88] have developed simulation systems for the IoT. D’Angelo’s model, for example, addresses scalability using a multi-level simulation approach where both coarse and fine grained models are combined.
Musznicki and Zwierzykowski [
52] identified 36 such systems in 2012 for WSNs and classified them into eight types: (a) emulators; (b) topology simulators; (c) environment and wireless simulators; (d) network and application level simulators; (e) cross level simulators, then a series of simulators based on specific software; (f) NS-32 based simulators; (g) OMNeT++ simulators; and (h) Ptolemy II based simulators. Many of these could be applied to address IoT issues such as scalability including type (b) topology simulators such as Atarraya [
53] that enables comparison of performance and efficiency of different network topologies, type (c) environment and wireless simulators such as the Wireless Sensor Network Localization Simulator that can determine the location of sensor nodes in different sized networks and type (d) network simulators such as Sensor Security Simulator that can evaluate security in large sensor networks and SIDnet-SWANS that can model network behavior at different levels of granularity.
Discrete-event simulation is readily applicable to studying problems such as traffic flow through an IoT network of nodes. Events would include transmission of packets from one node (perhaps triggered by a sensor) and their reception and processing at other nodes. With many expected wireless nodes, issues such as propagation modelling may also be required [
89]. Packet arrival and transmission times would be determined by sampling from appropriate probability distributions. Simulation of the system would show how it performs as a function of number of nodes.
4.2. IoT Robustness Studied Using Reliability Theory
Related to scalability are robustness and reliability. The IoT will be composed of billions of electronic devices, many of which may be impossible to reconfigure or replace in contrast to one’s desktop computer or tablet that requires regular software updates and possibly hardware upgrades for more memory, CPU power, or disk space. As stated by Metcalfe’s Law, the more interconnections between independent components or subsystems within a system, the greater the complexity and higher the probability of system failures [
39]. The ability of the IoT to operate reliably long term despite hardware and software failures is critical to gain user acceptance and trust. According to Kempf et al. [
90], bit errors can lead to unmanageable problems in large networks that will characterize the IoT.
OR techniques such as reliability theory can readily be applied to predict IoT robustness and reliability. Yong-Fei and Li-Qin [
60] developed an approach using reliability theory for the three IoT subsystems of perception layer, network layer and application layer. Their model assumes that the transmission networks are independent and that the perception and application layers are dependent so that total reliability
RT is given by:
where
R1 and
R5 are the reliabilities of the perception and application layers, and
R2,
R3,
R4 are the reliabilities of the internet, mobile network, and satellite communication network. This model could be expanded and updated to include other IoT characteristics and features of newer IoT devices as they come into operation, leading to additional terms in the reliability equation.
Reliability theory could also be applied to other features of the IoT such as the reliability of the data collected [
90]. Bonomi et al. [
91] discussed the application of so-called Fog Computing to the IoT while Madsen et al. [
92] estimated the reliability of this approach by combining the reliability requirements of the grid and cloud with those of the sensors and actuators in the IoT and demonstrate that a reliable system can be achieved.
The reliability of the IoT software itself may be another significant issue since software reliability can be considered as a special case of reliability theory. Hardware reliability is determined by component or material failure that prevents a system performing its intended function. Software reliability in the IoT is more difficult to assess since software may produce unanticipated results for many reasons such as unusual data coming from another device that was not considered in the design phase. Obsolescence of embedded software in IoT systems that cannot be readily maintained (for example, IoT sensors in a nuclear reactor exposed to radiation) may also affect reliability.
4.3. IoT Business Investment Studied Using Game Theory
Establishing business models for the IoT is a key challenge that can be addressed by OR. Decision Analysis has already been applied to this area. However other techniques such as Game Theory (GT) and Discrete-event Simulation may also be applied.
GT has been used to explore technical issues such as multipath selection [
49] and data distribution [
48] in IoT networks. It could also be used to determine payoffs from different application areas of the IoT. GT has long been applied for business [
50] to determine optimal strategies. Major US corporations such as Coca Cola and Pepsi have applied GT to assess business tactics.
Niyato et al. applied GT to study price competition of IoT sensing services noting that traditional system optimization may be unsuitable for IoT due to its complex, heterogeneous nature with multiple entities and incentive mechanisms [
93]. Considering the spectrum of potential IoT applications and markets ranging from personal (wearable devices), home (automation, security), transport (driverless cars), enterprise (e.g., smart cities, healthcare) (see [
94]), GT could be applied to assess market strategies for developing and timing the release of new IoT products. Home automation systems, for example, may not all be provided by the same supplier but will need to be interdependent and interoperable. Companies providing competing or complementary systems could use GT to determine appropriate strategies to maximize their market penetration and profits.
Which games types might be most appropriate to assist with making IoT business strategies? Of the 13 game descriptors defined in Wikipedia (Game Theory:
https://en.wikipedia.org/wiki/Game_theory), the likely types to study business investment are: (1) cooperative/non-cooperative; (2) symmetric/asymmetric; (3) zero sum/non-zero-sum; (4) simultaneous/sequential; (5) perfect/imperfect information (note that games can have a combination of these characteristics). Consider a situation where three companies provide home automation systems. While each company can supply the full range of equipment and services, Company A specializes in internal devices (such as smart refrigerators and lighting systems), Company B specializes in external devices (watering systems, weather monitors), while Company C specializes in security systems (cameras, monitors, alarms) as shown in
Table 6.
Strategies for each company to obtain a profitable share of the marketplace could be determined using the cooperative gaming approach while the decision to invest in their non-specialist areas could also be assessed using other gaming approaches such as constant sum games. In the latter case, this leads to 2
3 = 8 possible outcomes since each company has 2 strategies: to decide whether to diversify or not. A 3-dimensional payoff matrix is required to describe this case [
95].
4.4. Complex Adaptive Systems Theory and the IoT
A Complex Adaptive System (CAS) is a “complex macroscopic collection” of relatively “similar and partially connected micro-structures” formed in order to adapt to the changing environment and increase its survivability as a macro-structure” (wiki and [
96,
97]). CAS theory was pioneered by John Holland, a computer scientist and founder of the Genetic Algorithm technique, to describe systems with many components that interact and can adapt [
75]. The natural world has many CAS systems such as large molecules, human brains, and human societies and economies.
Although early work [
98] suggested that the Internet did not exhibit emergent behavior since the packet routing follows an engineering design, it is now generally regarded as a CAS since it is a complex open network that uses adaptive behavior [
99]. The IoT is an evolution of the Internet that will dominate the human component by 2020 and thus is also a CAS. CAS theory has also been applied to defense issues where it has been noted that defense systems are now too complex for any human to comprehend [
100]. Since a defense force can be shown to exhibit CAS properties, CAS theory can help understand emergent behaviors in adaptive defense systems by analogy with naturally occurring CAS such as living organisms. A NetLogo (
https://ccl.northwestern.edu/netlogo/) agent-based CAS model was developed to understand various terrorist scenarios and showed counter-intuitive outcomes [
101].
Yan and Ji-hong [
102] applied CAS to analyze WSNs. They showed that a WSN has all the characteristics of a CAS such as complexity, emergence and self-organization. Haghnevis and Askin [
103] developed a framework for Engineered CAS. They suggest that this could be applied to predict properties of complex engineered systems such as WSNs, and by extension the IoT. Batool et al. [
104] discussed the development of a NetLogo agent-based model for CAS. This looks to be a promising approach for modelling the IoT as a CAS using agents.
How can CAS assist in exploring IoT issues and solving challenges? CAS should be able to contribute towards the set of Design Challenges in
Table 5. For example, they could provide a better understanding of emergent IoT behaviors as IoT networks expand in numbers and types of things added (scalability) and have already been applied to networking issues, at least for WSNs. Further, Hernandez-Bravo and Cattero [
105] investigated a hierarchical approach to model complexity in IoT and Smart Cities; however this approach had limitations and the authors suggested an alternative approach using semi-lattice structures and reasoning tools.
4.6. Intelligence and Context Awareness in the IoT
Context-aware computer systems have been an important research challenge for at least 20 years [
110], and will become more so for the IoT, which will not only provide information to users but include intelligent processors which will take actions such as monitoring our personal health and fitness and controlling traffic in our cities, which will affect personal, business and community life in major ways. Context-aware computer services are defined as software applications that can operate in a dynamic environment and have the capability to run anytime, anywhere and on any device with minimal user attention. Context is defined as “any information relevant to the interaction of the user with the service, where both the user and the application’s environment are of particular interest” [
111]. Context awareness is a complex process due to the diversity of sources from which context information is obtained. In conventional services input comes mainly as input from the user and this manually supplied information drives the service execution. Context-aware services, on the other hand, rely on information that arises from a variety of sources, such as sensors, repositories and users. When multiple users are involved, who may have different requirements, problems of conflict may arise [
112,
113]. Context aware service creation is described in the technical literature as being by means of two complementary approaches, one based on providing a general purpose context infrastructure and the other, termed context modelling, that uses a context model tailored to the services provided [
111].
Systems Thinking can contribute to this research challenge via Complex Adaptive Systems Theory, which originated in the study of living organisms. Living organisms are aware of their environment/context in different ways and degrees through information derived by their sensors (sight, hearing, touch, smell, etc.) and conveyed to the brain, which processes this information to form some sort of model of the context in which they are embedded. In humans, a very sophisticated model of their environment/context, conscious or unconscious, is constructed by poorly understood cognitive processes.
The Soft Systems Thinking approach can also contribute to the research challenge of designing context-aware information systems in the IoT. Most of the literature on context-aware systems is technology focussed, and to deal with the full complexity of context modelling is beyond the scope of this paper. However to clarify some of the issues of context modelling we present an SSM conceptual model of a very simple context-aware application, a home security system. To introduce the idea,
Figure 3 is a type of abstract conceptual model [
114], which is a set of very general activities which could be tailored to any root definition. In a context-aware system, a service can be provided in different ways, depending on the context. Context modelling defines the alternative ways, and the criteria for selecting which one or more ways will be acted on. As in all correctly constructed SSM conceptual models, activities are needed to monitor the doing and taking control action to try to ensure the meeting of criteria of efficacy (is the system doing what it is supposed to?) and efficiency (is it being done with a minimum use of resources?) [
115].
In
Figure 4 below we present an SSM conceptual model of one of the context aware services in a “smart home” [
113]. Our root definition of a simplified “Home Security Service System” is as follows:
“A system to provide home security by, when activated, collecting primary security sensor data including entry and exit of people, movements in the property and CCTV images of areas of the property, fusing sensor data, deciding if a security threat is likely, deciding appropriate responses to take to security threats by means of a context model and generated secondary threat data, executing chosen responses, and archiving of sensor and incident data”.
This conceptual model arguably contains the minimum necessary set of activities that are required by the root definition. As discussed by Mingers [
114], the root definition specifies “what” is done, and the conceptual model depicts “how” it is done. You will note that various types of information are input to this conceptual model (represented in
Figure 4 by heavy arrows) and a “context model” is also used by three of the activities. The input information may be used to determine the context or be required for activities independently of the context. Our root definition does not specify “how” the context model works, but it does specify that a context model will be used to decide “how” the system will respond to security threats. In
Figure 4 some options, not specified in the root definition, are annotated on some activities for understanding only. Also some mathematical logic statements (IF … THEN … ELSE) are annotated on the context model to clarify how it might work in this application, for understanding only. In the real world (as opposed to the conceptual world of our model) a context model can be a very complex computer program, and can be classed as either an Expert System (which often uses mathematical logic), an Operations Research Model (such as a Multi-Criteria Decision Model or a Discrete-event Simulation Model) or something else. In our illustrative conceptual model the context model is used for three activities:
Fusion of sensor data is, in general, a process that integrates multisource heterogeneous data from multiple sensor measurements in order to improve processing efficiency and provide advanced intelligence [
116]. Deciding if a security threat is likely is a process that may use a variety of techniques, usually based on probability theory. Deciding on appropriate responses to a threat is a process that combines the context information deduced from secondary sensor data (in our simple example this includes the security threat probability and location) together with other data needed for responses to a threat, usually stored on a repository. A comprehensive survey of context-aware computing for the IoT is given by Perera et al. [
117]. This covers many technical issues including the categories of context information, primary and secondary context data and context reasoning decision models. We note from the last of these topics that the simplest, most straightforward and most popular method of context reasoning is in terms of rules (which have an IF…THEN…ELSE format), as depicted in
Figure 4. These technical details are beyond the scope of this paper; our SSM conceptual model is intended to illustrate the feature of SSM of being able to make sense of complex problem situations.
In principle, the root definition could specify the specific nature of the context model, i.e., which of an alternative set of context models is used, or give more detail on “how” any of the activities in the conceptual model are carried out. Wang et al. [
116] discuss two main types of data fusion, one using mathematical or computational methods and the other using semantics derived from representations of sensor data and sensor observations. Further, OR techniques such as Bayesian and Dempster-Shafer inference, fuzzy logic and artificial neural networks may be used in the former type of data fusion [
56]. These were discussed in
Section 3.1.5. However, SSM conceptual models are meant to be compared with the real world, in order to help make sense of, and suggest improvements to, real world complexity, and not necessarily to be an exact map of the real world. Mingers [
114] makes a useful distinction between “conceptual hows” and “actual hows”. Conceptual hows are not meant to describe actual activities in the real-world, but possibilities that might exist, deriving from a particular “what”.
Actual hows refer to that which occurs in the real world, which may be incredibly complex and reflect many and varied whats. He also notes that introducing more conceptual hows to a conceptual model could give rise to a “what/how hierarchy” of more and more detailed conceptual models. Note that these are alternative ways of doing things, models at the same level of resolution, not an expansion to a higher level of resolution, which is done via root definitions of the component activities and their expansion into sets of necessary complementary activities.
The Soft Systems Thinking approach could potentially be used to identify the requirements of context-aware systems, which are often viewed in a very simplistic technical sense in the computing literature [
118]. Two main conceptions of context (to be distinguished from the two technical context-aware service creation approaches discussed above) can be distinguished, the representational view and the interactional view. The former defines context as information that can be encoded and represented much like other forms of information (as discussed above for a home security system). Several types of context data model are based on this view [
119], as is the context metamodel of Imen et al. [
120]. The interactional view of context defines context as an occasioned property arising from the interaction of people, artefacts and groups. An action research study of designing a context-aware application using the interactional view [
118] supported the usefulness of this view, while calling for more sophisticated theoretical frameworks that can capture the socio-technical complexity of designing context-aware applications. A comparison of these two views and how they incorporate context into system design is given by Ploesser [
121]. An SSM-based approach to information requirements analysis similar to the above is given by Stowell [
122].
4.7. IoT Software Development—An Application of System Dynamics
System Dynamics (SD) is a methodology for studying complex dynamic system behavior from a holistic perspective. It was developed by Jay Forrester of MIT to model industrial systems with physical flows (personnel, money, material and machinery), their respective accumulations, and information-based decision-making mechanisms that control the flows to achieve desired accumulation levels [
123,
124]. Forrester’s approach was to model the relationships between the various systems components, express these as differential or difference equations, and then run the model as a computer simulation. Causal-loop diagrams are used to show the dynamic cause and effect relationships between various system variables and the resulting feedback loops.
A feedback loop can generate one of two types of effects, a snowball effect where a change in state generates action that causes a bigger change in the state (a reinforcing, R, loop), or a balancing effect where a change in state generates action to absorb the change (a balancing, B, loop), as shown in
Figure 5. The polarity of a link (±) indicates the direction of change that a change in the cause induces in the effect. A pair of parallel lines on a link indicates a time delay between cause and effect.
Since its foundation, SD has been applied to a wide range of problems, including supply chain management, project management, IT infrastructure and strategic planning. It has been used to model Internet diffusion [
125] and similar use can be expected for modelling industry investment in the IoT (see
Section 4.9).
Figure 6 shows a causal loop diagram of Internet diffusion in India.
As discussed in
Section 2.2, the future IoT is envisaged as an ecosystem or system of systems, and SD modelling could be carried out at different levels. The highest level might be the overall IoT core infrastructure, similar to the above Internet diffusion model, below which might be individual application areas such as energy, health care and the smart city. At a lower level, SD could model IoT project management, including software development. Much work has already been done in SD modelling of the agile software development process [
126,
127] and software project management [
128,
129]. Madachy et al. [
130] used SD to assess a hybrid plan-driven and agile process, based on a scalable spiral model, to cope with a rapidly changing software environment. In the context of IoT software development, where many systems must interoperate, there is much interest in the relative effectiveness of standards versus Open Source processes [
39,
131,
132]. As discussed in
Section 2.3, ISO has developed standards for systems engineering (ISO/IEC 15288), software engineering (ISO/IEC 12207) and project management (ISO 21500). Further lower level standards govern the technical design of the IoT in a layered model, which may be broadly divided into technical, syntactic, semantic and pragmatic categories [
131]. New technical developments such as software defined networking [
133] can be expected as development of the IoT gathers momentum. There is clearly scope for SD modelling of many aspects of IoT design, development and operations.
The other main role that SD modelling can play is to model the operational use of the IoT’s “big data”, utilizing intelligent processors. This has been done in the application area of smart transportation in an urban environment [
134], which evaluated policies for:
Another major area for SD modelling is IoT-enabled industrial logistics systems [
135,
136]. These applications extend Forrester’s early work on industrial dynamics to the present day environment of RFID identification of raw materials, work-in-progress and finished products, and the real-time tracking, via IoT sensors, of every stage of the logistics chain.
4.8. IoT Technology Transfer—An Application of SSM
Soft Systems Methodology (SSM) emerged in the 1970s as a response to the inability of traditional OR to deal with complex, ill-structured problem situations in which objectives are not clear or not agreed by all stakeholders. It is a form of action research that uses conceptual models of notional systems (“human activity systems”) to learn about, and bring about improvements to, problem situations of all kinds. Although it has been mainly used for management problems within human organizations, it can be used for making sense of complex socio-technical systems such as the IoT. Many books, journal articles and unpublished consultancy reports have been written on SSM. The most up to date account is that of Checkland and Poulter [
115]. SSM studies have been reported at Australian Society for Operations Research (ASOR) conferences since 1985, the first being that of Watson and Smith [
82]. Its place in the Systems Thinking sub-discipline of OR is now well established.
Adoption, transfer and appropriate use of the IoT infrastructure, and the education of developers, businesses and users is a major “soft” research challenge which needs to be addressed by SDOs. It has been reported on in a European Commission report [
137]. Some work on technology transfer in Australia (in the context of remote sensing technology) using SSM has been done by Andrew Finegan [
138]. A root definition adapted (and made IoT specific) from his work is as follows:
“An industry driven system operating within SDOs with the objective of transferring IoT technology by: knowing about IoT technology and operations, knowing the technical, business and social barriers to acceptance, knowing about targeted industries, selecting IoT technology to be transferred, selecting means of transferring IoT technology, applying those means to targeted industries, stimulating the ongoing transfer, and monitoring the success of such transfers; in order to benefit all involved parties, in an environment of standards, industrial competitiveness, and national and international economic development.”
The CATWOE elements (Customers, Actors, Transformation, World view, Owners, Environment [
115]) for this root definition are:
- C
Industry that can benefit from IoT technology transfer
- A
SDO researchers who wish to promote IoT technology
- T
Untransferred IoT technology becomes transferred technology
- W
Transfer of IoT technology is desirable
- O
Industry (that has the power to accept or reject transferred IoT technology)
- E
International SDOs/Industrial Competitiveness/National and International Economies
An SSM conceptual model of this root definition of an “IoT Technology Transfer System” (
Figure 7) shows the minimum necessary set of activities to define what the system does at a particular resolution level. The logical expansion of the root definition results in a conceptual model of three subsystems, “knowledge”, “criteria” and “application”. The activity “monitor and control” remains at the first level of resolution. Criteria for efficacy (is the transformation working?), efficiency (is the transformation being achieved with a minimum use of resources?) and effectiveness (is the transformation achieving the goals of the owner, in this case industry?) are needed for monitoring and controlling this human activity system. This can be compared with perceptions of “what we are doing”, by interviewing appropriate people, searching written material with the model in mind, or by some other means.
4.9. Industry Investment in IoT—An Application of the Multimethodology Approach
OR support for decisions on industry investment in IoT has been discussed in
Section 4.3 in terms of the OR mathematical technique of Game Theory. A case study of the problem of investing in the IoT has also been reported using the OR techniques of agent-based modelling and Data Analytics [
71]. Several Systems Thinking approaches can also be applied to this problem situation/research challenge. Thus it is an IoT problem/research challenge which might be best addressed by the Multimethodology approach. In fact, all the IoT research challenges listed in
Table 5 need to be tackled by more than one systems approach, i.e., using the Multimethodology approach. In this paper, we only discuss one systems approach for each research challenge to explain that particular approach, but a full systems study would probably use the Multimethodology approach.
Some of the advantages and challenges of using the Multimethodology approach are listed in Gil-Garcia and Pardo [
139]. Their study of e-government highlighted the need for better research methods for studying complex socio-technical systems, and the IoT must be one of the most complex systems of this type. Research into the Multimethodology approach has been scarce [
140] and the OR/Systems Thinking community must address the need for better education and research in this approach in the future.
The IoT has been described as a System of Systems (SoS) or ecosystem [
141], which may be defined as:
“A composition of systems in which its constituent systems are individually discovered, selected, and composed possibly at run-time to build a more complex system. The constituent systems are managed (at least in part) for their own purposes rather than the purposes of the whole and maintain a continuing operational existence independent of the collaborative system. The resulting composed system (the SoS) is more complex and offers more functionality and performance than simply the sum of its constituent systems.”
Business investment in the IoT is going to be much more complex than investments in the products and services of an individual firm, and even more complex than currently existing investments in e-commerce over the Internet. New business models for the IoT which view it as a “business ecosystem” will need to be developed. This is
“a complex adaptive system (whose) population develops through co-evolution with the greater environment, self-organization and emergence (i.e., the ability and process to create new order), and adaptation to the environment” (Peltoniemi [
142] quoted in Westerlund et al. [
19]). This is shown in
Figure 8 below.
Fleisch [
143] provides a useful explanation of how the IoT can add business value to companies. The IoT differs from other information systems in providing high resolution data in real time. This reduces the cost of transferring data from the real world to the virtual world, e.g., RFID tags eliminate expensive manual stock taking and keying of data into PCs. Fleisch’s analysis identified seven ways that the IoT adds business value, including proximity triggers, e.g., self checkout in libraries, automatic sensor triggers, e.g., networked smoke detectors, and automatic product security, e.g., anti-counterfeiting cryptography. It shows that the IoT represents a quantum leap forward from the Internet and has the potential to become a tool that advances the entire discipline of how to manage organizations and complex systems.
Another Systems Thinking approach, System Dynamics (SD), has also been applied to industry investment in new technology, in particular the diffusion of the Internet in India and China [
125]. In principle, industry investment in the IoT could be modeled in a similar way. As these authors discuss, SD can represent quantifiable as well as “soft” variables, which is useful since the diffusion context has both social and technical aspects. As discussed in
Section 4.7, the basic premise in SD is that system behavior results from interaction among its feedback loops. Various standard feedback loops or archetypes have been identified, including “Fixes that Fail” and “Shifting the Burden” [
144]. The dominant structure in Internet diffusion was found to be the Contagion Effect: innovators start the adoption process and then, by a communication process—the contagion effect—spread the word to the remaining population and the adoption process gradually gets taken over by imitators. Ultimately there are no new customers left, and the adoption tapers off, resulting in market saturation. There are also negative feedback effects on adoption, such as concerns about security issues, and the dynamics of Internet, and IoT, diffusion depends on the balance between these opposing feedback loop structures.