This document discusses how Normalized Systems (NS) theory can help establish sustainable business cases for Internet of Things (IoT) endeavors by addressing IoT challenges. NS theory proposes fine-grained modular structures to control complexity through principles like separating tasks and ensuring modules are version transparent. It also provides standardized elements like workflows that can be combined and customized to build reusable and evolvable applications. By considering NS aspects like evolvability from the start, IoT initiatives can help address challenges like unprecedented change over time.
How 'Normalized Systems' can establish sustainable IoT business cases
1. How can 'Normalized Systems'
help to establish a sustainable
business case for any endeavor in
the IoT?
Prof. dr. Herwig Mannaert
Prof. dr. Jan Verelst
5. 5
IoT - Opportunities
• Omnipresent focus on the many possibilities
- Smart Home
- Smart City
- Industrial IoT
- …
6. 6
IoT - Challenges
• “The Internet of Things (IoT) is a funny phenomenon. While the
phrase connotes ‘interconnectedness,’ the truth is that these
new gadgets, applications, interfaces, and systems aren’t
nearly as interconnected as we expect them to be. (…) The
optimization and integration of devices remains cumbersome
and disjointed, and as connected “things” venture further and
further away from traditional technologies for which some level
of support is already provided, toward products and packages
like Internet-powered toothbrushes, crock-pots, and home
security systems, the support gap will only grow.”
• Source: Paul Weichselbaum, Who Provides Tech Support for the
Internet of Things?, https://hbr.org/2014/12/who-provides-
tech-support-for-the-internet-of-things
8. 8
Modules
• ”A module is a part of a system or program. A module:
- Has an interface, consisting of:
• the name of the module, which describes the
function/responsibility of the module, and which is used to call
the module.
• the (input-)parameters of the module
• the return-value of the module
- Contains a list of instructions
• data (variables, constants, data structures...)
• processes (functions, procedures, calculations...)”
14. 14
About NS Theory
• A theoretical framework investigating Modular
Structures under Change
- Based on Systems Theoretic concepts
• Completely independent of any framework, programming language,
package, …
• Has shown to be able to deal with the challenge of increasing complexity
- E.g. hardware, Internet, space industry…
- Initial scope: Modular Structures in Software Architectures
- Publications: book, >50 conference proceedings, (invited)
lectures at different universities…
- Education: undergraduate, postgraduate…
15. 15
The Dream: Doug Mc Ilroy
“expect families of routines to be constructed on rational principles so
that families fit together as building blocks. In short, [the user]
should be able safely to regard components as black boxes.”
uit: McIlroy, Mass Produced Software Components,
1968 NATO Conference on Software Engineering, Garmisch, Germany.
16. 16
The Reality: Manny Lehman
The Law of Increasing Complexity
Manny Lehman
“As an evolving program is continually changed, its complexity,
reflecting deteriorating structure, increases unless work is done
to maintain or reduce it.”
Proceedings of the IEEE, vol. 68, nr. 9, september 1980, pp. 1068.
17. 17
NS Theory consists of 2 parts
• NS Principles: explain why evolvability is
currently limited, and decreasing over time
(Lehman’s Law of Increasing Complexity)
• NS Elements: explain how software
architectures can be built that are much more
evolvable
19. 19
NS Principles
• Modularity x Change Combinatorial Effects (CE) !
- CE = (hidden) coupling or dependencies, increasing with
size of the system !
- NS Principles identify CE at seemingly orthogonal levels
• SoC: Which tasks do you combine in a single module ?
- “An action entity can only contain a single task.”
• DVT: How do you combine a data and action module ?
- “Data entities that are received as input or produced as output by action entities,
need to exhibit version transparency.”
• AVT: How do you combine 2 modules ?
- “Action entities that are called by other action entities, need to exhibit version
transparency.”
• SoS: How do you combine modules in a workflow ?
- “The calling of an action entity by another action entity needs to exhibit state
keeping.”
21. Step 2:
NS Elements
How to control large numbers of fine-
grained modules, in theory and practice ?
22. 22
Controlling Complexity
can be done…
Other disciplines have mastered the
structured assembly of large numbers
of fine-grained static modules… e.g. hardware !
23. 23
Building using NS Elements
Requirements
Con-
nector
Work-
flow TriggerActionData
NS Application
=
n Instances
of Elements
Elements
1) Elements
+
2) Apply Expansion parameters
+
3) Apply Customizations
24. 24
NS Elements v1.1
Structuur Standaard
Functionaliteit
- element caching
-deep link details
- tree structuren
- grafische voorstellingen met
iconen
- mekaar aansturende picklists
- import/export naar xml en csv
- taal en statusrepresentatie
+
Encaps
Remote
Access
Persist
Service
…
…
28. 28
Conclusion
Current Step 1:
Principles
Step 2:
Elements
Step 3:
Meet-in-
The-Middle
Lehman Fine-grained Expansion Aggregate Reusable
And Evolvable
Building Blocks
DETERMINISM !
29. 29
Conclusions
• NS in the context of IoT
- Technical
• Assess (software) architecture on coupling and fine-
grainedness
• Consider cross-cutting concerns such as security
• Especially in integration efforts
- Business model
• Consider evolvability aspects, i.e. unprecedented change
• Be aware of Lehman-challenges !
30. 30
More info ?
• https://en.wikipedia.org/wiki/Normalized_Syst
ems
• 29/10/2015: Avond rond Beleidsinformatica
- Launch 2nd Edition
Good luck
with your IoT
initiatives !
31. 31
Short Bibliography
• Mannaert Herwig , Verelst Jan, Ven Kris.- The transformation of requirements into
software primitives : studying evolvability based on systems theoretic stability
Science of computer programming - ISSN 0167-6423 - 76:12(2011), p. 1210-1222
http://dx.doi.org/doi:10.1016/j.scico.2010.11.009
http://hdl.handle.net/10067/911120151162165141
[c:irua:91112]
Mannaert Herwig , Verelst Jan, Ven Kris.- Towards evolvable software architectures
based on systems theoretic stability Software practice and experience - ISSN 0038-
0644 - 42:1(2012), p. 89-116
http://dx.doi.org/doi:10.1002/spe.1051
http://hdl.handle.net/10067/934050151162165141
[c:irua:93405]
Huysmans Philip, Oorts Gilles, De Bruyn Peter, Mannaert Herwig , Verelst Jan.-
Positioning the normalized systems theory in a design theory framework Lecture
notes in business information processing - ISSN 1865-1348 - 142(2013), p. 43-63
http://hdl.handle.net/10067/1089110151162165141
[c:irua:108911]