The document summarizes Mahdi Fahmideh's presentation on developing IoT based systems. It discusses key challenges in IoT development including security, interoperability, scalability, and data management. It emphasizes the importance of using information systems development methods to manage complexity when building IoT platforms. The presentation then outlines a generic IoT development method including phases, roles, and models. It provides recommendations for designing IoT methods and implications for research including tailoring methods based on scenarios and addressing requirements analysis and human aspects of IoT development.
Boost PC performance: How more available memory can improve productivity
Developing IoT Systems: An Exploration
1. An exploration on developing IoT based systems
Speaker: Mahdi Fahmideh (PhD in Information Systems)
Senior Lecturer in Cyber Security, University of Southern Queensland (UniSQ), Australia
E-email: Mahdi dot Fahmideh at usq.edu.au
1
International Webinar Series
Internet of Things (IoT): Technology and Application
Petra Christian University, Indonesia
May 2023
2. Thanks to my collaborators
(alphabetical order)
John Grundy
Professor of Software Engineering
Monash University, Australia
Didar Zowghi
Professor of Software Engineering
CSIRO Data 61, Australia
Aakash Ahmad,
Assistant Professor of Software Engineering
Lancaster University Leipzig, German
Ali Behnaz
Data Scientist Lead
Quantium, Australia
Willy Susilo
Senior Professor, Cryptography
University of Wollongong, Australia
2
3. What is Internet of Things (IoT)
IoT are becoming increasingly popular across different
industrial domains and their development is rapidly increasing
to provide value-added services to end-users and citizens
Increasing adoption: Smart cities, smart grids, wearable
devices, smart agriculture, Industry 4.0, and self-driving cars
are some examples of application domains that IoT promises
to revolutionize.
Including thousands of distributed smart objects, backbone
services, platforms, and applications that are interconnected to
provide added value and intelligent reasoning for end-users
3
4. What is Internet of Things (IoT)
Key building blocks of IoT based systems
Things (or objects): small/large physical trackable,
configurable, and controllable objects such as sensors, smart
objects, devices, humans, RFID tags, and buildings, with the
ability to store, process, transmit or receive data
Software applications: web portal, mobile app, legacy systems,
enable users to use functionalities provided by IoT system.
Infrastructure: hardware for data processing, storing,
computing, and interconnectivity among data centres via
different network communication protocols
People: connect to IoT system and use its functionalities
4
5. Key challenges in developing IoT systems
IoT systems as a complex socio-technical IT artefacts, i.e., combination of
software and hardware components responsible to manage context-aware
interactions
❑ Security and Privacy: IoT systems handle vast amounts of sensitive data,
making security and privacy a significant concern.
❑ Interoperability and Standards: IoT involves diverse devices and
platforms from different manufacturers, leading to interoperability
challenges.
❑ Scalability and Performance: IoT systems need to handle a large number
of connected devices and process massive amounts of data in real-time.
❑ Connectivity and Network Reliability: IoT relies on reliable and robust
network connectivity.
❑ Power Management: Many IoT devices are constrained by
limited power resources, such as batteries.
❑ Data Management and Analytics: IoT generates massive
volumes of data, which need to be efficiently managed, stored,
and analyzed.
❑ Ethical and Legal Considerations: IoT systems often collect
personal data and operate in sensitive domains. Adhering to
ethical practices, ensuring data privacy compliance, and
addressing legal and regulatory requirements are essential for
responsible IoT development.
Addressing these challenges requires a comprehensive approach, involving a combination of technical solutions, industry standards, regulatory
frameworks, and collaboration among stakeholders in the IoT ecosystem.
5
6. Information systems development methods
(a.k.a. software engineering methodologies)
❑ Analogy: to build or buy a property (e.g., house, unit apartment, etc), we
need to adopt a method to organise and anticipate requirements, steps,
and risks.
❑ To build information systems (or software systems), we need to adopt
systematic methods
❑ Ad-hoc system development vs. systematic (yet tailorable) system
development
❑ Adopting an systematic methods for managing the complexity of
IoT platform development vs. ad-hoc use of implementation
techniques and technologies to build systems which are likely to
deliver a vulnerable and poor quality platform
❑ Information system development methods (development methods for
short): entire suite of system development lifecycle activities, e.g.,
planning, analysis, design, building, testing, and maintenance, undertaken
by humans individually/collectively to create a working information
system
❑ As the core centrepiece of quality management initiatives to build
sustainable information systems in a cost effective manner
6
7. Importance of development methods to build IoT systems
❑ An IoT system development is, after all, essentially a type of information
system development
❑ In contrast to the conventional system development which takes place
predominantly within an individual system- the socio-technical nature of
IoT systems raises a range of new important complexities
❑ Example: various hardware and software components, each with their
own distinct development process, are linked to different parties and are
working in an extremely dynamic and distributed fashion
❑ Requirements from various stakeholders such as citizens, legislators, and
administrative authorities.
❑ Some complexities are rooted in the immaturity of current technologies
BUT some are intrinsic to IoT
❑ Development of IoT systems is thus much more complicated than that
typically deemed in the conventional system development wisdom
7
8. Benefits of applying development methods to build IoT systems
❑ Structured and systematic
❑ providing guidelines, relevant tasks, modeling techniques, and best practices to manage complexity, minimize errors, and improve the overall
quality of the IoT system at software and hardware level components
❑ Requirements driven
❑ by capturing and prioritizing various stakeholders’ requirements and expectations, ensuring that the developed IoT system meets their needs
❑ Risk mitigation
❑ inherent risks in IoT systems such as security vulnerabilities, data privacy concerns, interoperability challenges, and scalability issues can be
better handled by development methods throughout development lifecycle as they help identify potential risks, assess their impact, and devise
techniques to mitigate them
❑ Integration and interoperability
❑ IoT systems may involve various components, devices, and technologies. Development methods can help with the design and implementation
necessary interfaces, protocols, and data exchange mechanisms for seamless integration among different IoT system components
❑ Scalability and flexibility
❑ IoT systems are scaled and adapted to changing requirements and environments. Development methods emphasize the design of scalable and
flexible architectures that can accommodate future evolution of IoT systems to allow adding new devices and services without disruptions
❑ Quality assurance
❑ by employing development methods, organizations can enhance the quality of their IoT systems and ensure the reliability, performance, and
functionality of the IoT system
8
9. Development methods to build IoT systems
❑ Researchers and practitioners query about how IoT systems should best be developed
❑ The majority of research in IoT literature has been focused on purely technical, i.e.,
implementation-oriented, aspects of IoT system development
❑ A high-level process-oriented understanding and its related issues still remain few and far
between
❑ Academic literature
❑ Sample development methods: Collin’s, Ignite, InterMeth, ACOSO-Meth, among others
❑ Too general and largely untested in practice
❑ Lack of an overall domain-independent and empirically evaluated framework
❑ Lack of consistent and agreed terminologies
❑ IoT industry and multi-vocal literature
❑ big players: IBM, Cisco, Amazon, Google Cloud IoT, CityPulse, ThingSpeak, and
Microsoft Azure IoT
❑ Providing some case studies of successful implementation of IoT-based systems
❑ Little attention to underlying development method(s) that are enacted.
9
10. Research objective:
Towards understanding underlying development method for IoT systems
❑ Research questions:
❑ Tasks
❑ Roles
❑ Models
10
Development
process
Roles Models
What
tasks, e.g. lifecycle, SDLC,
might be incorporated
into IoT sys development
process?
What
roles, e.g., developers,
stakeholders, might
be involved in IoT
sys. development?
What
models, e.g., diagrams,
notations, might be
produced during
IoT sys. Development?
What tools, technologies,
techniques, heuristics,
guidelines, principles are
provided to operationalise and
support the development
process, roles, models,?
adapted from Sabine’s model (with kind permission)
11. Research approach
Mixed-method research approach
▪ use both qualitative and quantitative research methods
▪ useful to get breadth and depth of understanding and corroboration of a phenomenon for which
extant research is fragmented, premature, or equivocal
❑ Quantitative method
❑ Survey
❑ Over 127 IoT practitioners from 35 countries across 6
continents with 15 different industry backgrounds
❑ Statistical analysis
❑ Perceived important of framework
❑ One-Sample T-Test
❑ To test if their importance ratings of
framework tasks distributed away from the
median 5, i.e., somewhat important.
❑ SPSS software
❑ Qualitative method (derivation of a generic method from the
literature)
❑ Systematic literature review
❑ Snowballing technique
❑ Sources:
❑ Leading Information Systems venues, e.g., senior basket
of AIS
❑ Leading Software Engineering venues
❑ Over 66 studies from academic and multi-vocal literature
12. Generic IoT development method (presented as an evaluation framework)
Source Fahmideh, Mahdi, and Didar Zowghi. "An exploration of IoT platform development." Information Systems 87 (2020): 101409 (with kind permission)
13. Generic IoT development method (continue)
Source Fahmideh, Fahmideh, M., Ahmad, A., Behnaz, A., Grundy, J., & Susilo, W. (2021). Software Engineering for Internet of Things: The Practitioners' Perspective. IEEE Transactions on Software Engineering, 48(8),
2857-2878. (with kind permission)
Process model
❑ Phases and tasks for incorporation into development of IoT systems
14. Generic IoT development method (continue)
❑ Roles
Source Fahmideh, Mahdi, and Didar Zowghi. "An exploration of IoT platform development." Information Systems 87 (2020): 101409 (with kind permission)
15. Generic IoT development method (continue)
❑ Modeling (modeling languages and modeling outputs
Source Fahmideh, Mahdi, and Didar Zowghi. "An exploration of IoT platform development." Information Systems 87 (2020): 101409 (with kind permission)
16. Generic IoT development method (presented as an evaluation framework)
Source Fahmideh, Fahmideh, M., Ahmad, A., Behnaz, A., Grundy, J., & Susilo, W. (2021). Software Engineering for Internet of Things: The Practitioners' Perspective. IEEE Transactions on Software Engineering,
2857-2878. (with kind permission)
17. Generic IoT development method (presented as an evaluation framework)
Source Fahmideh, Fahmideh, M., Ahmad, A., Behnaz, A., Grundy, J., & Susilo, W. (2021). Software Engineering for Internet of Things: The Practitioners' Perspective. IEEE Transactions on Software Engineering,
2857-2878. (with kind permission)
18. Generic IoT development method (presented as an evaluation framework)
Source Fahmideh, Fahmideh, M., Ahmad, A., Behnaz, A., Grundy, J., & Susilo, W. (2021). Software Engineering for Internet of Things: The Practitioners' Perspective. IEEE Transactions on Software Engineering,
2857-2878. (with kind permission)
19. Recommendations for designing IoT development methods
Source Fahmideh, Fahmideh, M., Ahmad, A., Behnaz, A., Grundy, J., & Susilo, W. (2021). Software Engineering for Internet of Things: The Practitioners' Perspective. IEEE Transactions on Software Engineering, 48(8),
2857-2878. (with kind permission)
20. Recommendations for designing IoT development methods
Source Fahmideh, Fahmideh, M., Ahmad, A., Behnaz, A., Grundy, J., & Susilo, W. (2021). Software Engineering for Internet of Things: The Practitioners' Perspective. IEEE Transactions on Software Engineering, 48(8),
2857-2878. (with kind permission)
21. Recommendations for designing IoT development methods (continue)
Source Fahmideh, Fahmideh, M., Ahmad, A., Behnaz, A., Grundy, J., & Susilo, W. (2021). Software Engineering for Internet of Things: The Practitioners' Perspective. IEEE Transactions on Software Engineering, 48(8),
2857-2878. (with kind permission)
22. Implications for research and practice
❑ Scale matters
❑ Although debatable, we believe that IoT development is not necessarily a new revolutionary
genre and it can be well connected and positioned in the conventional wisdom of information
systems development (a.k.a. software engineering methodologies), however, it reappears taking
to an extreme level
❑ New techniques at micro level
❑ Inherent challenges at the micro process level, i.e., performing development tasks, signify that
not everything necessarily from the conventional software engineering literature can be equally
applied in an IoT context
❑ Generic method as an evaluation framework
❑ The generic method as a tool or to-do checklist to appraise the extent to which their inhouse
development approach supports the development of IoT systems
23. Future research directions
❑ One-size-fits-all assumption is not a practical choice
❑ Development methods should be tailored for a given IoT development scenario
❑ Requirements analysis is missing in development methods
❑ Mapping requirements to IoT systems
❑ Complexity of requirements, i.e., diversity stakeholders at large scale
❑ Role oriented IoT development
❑ Development over people
❑ Multi-faceted stakeholder driven nature of IoT systems
❑ The influence of human entity during IoT system development
24. References
❑ Mahdi Fahmideh, Didar Zowghi. An exploration of IoT platform development, Information Systems 87 (2020):
101409
❑ Mahdi Fahmideh, Aakash Ahmad, Ali Behnaz, John Grundy, Willy Susilo, Software Engineering for Internet of
Things: The Practitioners' Perspective, IEEE Transactions on Software Engineering, 48(8), 2857-2878