towards generic design patterns for evolvable modular ......towards generic design patterns for...
TRANSCRIPT
![Page 1: Towards Generic Design Patterns for Evolvable Modular ......Towards Generic Design Patterns for Evolvable Modular Architectures ... • Idea: have components depend on design parameters](https://reader030.vdocuments.mx/reader030/viewer/2022041112/5f1ca3c4d3b441233a7ecc5c/html5/thumbnails/1.jpg)
Towards Generic Design Patternsfor Evolvable Modular Architectures
Prof. dr. Herwig Mannaert
Normalized Systems Institute
University of Antwerp
![Page 2: Towards Generic Design Patterns for Evolvable Modular ......Towards Generic Design Patterns for Evolvable Modular Architectures ... • Idea: have components depend on design parameters](https://reader030.vdocuments.mx/reader030/viewer/2022041112/5f1ca3c4d3b441233a7ecc5c/html5/thumbnails/2.jpg)
1
Table of Contents
• Introduction
• Laws of Modularity Combinatorics
• Combinatorics of Aggregation Dimensions
• Conclusions
![Page 3: Towards Generic Design Patterns for Evolvable Modular ......Towards Generic Design Patterns for Evolvable Modular Architectures ... • Idea: have components depend on design parameters](https://reader030.vdocuments.mx/reader030/viewer/2022041112/5f1ca3c4d3b441233a7ecc5c/html5/thumbnails/3.jpg)
2
Table of Contents
• Introduction
- Sciences of the Artificial
- Modular Software Design
- The Power of Modularity
• Laws of Modularity Combinatorics
• Combinatorics of Aggregation Dimensions
• Conclusions
![Page 4: Towards Generic Design Patterns for Evolvable Modular ......Towards Generic Design Patterns for Evolvable Modular Architectures ... • Idea: have components depend on design parameters](https://reader030.vdocuments.mx/reader030/viewer/2022041112/5f1ca3c4d3b441233a7ecc5c/html5/thumbnails/4.jpg)
SCIENCES OF THE ARTIFICIAL
Herbert Simon
![Page 5: Towards Generic Design Patterns for Evolvable Modular ......Towards Generic Design Patterns for Evolvable Modular Architectures ... • Idea: have components depend on design parameters](https://reader030.vdocuments.mx/reader030/viewer/2022041112/5f1ca3c4d3b441233a7ecc5c/html5/thumbnails/5.jpg)
4
• The architecture of the artificial:
HIERARCHY
Sciences of the Artificial
![Page 6: Towards Generic Design Patterns for Evolvable Modular ......Towards Generic Design Patterns for Evolvable Modular Architectures ... • Idea: have components depend on design parameters](https://reader030.vdocuments.mx/reader030/viewer/2022041112/5f1ca3c4d3b441233a7ecc5c/html5/thumbnails/6.jpg)
5
Recursive
The Architecture: Hierarchy
• Interrelated subsystems, hierarchic in structure,until some lowest level of elementary subsystem.
![Page 7: Towards Generic Design Patterns for Evolvable Modular ......Towards Generic Design Patterns for Evolvable Modular Architectures ... • Idea: have components depend on design parameters](https://reader030.vdocuments.mx/reader030/viewer/2022041112/5f1ca3c4d3b441233a7ecc5c/html5/thumbnails/7.jpg)
Separationin space
![Page 8: Towards Generic Design Patterns for Evolvable Modular ......Towards Generic Design Patterns for Evolvable Modular Architectures ... • Idea: have components depend on design parameters](https://reader030.vdocuments.mx/reader030/viewer/2022041112/5f1ca3c4d3b441233a7ecc5c/html5/thumbnails/8.jpg)
Separationin time
(1-p)1000
(1-p)10
(1-p)10
(1-p)10
![Page 9: Towards Generic Design Patterns for Evolvable Modular ......Towards Generic Design Patterns for Evolvable Modular Architectures ... • Idea: have components depend on design parameters](https://reader030.vdocuments.mx/reader030/viewer/2022041112/5f1ca3c4d3b441233a7ecc5c/html5/thumbnails/9.jpg)
MODULAR SOFTWARE DESIGN
Dave Parnas – Double Dictum
![Page 10: Towards Generic Design Patterns for Evolvable Modular ......Towards Generic Design Patterns for Evolvable Modular Architectures ... • Idea: have components depend on design parameters](https://reader030.vdocuments.mx/reader030/viewer/2022041112/5f1ca3c4d3b441233a7ecc5c/html5/thumbnails/10.jpg)
9
Modules - Coupling
• Coupling is a measure of the dependenciesbetween modules
![Page 11: Towards Generic Design Patterns for Evolvable Modular ......Towards Generic Design Patterns for Evolvable Modular Architectures ... • Idea: have components depend on design parameters](https://reader030.vdocuments.mx/reader030/viewer/2022041112/5f1ca3c4d3b441233a7ecc5c/html5/thumbnails/11.jpg)
10
Modules - Cohesion
• Cohesion is a measure of how stronglythe elements in a module are related
• Good design=
Low coupling and high cohesion!
![Page 12: Towards Generic Design Patterns for Evolvable Modular ......Towards Generic Design Patterns for Evolvable Modular Architectures ... • Idea: have components depend on design parameters](https://reader030.vdocuments.mx/reader030/viewer/2022041112/5f1ca3c4d3b441233a7ecc5c/html5/thumbnails/12.jpg)
11
Modules – advantages
Complexity Reduction
Reuse
Evolvability
![Page 13: Towards Generic Design Patterns for Evolvable Modular ......Towards Generic Design Patterns for Evolvable Modular Architectures ... • Idea: have components depend on design parameters](https://reader030.vdocuments.mx/reader030/viewer/2022041112/5f1ca3c4d3b441233a7ecc5c/html5/thumbnails/13.jpg)
THE POWER OF MODULARITY
Carliss Baldwin & Kim Clark
![Page 14: Towards Generic Design Patterns for Evolvable Modular ......Towards Generic Design Patterns for Evolvable Modular Architectures ... • Idea: have components depend on design parameters](https://reader030.vdocuments.mx/reader030/viewer/2022041112/5f1ca3c4d3b441233a7ecc5c/html5/thumbnails/14.jpg)
13
The Modularity Conundrum
• Powerful systems are built of many elements
• Power comes from elements’ interplay
• This interplay results in essentialinterdependences and reduces ability to
- reuse element w/o others
- change element w/o changing others
A B
Edges mean “knowsabout”
![Page 15: Towards Generic Design Patterns for Evolvable Modular ......Towards Generic Design Patterns for Evolvable Modular Architectures ... • Idea: have components depend on design parameters](https://reader030.vdocuments.mx/reader030/viewer/2022041112/5f1ca3c4d3b441233a7ecc5c/html5/thumbnails/15.jpg)
14
Design Rules
• Idea: have components depend on designparameters guaranteed not to change,called Design Rules
• Design rule may be a convention, interface,representation, programming language, etc.
• Design rules are the global, unhiddenassumptions; they are the architecture
• Chosen properly, elements depend on designrules rather than on each other, becoming truemodules
A’ B’
D. R.
![Page 16: Towards Generic Design Patterns for Evolvable Modular ......Towards Generic Design Patterns for Evolvable Modular Architectures ... • Idea: have components depend on design parameters](https://reader030.vdocuments.mx/reader030/viewer/2022041112/5f1ca3c4d3b441233a7ecc5c/html5/thumbnails/16.jpg)
15
The Value of Modularity
• Modularity not only accommodates change• It encourages innovation by decentralizing
decision making on hidden modules• Technically, it creates the option for third parties
to innovate on a module- Parties compete to create a better module- A few “experiments” likely to create superior module
whose value to users exceeds cost of experiments;downside minimal because can keep old
• Cluster of innovators emerge aroundarchitecture, resulting in new industry
![Page 17: Towards Generic Design Patterns for Evolvable Modular ......Towards Generic Design Patterns for Evolvable Modular Architectures ... • Idea: have components depend on design parameters](https://reader030.vdocuments.mx/reader030/viewer/2022041112/5f1ca3c4d3b441233a7ecc5c/html5/thumbnails/17.jpg)
16
Table of Contents
• Introduction
• Laws of Modularity Combinatorics
- Separating Modules: Cohesive Variation Gains
- Aggregating Modules: Coupling Ripple Costs
• Combinatorics of Aggregation Dimensions
• Conclusions
![Page 18: Towards Generic Design Patterns for Evolvable Modular ......Towards Generic Design Patterns for Evolvable Modular Architectures ... • Idea: have components depend on design parameters](https://reader030.vdocuments.mx/reader030/viewer/2022041112/5f1ca3c4d3b441233a7ecc5c/html5/thumbnails/18.jpg)
SEPARATING MODULES
On Exponential Variation Gains
![Page 19: Towards Generic Design Patterns for Evolvable Modular ......Towards Generic Design Patterns for Evolvable Modular Architectures ... • Idea: have components depend on design parameters](https://reader030.vdocuments.mx/reader030/viewer/2022041112/5f1ca3c4d3b441233a7ecc5c/html5/thumbnails/19.jpg)
18
Systems and Processes
• a software program
• a chair manufacturing
• a car assembly process
• a study/training program
• a business process flow
• a cough syrup production
• …
![Page 20: Towards Generic Design Patterns for Evolvable Modular ......Towards Generic Design Patterns for Evolvable Modular Architectures ... • Idea: have components depend on design parameters](https://reader030.vdocuments.mx/reader030/viewer/2022041112/5f1ca3c4d3b441233a7ecc5c/html5/thumbnails/20.jpg)
19
Emerging Units and Variants
U1 U
2
Un
![Page 21: Towards Generic Design Patterns for Evolvable Modular ......Towards Generic Design Patterns for Evolvable Modular Architectures ... • Idea: have components depend on design parameters](https://reader030.vdocuments.mx/reader030/viewer/2022041112/5f1ca3c4d3b441233a7ecc5c/html5/thumbnails/21.jpg)
20
Emerging Units and Variants
U1 U
2
Un
• a software program• logic units of work• computation variants
• a chair manufacturing• chair parts• variants of parts
• a car assembly process• mounting parts• versions and options
• a study/training program• course modules• majors/electives
• a business process flow• tasks or activities• various rules
• a cough syrup production• ingredients syrup• various fever relievers
• …
![Page 22: Towards Generic Design Patterns for Evolvable Modular ......Towards Generic Design Patterns for Evolvable Modular Architectures ... • Idea: have components depend on design parameters](https://reader030.vdocuments.mx/reader030/viewer/2022041112/5f1ca3c4d3b441233a7ecc5c/html5/thumbnails/22.jpg)
21
Global Module: Config Glue
Unit versions:
U1 U
2
Un
#k1 #k2
#kn
Glue logic
U1 U
2
Un
![Page 23: Towards Generic Design Patterns for Evolvable Modular ......Towards Generic Design Patterns for Evolvable Modular Architectures ... • Idea: have components depend on design parameters](https://reader030.vdocuments.mx/reader030/viewer/2022041112/5f1ca3c4d3b441233a7ecc5c/html5/thumbnails/23.jpg)
22
Global Module: Config Glue
Unit versions:
U1 U
2
Un
#k1 #k2
#kn
Glue logic
• a complex program• all variants of all units• selection logic
• a chair manufacturing• all part versions• selection in process
• a car assembly process• all variants of all parts• selection and steering
• a study/training program• all course part versions• choosing in process
• a business process flow• all versions of all tasks• evaluation and selection
• a cough syrup production• ingredient variants• selection and steering
• …
![Page 24: Towards Generic Design Patterns for Evolvable Modular ......Towards Generic Design Patterns for Evolvable Modular Architectures ... • Idea: have components depend on design parameters](https://reader030.vdocuments.mx/reader030/viewer/2022041112/5f1ca3c4d3b441233a7ecc5c/html5/thumbnails/24.jpg)
23
Global Module: Config Variants
Unit versions:
U1 U
2
Un
U1 U
2
Un vn
v2v1
Module versions:
![Page 25: Towards Generic Design Patterns for Evolvable Modular ......Towards Generic Design Patterns for Evolvable Modular Architectures ... • Idea: have components depend on design parameters](https://reader030.vdocuments.mx/reader030/viewer/2022041112/5f1ca3c4d3b441233a7ecc5c/html5/thumbnails/25.jpg)
24
Global Module: Config Variants
Unit versions:
U1 U
2
Un vn
v2v1
Module versions:
• a dedicated program• for every input set• input configurator
• a chair manufacturing• for every chair type• Routing configurator
• a car assembly process• for every possible car• routing configurator
• a study/training program• for every unique program• input configurator
• a business process flow• for every possible path• input configurator
• a cough syrup production• for every composition• routing configurator
• …
![Page 26: Towards Generic Design Patterns for Evolvable Modular ......Towards Generic Design Patterns for Evolvable Modular Architectures ... • Idea: have components depend on design parameters](https://reader030.vdocuments.mx/reader030/viewer/2022041112/5f1ca3c4d3b441233a7ecc5c/html5/thumbnails/26.jpg)
25
Emerging Units and Variants
U1 U
2
Un
• a software program:• logic units of work• computation variants
• a chair manufacturing• chair parts• variants of parts
• a car assembly process• mounting parts• versions and options
• a study/training program• course modules• majors/electives
• a business process flow• tasks or activities• various rules
• a cough syrup production• ingredients syrup• various fever relievers
• …
![Page 27: Towards Generic Design Patterns for Evolvable Modular ......Towards Generic Design Patterns for Evolvable Modular Architectures ... • Idea: have components depend on design parameters](https://reader030.vdocuments.mx/reader030/viewer/2022041112/5f1ca3c4d3b441233a7ecc5c/html5/thumbnails/27.jpg)
26
Emerging Cohesive Modules
#k1 #k2
#kn
M1 M
2
Mn
Module versions:
System variants:
![Page 28: Towards Generic Design Patterns for Evolvable Modular ......Towards Generic Design Patterns for Evolvable Modular Architectures ... • Idea: have components depend on design parameters](https://reader030.vdocuments.mx/reader030/viewer/2022041112/5f1ca3c4d3b441233a7ecc5c/html5/thumbnails/28.jpg)
27
Cohesive Modules
Module versions:
System variants:
M1 M
2#k1 #k2
#knM
n
• a set of modules• for every unit of work• with various versions
• chair manufacturing units• for every chair part• with various options
• car assembly process units• for every car part• with various part variants
• study/training modules• for every course module• with various options
• business activity modules• for every possible task• with various options
• syrup ingredient units• for every ingredient• with various flavours
• …
![Page 29: Towards Generic Design Patterns for Evolvable Modular ......Towards Generic Design Patterns for Evolvable Modular Architectures ... • Idea: have components depend on design parameters](https://reader030.vdocuments.mx/reader030/viewer/2022041112/5f1ca3c4d3b441233a7ecc5c/html5/thumbnails/29.jpg)
28
Combinatorics of Modularity
Exponential Variation Gains
Module versions: Module versions:
System variants:System variants:
M1 M
2#k1 #k2
#knM
n
U1 U
2
Un vn
v2v1
![Page 30: Towards Generic Design Patterns for Evolvable Modular ......Towards Generic Design Patterns for Evolvable Modular Architectures ... • Idea: have components depend on design parameters](https://reader030.vdocuments.mx/reader030/viewer/2022041112/5f1ca3c4d3b441233a7ecc5c/html5/thumbnails/30.jpg)
29
The Dream: Doug Mc Ilroy
“expect families of routines to be constructed on rational principles sothat 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.
![Page 31: Towards Generic Design Patterns for Evolvable Modular ......Towards Generic Design Patterns for Evolvable Modular Architectures ... • Idea: have components depend on design parameters](https://reader030.vdocuments.mx/reader030/viewer/2022041112/5f1ca3c4d3b441233a7ecc5c/html5/thumbnails/31.jpg)
30
Framework Combinatorics
Module versions: System variants:
![Page 32: Towards Generic Design Patterns for Evolvable Modular ......Towards Generic Design Patterns for Evolvable Modular Architectures ... • Idea: have components depend on design parameters](https://reader030.vdocuments.mx/reader030/viewer/2022041112/5f1ca3c4d3b441233a7ecc5c/html5/thumbnails/32.jpg)
AGGREGATING MODULES
On Exponential Ripple Costs
![Page 33: Towards Generic Design Patterns for Evolvable Modular ......Towards Generic Design Patterns for Evolvable Modular Architectures ... • Idea: have components depend on design parameters](https://reader030.vdocuments.mx/reader030/viewer/2022041112/5f1ca3c4d3b441233a7ecc5c/html5/thumbnails/33.jpg)
32
Combinatorics of Coupling
aggregate
Potential 1st impact:
Potential 2nd impact:
v2
#d2
M1 M
2#k1
#knM
n
M1 M
2#k1 #k2
#knM
n
Change: Exponential Ripple Costs
![Page 34: Towards Generic Design Patterns for Evolvable Modular ......Towards Generic Design Patterns for Evolvable Modular Architectures ... • Idea: have components depend on design parameters](https://reader030.vdocuments.mx/reader030/viewer/2022041112/5f1ca3c4d3b441233a7ecc5c/html5/thumbnails/34.jpg)
33
Combinatorics of Coupling
Potential 1st impact:
Potential 2nd impact:
v2
#d2
M1 M
2#k1
#knM
n
• change a module• version of computation• with impact on interface
• change a chair leg• specific type of leg• impact on leg connection
• change a car part• other implementation• impact on fixation
• change a study module• other content• impact on prerequisites
• change an activity module• other implementation• impact on dependencies
• change a fever ingredient• other substance• interaction complication
• …
![Page 35: Towards Generic Design Patterns for Evolvable Modular ......Towards Generic Design Patterns for Evolvable Modular Architectures ... • Idea: have components depend on design parameters](https://reader030.vdocuments.mx/reader030/viewer/2022041112/5f1ca3c4d3b441233a7ecc5c/html5/thumbnails/35.jpg)
34
Coupling has Many Faces
Potential 1st impact:
Potential 2nd impact:
v2
#d2
M1 M
2#k1
#knM
n
• change a module• requires new version jdk• answer comes back async
• change a chair leg• hardness is damaging• must be mounted earlier
• change a car part• cooling liquid too viscous• should be fixated earlier
• change a study module• exam facilities limited• requires other module first
• change an activity module• other authorization scheme• other task prerequisite
• change a fever ingredient• impact on solubility• needs direct pressurization
• …
![Page 36: Towards Generic Design Patterns for Evolvable Modular ......Towards Generic Design Patterns for Evolvable Modular Architectures ... • Idea: have components depend on design parameters](https://reader030.vdocuments.mx/reader030/viewer/2022041112/5f1ca3c4d3b441233a7ecc5c/html5/thumbnails/36.jpg)
35
My #ky
#kzM
z
re-usevxM
x
#dx
Combinatorics of Re-Use
Change: Exponential Ripple Costs
v2
#d2
M1 M
2#k1
#knM
n
![Page 37: Towards Generic Design Patterns for Evolvable Modular ......Towards Generic Design Patterns for Evolvable Modular Architectures ... • Idea: have components depend on design parameters](https://reader030.vdocuments.mx/reader030/viewer/2022041112/5f1ca3c4d3b441233a7ecc5c/html5/thumbnails/37.jpg)
36
My #ky
#kzM
z
vxMx
#dx
Combinatorics of Re-Use
• re-use a module• in another program• changed the interface
• re-use a chair leg• in another chair or table• changed the leg connection
• re-use a car part• In second car or motorbike• changed the part fixation
• re-use study modules• in another program• changed the outcomes
• re-use activity module• in other processes• changed the dependencies
• re-use fever ingredient• in another medicine• changed the strength
• …
![Page 38: Towards Generic Design Patterns for Evolvable Modular ......Towards Generic Design Patterns for Evolvable Modular Architectures ... • Idea: have components depend on design parameters](https://reader030.vdocuments.mx/reader030/viewer/2022041112/5f1ca3c4d3b441233a7ecc5c/html5/thumbnails/38.jpg)
37
Modularity Combinatorics
Unleashing the exponential variation gains,without mastering the coupling
that entails the exponential ripple costs,
may destroy the evolvability.
![Page 39: Towards Generic Design Patterns for Evolvable Modular ......Towards Generic Design Patterns for Evolvable Modular Architectures ... • Idea: have components depend on design parameters](https://reader030.vdocuments.mx/reader030/viewer/2022041112/5f1ca3c4d3b441233a7ecc5c/html5/thumbnails/39.jpg)
38
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.
![Page 40: Towards Generic Design Patterns for Evolvable Modular ......Towards Generic Design Patterns for Evolvable Modular Architectures ... • Idea: have components depend on design parameters](https://reader030.vdocuments.mx/reader030/viewer/2022041112/5f1ca3c4d3b441233a7ecc5c/html5/thumbnails/40.jpg)
39
Modularityis static
![Page 41: Towards Generic Design Patterns for Evolvable Modular ......Towards Generic Design Patterns for Evolvable Modular Architectures ... • Idea: have components depend on design parameters](https://reader030.vdocuments.mx/reader030/viewer/2022041112/5f1ca3c4d3b441233a7ecc5c/html5/thumbnails/41.jpg)
40
Table of Contents
• Introduction
• Laws of Modularity Combinatorics
• Combinatorics of Aggregation Dimensions
- Multiple dimensions in modular structures
- Architectures Connecting Modular Dimensions
- Integrated Elements that Exhibit Evolvability
• Conclusions
![Page 42: Towards Generic Design Patterns for Evolvable Modular ......Towards Generic Design Patterns for Evolvable Modular Architectures ... • Idea: have components depend on design parameters](https://reader030.vdocuments.mx/reader030/viewer/2022041112/5f1ca3c4d3b441233a7ecc5c/html5/thumbnails/42.jpg)
MULTIPLE DIMENSIONSIN MODULAR STRUCTURES
![Page 43: Towards Generic Design Patterns for Evolvable Modular ......Towards Generic Design Patterns for Evolvable Modular Architectures ... • Idea: have components depend on design parameters](https://reader030.vdocuments.mx/reader030/viewer/2022041112/5f1ca3c4d3b441233a7ecc5c/html5/thumbnails/43.jpg)
42
Hierarchical Aggregation
![Page 44: Towards Generic Design Patterns for Evolvable Modular ......Towards Generic Design Patterns for Evolvable Modular Architectures ... • Idea: have components depend on design parameters](https://reader030.vdocuments.mx/reader030/viewer/2022041112/5f1ca3c4d3b441233a7ecc5c/html5/thumbnails/44.jpg)
43
The Integration Problem
• Making a software application highly robustand secure may imply redevelopment
• Adding water and electricity to a constructionplan may imply several rollbacks
• Taking into account weight/vibration/emissionconstraints may imply redesign of an engine
• …
![Page 45: Towards Generic Design Patterns for Evolvable Modular ......Towards Generic Design Patterns for Evolvable Modular Architectures ... • Idea: have components depend on design parameters](https://reader030.vdocuments.mx/reader030/viewer/2022041112/5f1ca3c4d3b441233a7ecc5c/html5/thumbnails/45.jpg)
44
Hierarchical Aggregation
![Page 46: Towards Generic Design Patterns for Evolvable Modular ......Towards Generic Design Patterns for Evolvable Modular Architectures ... • Idea: have components depend on design parameters](https://reader030.vdocuments.mx/reader030/viewer/2022041112/5f1ca3c4d3b441233a7ecc5c/html5/thumbnails/46.jpg)
45
Introducing Other Concerns
• Adding persistency or access control toall modules containing data
• Adding electrical power and control tothe majority of car parts
• Asking internationalization and casestudies from course modules
• Demanding secure registration orlogging from process activities
![Page 47: Towards Generic Design Patterns for Evolvable Modular ......Towards Generic Design Patterns for Evolvable Modular Architectures ... • Idea: have components depend on design parameters](https://reader030.vdocuments.mx/reader030/viewer/2022041112/5f1ca3c4d3b441233a7ecc5c/html5/thumbnails/47.jpg)
46
Ripple Costs due to Concerns
Potential 1st impact: Potential 2nd impact: Potential 3rd impact:
![Page 48: Towards Generic Design Patterns for Evolvable Modular ......Towards Generic Design Patterns for Evolvable Modular Architectures ... • Idea: have components depend on design parameters](https://reader030.vdocuments.mx/reader030/viewer/2022041112/5f1ca3c4d3b441233a7ecc5c/html5/thumbnails/48.jpg)
ARCHITECTURES CONNECTINGMODULAR DIMENSIONS
![Page 49: Towards Generic Design Patterns for Evolvable Modular ......Towards Generic Design Patterns for Evolvable Modular Architectures ... • Idea: have components depend on design parameters](https://reader030.vdocuments.mx/reader030/viewer/2022041112/5f1ca3c4d3b441233a7ecc5c/html5/thumbnails/49.jpg)
48
Embedded DedicatedImplementations
• Adding dedicated persistency moduleto every functional module
• Adding dedicated generator or batteryto the majority of car parts
• Develop separate case study modulefor every course module
• Introduce dedicated secure registrationmodule for every activity
![Page 50: Towards Generic Design Patterns for Evolvable Modular ......Towards Generic Design Patterns for Evolvable Modular Architectures ... • Idea: have components depend on design parameters](https://reader030.vdocuments.mx/reader030/viewer/2022041112/5f1ca3c4d3b441233a7ecc5c/html5/thumbnails/50.jpg)
49
Embedded StandardizedImplementations
• Adding standardized persistencymodule to every functional module
• Adding standardized battery unit to themajority of car parts
• Select standard case study module forevery course module
• Introduce standardized secureregistration module for every activity
![Page 51: Towards Generic Design Patterns for Evolvable Modular ......Towards Generic Design Patterns for Evolvable Modular Architectures ... • Idea: have components depend on design parameters](https://reader030.vdocuments.mx/reader030/viewer/2022041112/5f1ca3c4d3b441233a7ecc5c/html5/thumbnails/51.jpg)
50
Relay Modules toDedicated Frameworks
• Adding relay modules to connect tointegrated persistency framework
• Adding power units connecting todedicated electrical network
• Retrieving case study module fromdedicated unit to develop cases
• Connecting to a dedicated frameworkfor secure registration of activities
![Page 52: Towards Generic Design Patterns for Evolvable Modular ......Towards Generic Design Patterns for Evolvable Modular Architectures ... • Idea: have components depend on design parameters](https://reader030.vdocuments.mx/reader030/viewer/2022041112/5f1ca3c4d3b441233a7ecc5c/html5/thumbnails/52.jpg)
51
Architectures: 1, 2, and 3
![Page 53: Towards Generic Design Patterns for Evolvable Modular ......Towards Generic Design Patterns for Evolvable Modular Architectures ... • Idea: have components depend on design parameters](https://reader030.vdocuments.mx/reader030/viewer/2022041112/5f1ca3c4d3b441233a7ecc5c/html5/thumbnails/53.jpg)
52
Relay Modules toStandardized Frameworks
• Adding relay modules to tap intoimmanent standard solution like JPA
• Adding standard connectors to tap intostandardized electrical network
• Retrieving case study modules frompublic provider through keywords
• Adding relay modules to connect toprovider of secure logging services
![Page 54: Towards Generic Design Patterns for Evolvable Modular ......Towards Generic Design Patterns for Evolvable Modular Architectures ... • Idea: have components depend on design parameters](https://reader030.vdocuments.mx/reader030/viewer/2022041112/5f1ca3c4d3b441233a7ecc5c/html5/thumbnails/54.jpg)
53
Relay Modules toFramework Gateways
• Relaying persistency authorization todedicated gateway shielding provider
• Power connectors relaying to centralpower unit shielding actual provider
• Relaying to dedicated semanticgateway shielding public case provider
• Relaying to central gateway shieldingactual secure logging service provider
![Page 55: Towards Generic Design Patterns for Evolvable Modular ......Towards Generic Design Patterns for Evolvable Modular Architectures ... • Idea: have components depend on design parameters](https://reader030.vdocuments.mx/reader030/viewer/2022041112/5f1ca3c4d3b441233a7ecc5c/html5/thumbnails/55.jpg)
54
Architectures: 3, 4, and 5
![Page 56: Towards Generic Design Patterns for Evolvable Modular ......Towards Generic Design Patterns for Evolvable Modular Architectures ... • Idea: have components depend on design parameters](https://reader030.vdocuments.mx/reader030/viewer/2022041112/5f1ca3c4d3b441233a7ecc5c/html5/thumbnails/56.jpg)
55
Aggregating Concerns: Case
![Page 57: Towards Generic Design Patterns for Evolvable Modular ......Towards Generic Design Patterns for Evolvable Modular Architectures ... • Idea: have components depend on design parameters](https://reader030.vdocuments.mx/reader030/viewer/2022041112/5f1ca3c4d3b441233a7ecc5c/html5/thumbnails/57.jpg)
INTEGRATED ELEMENTSTHAT EXHIBIT EVOLVABILITY
![Page 58: Towards Generic Design Patterns for Evolvable Modular ......Towards Generic Design Patterns for Evolvable Modular Architectures ... • Idea: have components depend on design parameters](https://reader030.vdocuments.mx/reader030/viewer/2022041112/5f1ca3c4d3b441233a7ecc5c/html5/thumbnails/58.jpg)
57
Some Attempts TowardsEvolvability and Scalability
![Page 59: Towards Generic Design Patterns for Evolvable Modular ......Towards Generic Design Patterns for Evolvable Modular Architectures ... • Idea: have components depend on design parameters](https://reader030.vdocuments.mx/reader030/viewer/2022041112/5f1ca3c4d3b441233a7ecc5c/html5/thumbnails/59.jpg)
58
Some Attempts TowardsEvolvability and Scalability
GoogleModularPhones
![Page 60: Towards Generic Design Patterns for Evolvable Modular ......Towards Generic Design Patterns for Evolvable Modular Architectures ... • Idea: have components depend on design parameters](https://reader030.vdocuments.mx/reader030/viewer/2022041112/5f1ca3c4d3b441233a7ecc5c/html5/thumbnails/60.jpg)
59
TeslaScalableBatteries
Some Attempts TowardsEvolvability and Scalability
![Page 61: Towards Generic Design Patterns for Evolvable Modular ......Towards Generic Design Patterns for Evolvable Modular Architectures ... • Idea: have components depend on design parameters](https://reader030.vdocuments.mx/reader030/viewer/2022041112/5f1ca3c4d3b441233a7ecc5c/html5/thumbnails/61.jpg)
60
The Emergence of Elements
• Additional concerns should be systematicallydistributed throughout the functional structure
• The integration of such a concern should bedone in a properly encapsulated/isolated way
• For every concern, an architecture needs to bedesigned, as standardized as possible
• The integration skeletons need to be providedas deep down as possible in modular structure
![Page 62: Towards Generic Design Patterns for Evolvable Modular ......Towards Generic Design Patterns for Evolvable Modular Architectures ... • Idea: have components depend on design parameters](https://reader030.vdocuments.mx/reader030/viewer/2022041112/5f1ca3c4d3b441233a7ecc5c/html5/thumbnails/62.jpg)
61
The Emergence of Elements
Element
![Page 63: Towards Generic Design Patterns for Evolvable Modular ......Towards Generic Design Patterns for Evolvable Modular Architectures ... • Idea: have components depend on design parameters](https://reader030.vdocuments.mx/reader030/viewer/2022041112/5f1ca3c4d3b441233a7ecc5c/html5/thumbnails/63.jpg)
62
Struct Invoice- Nr- Date- …
Invoice-Nr-Date-…
Anthropomorfism
persistency
ElementInvoice
encapsulate
Concept Element: Software
![Page 64: Towards Generic Design Patterns for Evolvable Modular ......Towards Generic Design Patterns for Evolvable Modular Architectures ... • Idea: have components depend on design parameters](https://reader030.vdocuments.mx/reader030/viewer/2022041112/5f1ca3c4d3b441233a7ecc5c/html5/thumbnails/64.jpg)
ProtectionStructure
Isolation
Water
Electricity
Socket
Support core
Concept Element: Construction
![Page 65: Towards Generic Design Patterns for Evolvable Modular ......Towards Generic Design Patterns for Evolvable Modular Architectures ... • Idea: have components depend on design parameters](https://reader030.vdocuments.mx/reader030/viewer/2022041112/5f1ca3c4d3b441233a7ecc5c/html5/thumbnails/65.jpg)
64
Normalized Systems Elements
• The ultimate goal is to normalize systems:to have a normalized transformation:
between function and construction
= x
C 1
C n
F 1
F 1
0
0
based on elementary building blocks:that solve the m:n design problem
![Page 66: Towards Generic Design Patterns for Evolvable Modular ......Towards Generic Design Patterns for Evolvable Modular Architectures ... • Idea: have components depend on design parameters](https://reader030.vdocuments.mx/reader030/viewer/2022041112/5f1ca3c4d3b441233a7ecc5c/html5/thumbnails/66.jpg)
65
Imagine …
• Houses that could be reconfigured or extended withoutadditional plumbing or electricity works …
• Roads and footpaths that could be moved entirely withoutadditional drilling for sewer or cable networks …
• Software systems that could be maintained and evolvedwithout increasing costs and ripple effects …
• Cars, airplanes, and rockets that could be scaled up anddown to carry more or less passengers or freight …
• …
![Page 67: Towards Generic Design Patterns for Evolvable Modular ......Towards Generic Design Patterns for Evolvable Modular Architectures ... • Idea: have components depend on design parameters](https://reader030.vdocuments.mx/reader030/viewer/2022041112/5f1ca3c4d3b441233a7ecc5c/html5/thumbnails/67.jpg)
66
Imagine …
The sciences of theevolving and growing
artificial
![Page 68: Towards Generic Design Patterns for Evolvable Modular ......Towards Generic Design Patterns for Evolvable Modular Architectures ... • Idea: have components depend on design parameters](https://reader030.vdocuments.mx/reader030/viewer/2022041112/5f1ca3c4d3b441233a7ecc5c/html5/thumbnails/68.jpg)
67
Table of Contents
• Introduction
• Laws of Modularity Combinatorics
• Combinatorics of Aggregation Dimensions
• Conclusions
![Page 69: Towards Generic Design Patterns for Evolvable Modular ......Towards Generic Design Patterns for Evolvable Modular Architectures ... • Idea: have components depend on design parameters](https://reader030.vdocuments.mx/reader030/viewer/2022041112/5f1ca3c4d3b441233a7ecc5c/html5/thumbnails/69.jpg)
68
Conclusions
• We should study more modularity in general,and characteristics of modular patterns
• There is a tendency to introduce modules forflexibility, and to reap the variation gains
• Unleashing variation gains without masteringcoupling, may be very harmful to evolvability
• We should address the multi-dimensionalnature of architectural design problems
• The concept of multi-concern elements maycontribute to growing and evolving artefacts
![Page 70: Towards Generic Design Patterns for Evolvable Modular ......Towards Generic Design Patterns for Evolvable Modular Architectures ... • Idea: have components depend on design parameters](https://reader030.vdocuments.mx/reader030/viewer/2022041112/5f1ca3c4d3b441233a7ecc5c/html5/thumbnails/70.jpg)
69
Questions