SlideShare a Scribd company logo
1 of 44
Download to read offline
LEARNING FROM NATURE
or what biological systems can teach software engineers
Boris Trofimov
Big Data Competence Lead @ Sigma Software
@b0ris_1
AGENDA
• Human body vs software system
• Architectural findings
HUMAN BODY AS A INFORMATION SYSTEM
HUMAN BODY AS A INFORMATION SYSTEM
HUMAN BODY AS A INFORMATION SYSTEM
HUMAN BODY AS A INFORMATION SYSTEM
HUMAN BODY AS A INFORMATION SYSTEM
WHERE IS OUR SOFTWARE?
WHERE IS OUR SOFTWARE?
• Brain is a giant neural network (85B neurons)
• Responsible for peristence and decision making
• There is theorem about equivalence between neural networks and Turing
machines
WHERE IS OUR SOFTWARE?
• Brain is a giant neural network (85B neurons)
• Responsible for peristence and decision making
• There is theorem about equivalence between neural networks and Turing
machines
• Does it mean all human beings are creatures with deterministic behavior?
WHERE IS OUR SOFTWARE?
• Penrose-Lucas argument as a basis of
non-computable behaviour in the brain
• Penrose says – Human mathematicians
are not describable as formal proof
systems and are therefore running a non-
computable algorithm.
• Wave Function collapse was a prime
candidate for a non-computable process.
WHERE IS OUR SOFTWARE CODE?
• DNA is a blueprints, including instructions
to create proteins
• DNA ia sequence of nucleotides
(biological bits)
• 4 major nucleotides A,G, C, T/U
• Codon is 3 sequential nucleotides and is
biological byte
• Max codon cardinality 64 unique values
WHERE IS OUR SOFTWARE CODE?
• DNA consists of genes
• A gene is a variable sequence of DNA that contains
instructions (program) like building protein
• Promoter is a magic hash-sum identifying specific protein’s
program
• Reserved Stop codon to determine the end of program
• Ordinary codon specifies particular amino-acid (able to
code 20 values)
• Sequence of codons defines order of amino-acids in the
protein.
STAGE 1 – EXTRACT PARTICULAR PROGRAM
RNA polymerase knows which protein need to build
RNA polymerase finds corresponding promoter and
starts melting DNA after it
RNA polymerase unravels one fiber which should
be protein program (I-RNA)
At the same time it “fixes” DNA behind
RNA polymerase finalizes the process once met Stop
codon.
STAGE 2 – RUN PROGAM AND BUILD PROTEIN
Ribosome is kind of Turing machine.
Fom left to right Ribosome finds Kozak
consensus sequence and the next Start Codon
Ribosome starts interpreting instructions one by
one and building protein.
Evey instruction (codon) defines amino-acid
delivered by related tRNA.
Once Ribosome finds Stop Codon it finalizes
protein.
Protein is ready to use.
ANALOGY
DNA -> File System
Gen -> Executable application file with bytecode
Transcription -> Reading application file from FS to RAM
Translation -> Executing application file
ARCHITECTURAL LEARNINGS
LEARNINGS LIST
• Inventing Microservices
• Analytical Data Platform
• CAP theorem, What Nature’s choice?
• Message-driven
• Perfect Abstractions
INVENTING MICROSERVICES
Organs are self-sufficient
components with specific
functional concern,
incapsulating
implementation details
INVENTING MICROSERVICES
Every organ has own
Domain Specific
Language, internal
structure, multiple tiers
and plans
INVENTING MICROSERVICES
Every organ has unified
communication patterns
It can send commands and events
INVENTING MICROSERVICES
INVENTING MICROSERVICES – LESSONS
• Introduce functional bounded contexts
• Wrap bounded context into dedicated microservice
• Introduce strong internal organization -- use DDD.
• Emit events about changed state and decouple services.
BIOLOGICAL DATA PLATFORM
• Brain is a central place where historical
data lives and all data come to.
• Spinal cord is responsible for transmitting
nerve signals from motor cortex to the
body and from sensory neurons to
Sensory cortex
• Spinal cord is kind of API façade to
control body periphery and do infra stuff
like amplifying signals.
ANALYTICAL DATA PLATFORM
• Data Platform is that organ which
ingests input events and data,
organizes data and exposes
aggregated dashboards, reports
and data export.
• Isolate ingestion & export into
dedicated subsystem [aka Spinal
cord]
CAP THEOREM, WHAT NATURE’S CHOICE?
CAP THEOREM, WHAT NATURE’S CHOICE?
Availability
• Organs’s HA scale-up examples (kidneys, lungs etc.)
• Latency limitations on oxygen and blood delivery to brain and other subsystems.
• If constraint is partially met, human is slow but available.
• Strong feedback system driven by monitoring (sensors, glands etc.)
Partition Tolerance
• Possible to live with certain organ/peripheral disabilities
• Every cell has copy of DNA and cell regeneration is autonomous
Consistency
• DNA copies might be corrupted and cause uncontrollable degeneration
processes (cancer etc.)
• Eventual consistency nature of signals that can be corrupted or lost
• Inconsistency examples, e.g. VR affects hippocampus (brain’s GPS)
• Biological systems prefer eventual consistency
CAP THEOREM, WHAT NATURE’S CHOICE?
Availability
• Organs’s HA scale-up examples (kidneys, lungs etc.)
• Latency limitations on oxygen and blood delivery to brain and other subsystems.
• If constraint is partially met, human is slow but available.
• Strong feedback system driven by monitoring (sensors, glands etc.)
Partition Tolerance
• Possible to live with certain organ/peripheral disabilities
• Every cell has copy of DNA and cell regeneration is autonomous
Consistency
• DNA copies might be corrupted and cause uncontrollable degeneration
processes (cancer etc.)
• Eventual consistency nature of signals that can be corrupted or lost
• Inconsistency examples, e.g. VR affects hippocampus (brain’s GPS)
• Biological systems prefer eventual consistency
CAP THEOREM, WHAT NATURE’S CHOICE?
Availability
• Organs’s HA scale-up examples (kidneys, lungs etc.)
• Latency limitations on oxygen and blood delivery to brain and other subsystems.
• If constraint is partially met, human is slow but available.
• Strong feedback system driven by monitoring (sensors, glands etc.)
Partition Tolerance
• Possible to live with certain organ/peripheral disabilities
• Every cell has copy of DNA and cell regeneration is autonomous
Consistency
• DNA copies might be corrupted and cause uncontrollable degeneration
processes (cancer etc.)
• Eventual consistency nature of signals that can be corrupted or lost
• Inconsistency examples, e.g. VR affects hippocampus (brain’s GPS)
• Biological systems prefer eventual consistency
CAP THEOREM, WHAT NATURE’S CHOICE?
Availability
• Organs’s HA scale-up examples (kidneys, lungs etc.)
• Latency limitations on oxygen and blood delivery to brain and other subsystems.
• If constraint is partially met, human is slow but available.
• Strong feedback system driven by monitoring (sensors, glands etc.)
Partition Tolerance
• Possible to live with certain organ/peripheral disabilities
• Every cell has copy of DNA and cell regeneration is autonomous
Consistency
• DNA copies might be corrupted and cause uncontrollable degeneration
processes (cancer etc.)
• Eventual consistency nature of signals that can be corrupted or lost
• Inconsistency examples, e.g. VR affects hippocampus (brain’s GPS)
• Biological systems prefer eventual consistency
MESSAGE DRIVEN
Neural system Circulatory system Lymphatic system
MESSAGE DRIVEN
Circulatory system
• Circulatory delivers oxygen, amino-acids, simple carbohydrates and
hormones
• Hormones are broadcast commands from glands (sensors), example
– adrenalin to narrow blood vessels
• Circulatory has own pump – heart
• Heart is designed to handle еtwo circles small and big ones one by
one
• High throughput – 5-25 liters/min, with data latency (round trip) –
5s + 25s
• Total length of all blood vessels 100 000 km
MESSAGE DRIVEN
Neural system
• Services to deliver commands to organs or convert to other
commands (glands to generate specific hormones) and
consume events
• High SLA and high throughput and low latency
• Implements Queue interface
• Brain has incoming 2.6M individual neuron fibers and has 140K
outgoing neuron fibers
• Most controlled organ – eye, 2M incoming fibers to consume
eye data, half of outgoing neuron fibers control eyes
• length of all neurons – 75km
MESSAGE DRIVEN
Lymphatic system
• Services as a “Canalization”
• Does not have own pulp (relies on side
muscle contractions *)
• Now SLA, low priority and low-throughput
MESSAGE DRIVEN – LESSONS
• Think about designing solutions to be fully message driven
• Backpressure-enabled by design
• Separate commands and events
• Introduce priorities and SLA to certain message types
• Nature proves it is extensible and scalable J
PERFECT ABSTRACTIONS
• Perfectly designed tiers with no
abstraction leaks
• Every tier has own well
minimalistic DSL able to build
upstream things
• Nature proves that systems can
be designed in that way
• Software Engineers know several
“not-bad” examples
Human Body
Organs & systems
Cells
Molecules
Quantum
ABSTRACTIONTIERS
WEB SERVICE – WEAK DESIGN
• No SOLID respected
• No criteria to detect if
method truly belongs
to class
• Plain structure
Controller A
Controllers
Application Sevices
Entities
Domain
Application Service
A
Repositories
Repositories
DAL
Controllers
DAO
Controller B
Application Service
B
Application Service
C
interface UserRepository {
List<User> getAllUsers();
List<User> getUsersByStatusEnabled();
List<User> getUsersByType(UserType userType);
User getUser(Id userId);
List<Role> getUserRoles(Id userId);
...
}
WEB SERVICE – WEAK DSL
DSL-DRIVEN DEVELOPMENT
• Introduce horizontal tiers (levels of
abstractions) and vertical slices (stories)
• Address API of every abstraction tier as a
custom DSL
• For every tier’s slice determine story and
write it in downstream DSL
• Scalable DSL means minimalistic grammar
and story size over time
• DDD again!
• The same principles applied on top of
microservices level and even higher
Controllers
Application Sevices
Entities
Domain
Controller A Controller B
Command
Handler A
Command
Handler B
Command
Handler C
Repositories
Entities Repositories
Entities Repositories
Entities Repositories
Bounded sub-context [Aggregate API] Bounded sub-context [Aggregate API]
events
SUMMARY
• Look around and learn from nature
• Not just human body – whole nature has
beautiful and sophisticated design polished
with million years of evolution
THANK YOU

More Related Content

Similar to Boris Trofimov "Learning from Nature or what biological systems can teach software engineers"

High Throughput Sequencing Technologies: On the path to the $0* genome
High Throughput Sequencing Technologies: On the path to the $0* genomeHigh Throughput Sequencing Technologies: On the path to the $0* genome
High Throughput Sequencing Technologies: On the path to the $0* genomeBrian Krueger
 
proteomic and Genomics and the available proteomic technologies and the data ...
proteomic and Genomics and the available proteomic technologies and the data ...proteomic and Genomics and the available proteomic technologies and the data ...
proteomic and Genomics and the available proteomic technologies and the data ...SamiMohamed28
 
Ewan Birney Biocuration 2013
Ewan Birney Biocuration 2013Ewan Birney Biocuration 2013
Ewan Birney Biocuration 2013Iddo
 
Genomics: Organization of Genome, Strategies of Genome Sequencing, Model Plan...
Genomics: Organization of Genome, Strategies of Genome Sequencing, Model Plan...Genomics: Organization of Genome, Strategies of Genome Sequencing, Model Plan...
Genomics: Organization of Genome, Strategies of Genome Sequencing, Model Plan...Promila Sheoran
 
Next Generation Sequencing - An Overview
Next Generation Sequencing - An OverviewNext Generation Sequencing - An Overview
Next Generation Sequencing - An OverviewEdizonJambormias2
 
Next generation sequencing methods
Next generation sequencing methods Next generation sequencing methods
Next generation sequencing methods Mrinal Vashisth
 
Biorobotics 140203232936-phpapp01
Biorobotics 140203232936-phpapp01Biorobotics 140203232936-phpapp01
Biorobotics 140203232936-phpapp01UsamaIqbal37
 
SF Big Analytics20170706: What the brain tells us about the future of streami...
SF Big Analytics20170706: What the brain tells us about the future of streami...SF Big Analytics20170706: What the brain tells us about the future of streami...
SF Big Analytics20170706: What the brain tells us about the future of streami...Chester Chen
 
Anatomy and Physiology RNA and Proteins
Anatomy and Physiology RNA and ProteinsAnatomy and Physiology RNA and Proteins
Anatomy and Physiology RNA and Proteinsmrhunterspage
 
Genomics_final.pptx
Genomics_final.pptxGenomics_final.pptx
Genomics_final.pptxSilpa87
 
intro-molecular-biology.ppt
intro-molecular-biology.pptintro-molecular-biology.ppt
intro-molecular-biology.pptmuhammedsayfadin
 
Synthetic Biology and Data-Driven Synthetic Biology for Personalized Medicine...
Synthetic Biology and Data-Driven Synthetic Biology for Personalized Medicine...Synthetic Biology and Data-Driven Synthetic Biology for Personalized Medicine...
Synthetic Biology and Data-Driven Synthetic Biology for Personalized Medicine...RussellHanson
 

Similar to Boris Trofimov "Learning from Nature or what biological systems can teach software engineers" (20)

High Throughput Sequencing Technologies: On the path to the $0* genome
High Throughput Sequencing Technologies: On the path to the $0* genomeHigh Throughput Sequencing Technologies: On the path to the $0* genome
High Throughput Sequencing Technologies: On the path to the $0* genome
 
proteomic and Genomics and the available proteomic technologies and the data ...
proteomic and Genomics and the available proteomic technologies and the data ...proteomic and Genomics and the available proteomic technologies and the data ...
proteomic and Genomics and the available proteomic technologies and the data ...
 
Lecture 4.ppt
Lecture 4.pptLecture 4.ppt
Lecture 4.ppt
 
Ewan Birney Biocuration 2013
Ewan Birney Biocuration 2013Ewan Birney Biocuration 2013
Ewan Birney Biocuration 2013
 
ngs.pptx
ngs.pptxngs.pptx
ngs.pptx
 
The nervoussystem
The nervoussystemThe nervoussystem
The nervoussystem
 
Genomics: Organization of Genome, Strategies of Genome Sequencing, Model Plan...
Genomics: Organization of Genome, Strategies of Genome Sequencing, Model Plan...Genomics: Organization of Genome, Strategies of Genome Sequencing, Model Plan...
Genomics: Organization of Genome, Strategies of Genome Sequencing, Model Plan...
 
Next Generation Sequencing - An Overview
Next Generation Sequencing - An OverviewNext Generation Sequencing - An Overview
Next Generation Sequencing - An Overview
 
Next generation sequencing methods
Next generation sequencing methods Next generation sequencing methods
Next generation sequencing methods
 
Amorphous Computing (Computación Amorfa)
Amorphous Computing (Computación Amorfa)Amorphous Computing (Computación Amorfa)
Amorphous Computing (Computación Amorfa)
 
Microbial physiology in genomic era
Microbial physiology in genomic eraMicrobial physiology in genomic era
Microbial physiology in genomic era
 
Biorobotics 140203232936-phpapp01
Biorobotics 140203232936-phpapp01Biorobotics 140203232936-phpapp01
Biorobotics 140203232936-phpapp01
 
SF Big Analytics20170706: What the brain tells us about the future of streami...
SF Big Analytics20170706: What the brain tells us about the future of streami...SF Big Analytics20170706: What the brain tells us about the future of streami...
SF Big Analytics20170706: What the brain tells us about the future of streami...
 
Bio Robotics
Bio RoboticsBio Robotics
Bio Robotics
 
Anatomy and Physiology RNA and Proteins
Anatomy and Physiology RNA and ProteinsAnatomy and Physiology RNA and Proteins
Anatomy and Physiology RNA and Proteins
 
Genomics_final.pptx
Genomics_final.pptxGenomics_final.pptx
Genomics_final.pptx
 
intro-molecular-biology.ppt
intro-molecular-biology.pptintro-molecular-biology.ppt
intro-molecular-biology.ppt
 
Synthetic Biology and Data-Driven Synthetic Biology for Personalized Medicine...
Synthetic Biology and Data-Driven Synthetic Biology for Personalized Medicine...Synthetic Biology and Data-Driven Synthetic Biology for Personalized Medicine...
Synthetic Biology and Data-Driven Synthetic Biology for Personalized Medicine...
 
2014 bangkok-talk
2014 bangkok-talk2014 bangkok-talk
2014 bangkok-talk
 
E-Rare project “RNA-ALS”
E-Rare project “RNA-ALS”E-Rare project “RNA-ALS”
E-Rare project “RNA-ALS”
 

More from Sigma Software

Fast is Best. Using .NET MinimalAPIs
Fast is Best. Using .NET MinimalAPIsFast is Best. Using .NET MinimalAPIs
Fast is Best. Using .NET MinimalAPIsSigma Software
 
"Are you developing or declining? Don't become an IT-dinosaur"
"Are you developing or declining? Don't become an IT-dinosaur""Are you developing or declining? Don't become an IT-dinosaur"
"Are you developing or declining? Don't become an IT-dinosaur"Sigma Software
 
Michael Smolin, "Decrypting customer's cultural code"
Michael Smolin, "Decrypting customer's cultural code"Michael Smolin, "Decrypting customer's cultural code"
Michael Smolin, "Decrypting customer's cultural code"Sigma Software
 
Max Kunytsia, “Why is continuous product discovery better than continuous del...
Max Kunytsia, “Why is continuous product discovery better than continuous del...Max Kunytsia, “Why is continuous product discovery better than continuous del...
Max Kunytsia, “Why is continuous product discovery better than continuous del...Sigma Software
 
Marcelino Moreno, "Product Management Mindset"
Marcelino Moreno, "Product Management Mindset"Marcelino Moreno, "Product Management Mindset"
Marcelino Moreno, "Product Management Mindset"Sigma Software
 
Andrii Pastushok, "Product Discovery in Outsourcing - What, When, and How"
Andrii Pastushok, "Product Discovery in Outsourcing - What, When, and How"Andrii Pastushok, "Product Discovery in Outsourcing - What, When, and How"
Andrii Pastushok, "Product Discovery in Outsourcing - What, When, and How"Sigma Software
 
Elena Turkenych “BA vs PM: Who' the right person, for the right job, with the...
Elena Turkenych “BA vs PM: Who' the right person, for the right job, with the...Elena Turkenych “BA vs PM: Who' the right person, for the right job, with the...
Elena Turkenych “BA vs PM: Who' the right person, for the right job, with the...Sigma Software
 
Eleonora Budanova “BA+PM+DEV team: how to build the synergy”
Eleonora Budanova “BA+PM+DEV team: how to build the synergy”Eleonora Budanova “BA+PM+DEV team: how to build the synergy”
Eleonora Budanova “BA+PM+DEV team: how to build the synergy”Sigma Software
 
Stoyan Atanasov “How crucial is the BA role in an IT Project"
Stoyan Atanasov “How crucial is the BA role in an IT Project"Stoyan Atanasov “How crucial is the BA role in an IT Project"
Stoyan Atanasov “How crucial is the BA role in an IT Project"Sigma Software
 
Olexandra Kovalyova, "Equivalence Partitioning, Boundary Values ​​Analysis, C...
Olexandra Kovalyova, "Equivalence Partitioning, Boundary Values ​​Analysis, C...Olexandra Kovalyova, "Equivalence Partitioning, Boundary Values ​​Analysis, C...
Olexandra Kovalyova, "Equivalence Partitioning, Boundary Values ​​Analysis, C...Sigma Software
 
Yana Lysa — "Decision Tables, State-Transition testing, Pairwase Testing"
Yana Lysa — "Decision Tables, State-Transition testing, Pairwase Testing"Yana Lysa — "Decision Tables, State-Transition testing, Pairwase Testing"
Yana Lysa — "Decision Tables, State-Transition testing, Pairwase Testing"Sigma Software
 
Business digitalization trends and challenges
Business digitalization trends and challengesBusiness digitalization trends and challenges
Business digitalization trends and challengesSigma Software
 
Дмитро Терещенко, "How to secure your application with Secure SDLC"
Дмитро Терещенко, "How to secure your application with Secure SDLC"Дмитро Терещенко, "How to secure your application with Secure SDLC"
Дмитро Терещенко, "How to secure your application with Secure SDLC"Sigma Software
 
Яна Лиса, “Ефективні методи написання хороших мануальних тестових сценаріїв”
Яна Лиса, “Ефективні методи написання хороших мануальних тестових сценаріїв”Яна Лиса, “Ефективні методи написання хороших мануальних тестових сценаріїв”
Яна Лиса, “Ефективні методи написання хороших мануальних тестових сценаріїв”Sigma Software
 
Тетяна Осетрова, “Модель зрілості розподіленної проектної команди”
Тетяна Осетрова, “Модель зрілості розподіленної проектної команди”Тетяна Осетрова, “Модель зрілості розподіленної проектної команди”
Тетяна Осетрова, “Модель зрілості розподіленної проектної команди”Sigma Software
 
Training solutions and content creation
Training solutions and content creationTraining solutions and content creation
Training solutions and content creationSigma Software
 
False news - false truth: tips & tricks how to avoid them
False news - false truth: tips & tricks how to avoid themFalse news - false truth: tips & tricks how to avoid them
False news - false truth: tips & tricks how to avoid themSigma Software
 
Анна Бойко, "Хороший контракт vs очікування клієнтів. Що вбереже вас, якщо вд...
Анна Бойко, "Хороший контракт vs очікування клієнтів. Що вбереже вас, якщо вд...Анна Бойко, "Хороший контракт vs очікування клієнтів. Що вбереже вас, якщо вд...
Анна Бойко, "Хороший контракт vs очікування клієнтів. Що вбереже вас, якщо вд...Sigma Software
 
Дмитрий Лапшин, "The importance of TEX and Internal Quality. How explain and ...
Дмитрий Лапшин, "The importance of TEX and Internal Quality. How explain and ...Дмитрий Лапшин, "The importance of TEX and Internal Quality. How explain and ...
Дмитрий Лапшин, "The importance of TEX and Internal Quality. How explain and ...Sigma Software
 

More from Sigma Software (20)

Fast is Best. Using .NET MinimalAPIs
Fast is Best. Using .NET MinimalAPIsFast is Best. Using .NET MinimalAPIs
Fast is Best. Using .NET MinimalAPIs
 
"Are you developing or declining? Don't become an IT-dinosaur"
"Are you developing or declining? Don't become an IT-dinosaur""Are you developing or declining? Don't become an IT-dinosaur"
"Are you developing or declining? Don't become an IT-dinosaur"
 
Michael Smolin, "Decrypting customer's cultural code"
Michael Smolin, "Decrypting customer's cultural code"Michael Smolin, "Decrypting customer's cultural code"
Michael Smolin, "Decrypting customer's cultural code"
 
Max Kunytsia, “Why is continuous product discovery better than continuous del...
Max Kunytsia, “Why is continuous product discovery better than continuous del...Max Kunytsia, “Why is continuous product discovery better than continuous del...
Max Kunytsia, “Why is continuous product discovery better than continuous del...
 
Marcelino Moreno, "Product Management Mindset"
Marcelino Moreno, "Product Management Mindset"Marcelino Moreno, "Product Management Mindset"
Marcelino Moreno, "Product Management Mindset"
 
Andrii Pastushok, "Product Discovery in Outsourcing - What, When, and How"
Andrii Pastushok, "Product Discovery in Outsourcing - What, When, and How"Andrii Pastushok, "Product Discovery in Outsourcing - What, When, and How"
Andrii Pastushok, "Product Discovery in Outsourcing - What, When, and How"
 
Elena Turkenych “BA vs PM: Who' the right person, for the right job, with the...
Elena Turkenych “BA vs PM: Who' the right person, for the right job, with the...Elena Turkenych “BA vs PM: Who' the right person, for the right job, with the...
Elena Turkenych “BA vs PM: Who' the right person, for the right job, with the...
 
Eleonora Budanova “BA+PM+DEV team: how to build the synergy”
Eleonora Budanova “BA+PM+DEV team: how to build the synergy”Eleonora Budanova “BA+PM+DEV team: how to build the synergy”
Eleonora Budanova “BA+PM+DEV team: how to build the synergy”
 
Stoyan Atanasov “How crucial is the BA role in an IT Project"
Stoyan Atanasov “How crucial is the BA role in an IT Project"Stoyan Atanasov “How crucial is the BA role in an IT Project"
Stoyan Atanasov “How crucial is the BA role in an IT Project"
 
Olexandra Kovalyova, "Equivalence Partitioning, Boundary Values ​​Analysis, C...
Olexandra Kovalyova, "Equivalence Partitioning, Boundary Values ​​Analysis, C...Olexandra Kovalyova, "Equivalence Partitioning, Boundary Values ​​Analysis, C...
Olexandra Kovalyova, "Equivalence Partitioning, Boundary Values ​​Analysis, C...
 
Yana Lysa — "Decision Tables, State-Transition testing, Pairwase Testing"
Yana Lysa — "Decision Tables, State-Transition testing, Pairwase Testing"Yana Lysa — "Decision Tables, State-Transition testing, Pairwase Testing"
Yana Lysa — "Decision Tables, State-Transition testing, Pairwase Testing"
 
VOLVO x HACK SPRINT
VOLVO x HACK SPRINTVOLVO x HACK SPRINT
VOLVO x HACK SPRINT
 
Business digitalization trends and challenges
Business digitalization trends and challengesBusiness digitalization trends and challenges
Business digitalization trends and challenges
 
Дмитро Терещенко, "How to secure your application with Secure SDLC"
Дмитро Терещенко, "How to secure your application with Secure SDLC"Дмитро Терещенко, "How to secure your application with Secure SDLC"
Дмитро Терещенко, "How to secure your application with Secure SDLC"
 
Яна Лиса, “Ефективні методи написання хороших мануальних тестових сценаріїв”
Яна Лиса, “Ефективні методи написання хороших мануальних тестових сценаріїв”Яна Лиса, “Ефективні методи написання хороших мануальних тестових сценаріїв”
Яна Лиса, “Ефективні методи написання хороших мануальних тестових сценаріїв”
 
Тетяна Осетрова, “Модель зрілості розподіленної проектної команди”
Тетяна Осетрова, “Модель зрілості розподіленної проектної команди”Тетяна Осетрова, “Модель зрілості розподіленної проектної команди”
Тетяна Осетрова, “Модель зрілості розподіленної проектної команди”
 
Training solutions and content creation
Training solutions and content creationTraining solutions and content creation
Training solutions and content creation
 
False news - false truth: tips & tricks how to avoid them
False news - false truth: tips & tricks how to avoid themFalse news - false truth: tips & tricks how to avoid them
False news - false truth: tips & tricks how to avoid them
 
Анна Бойко, "Хороший контракт vs очікування клієнтів. Що вбереже вас, якщо вд...
Анна Бойко, "Хороший контракт vs очікування клієнтів. Що вбереже вас, якщо вд...Анна Бойко, "Хороший контракт vs очікування клієнтів. Що вбереже вас, якщо вд...
Анна Бойко, "Хороший контракт vs очікування клієнтів. Що вбереже вас, якщо вд...
 
Дмитрий Лапшин, "The importance of TEX and Internal Quality. How explain and ...
Дмитрий Лапшин, "The importance of TEX and Internal Quality. How explain and ...Дмитрий Лапшин, "The importance of TEX and Internal Quality. How explain and ...
Дмитрий Лапшин, "The importance of TEX and Internal Quality. How explain and ...
 

Recently uploaded

The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 

Recently uploaded (20)

The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 

Boris Trofimov "Learning from Nature or what biological systems can teach software engineers"

  • 1.
  • 2. LEARNING FROM NATURE or what biological systems can teach software engineers Boris Trofimov Big Data Competence Lead @ Sigma Software @b0ris_1
  • 3. AGENDA • Human body vs software system • Architectural findings
  • 4.
  • 5. HUMAN BODY AS A INFORMATION SYSTEM
  • 6. HUMAN BODY AS A INFORMATION SYSTEM
  • 7. HUMAN BODY AS A INFORMATION SYSTEM
  • 8. HUMAN BODY AS A INFORMATION SYSTEM
  • 9. HUMAN BODY AS A INFORMATION SYSTEM
  • 10. WHERE IS OUR SOFTWARE?
  • 11. WHERE IS OUR SOFTWARE? • Brain is a giant neural network (85B neurons) • Responsible for peristence and decision making • There is theorem about equivalence between neural networks and Turing machines
  • 12. WHERE IS OUR SOFTWARE? • Brain is a giant neural network (85B neurons) • Responsible for peristence and decision making • There is theorem about equivalence between neural networks and Turing machines • Does it mean all human beings are creatures with deterministic behavior?
  • 13. WHERE IS OUR SOFTWARE? • Penrose-Lucas argument as a basis of non-computable behaviour in the brain • Penrose says – Human mathematicians are not describable as formal proof systems and are therefore running a non- computable algorithm. • Wave Function collapse was a prime candidate for a non-computable process.
  • 14. WHERE IS OUR SOFTWARE CODE? • DNA is a blueprints, including instructions to create proteins • DNA ia sequence of nucleotides (biological bits) • 4 major nucleotides A,G, C, T/U • Codon is 3 sequential nucleotides and is biological byte • Max codon cardinality 64 unique values
  • 15. WHERE IS OUR SOFTWARE CODE? • DNA consists of genes • A gene is a variable sequence of DNA that contains instructions (program) like building protein • Promoter is a magic hash-sum identifying specific protein’s program • Reserved Stop codon to determine the end of program • Ordinary codon specifies particular amino-acid (able to code 20 values) • Sequence of codons defines order of amino-acids in the protein.
  • 16. STAGE 1 – EXTRACT PARTICULAR PROGRAM RNA polymerase knows which protein need to build RNA polymerase finds corresponding promoter and starts melting DNA after it RNA polymerase unravels one fiber which should be protein program (I-RNA) At the same time it “fixes” DNA behind RNA polymerase finalizes the process once met Stop codon.
  • 17. STAGE 2 – RUN PROGAM AND BUILD PROTEIN Ribosome is kind of Turing machine. Fom left to right Ribosome finds Kozak consensus sequence and the next Start Codon Ribosome starts interpreting instructions one by one and building protein. Evey instruction (codon) defines amino-acid delivered by related tRNA. Once Ribosome finds Stop Codon it finalizes protein. Protein is ready to use.
  • 18. ANALOGY DNA -> File System Gen -> Executable application file with bytecode Transcription -> Reading application file from FS to RAM Translation -> Executing application file
  • 20. LEARNINGS LIST • Inventing Microservices • Analytical Data Platform • CAP theorem, What Nature’s choice? • Message-driven • Perfect Abstractions
  • 21. INVENTING MICROSERVICES Organs are self-sufficient components with specific functional concern, incapsulating implementation details
  • 22. INVENTING MICROSERVICES Every organ has own Domain Specific Language, internal structure, multiple tiers and plans
  • 23. INVENTING MICROSERVICES Every organ has unified communication patterns It can send commands and events
  • 25. INVENTING MICROSERVICES – LESSONS • Introduce functional bounded contexts • Wrap bounded context into dedicated microservice • Introduce strong internal organization -- use DDD. • Emit events about changed state and decouple services.
  • 26. BIOLOGICAL DATA PLATFORM • Brain is a central place where historical data lives and all data come to. • Spinal cord is responsible for transmitting nerve signals from motor cortex to the body and from sensory neurons to Sensory cortex • Spinal cord is kind of API façade to control body periphery and do infra stuff like amplifying signals.
  • 27. ANALYTICAL DATA PLATFORM • Data Platform is that organ which ingests input events and data, organizes data and exposes aggregated dashboards, reports and data export. • Isolate ingestion & export into dedicated subsystem [aka Spinal cord]
  • 28. CAP THEOREM, WHAT NATURE’S CHOICE?
  • 29. CAP THEOREM, WHAT NATURE’S CHOICE? Availability • Organs’s HA scale-up examples (kidneys, lungs etc.) • Latency limitations on oxygen and blood delivery to brain and other subsystems. • If constraint is partially met, human is slow but available. • Strong feedback system driven by monitoring (sensors, glands etc.) Partition Tolerance • Possible to live with certain organ/peripheral disabilities • Every cell has copy of DNA and cell regeneration is autonomous Consistency • DNA copies might be corrupted and cause uncontrollable degeneration processes (cancer etc.) • Eventual consistency nature of signals that can be corrupted or lost • Inconsistency examples, e.g. VR affects hippocampus (brain’s GPS) • Biological systems prefer eventual consistency
  • 30. CAP THEOREM, WHAT NATURE’S CHOICE? Availability • Organs’s HA scale-up examples (kidneys, lungs etc.) • Latency limitations on oxygen and blood delivery to brain and other subsystems. • If constraint is partially met, human is slow but available. • Strong feedback system driven by monitoring (sensors, glands etc.) Partition Tolerance • Possible to live with certain organ/peripheral disabilities • Every cell has copy of DNA and cell regeneration is autonomous Consistency • DNA copies might be corrupted and cause uncontrollable degeneration processes (cancer etc.) • Eventual consistency nature of signals that can be corrupted or lost • Inconsistency examples, e.g. VR affects hippocampus (brain’s GPS) • Biological systems prefer eventual consistency
  • 31. CAP THEOREM, WHAT NATURE’S CHOICE? Availability • Organs’s HA scale-up examples (kidneys, lungs etc.) • Latency limitations on oxygen and blood delivery to brain and other subsystems. • If constraint is partially met, human is slow but available. • Strong feedback system driven by monitoring (sensors, glands etc.) Partition Tolerance • Possible to live with certain organ/peripheral disabilities • Every cell has copy of DNA and cell regeneration is autonomous Consistency • DNA copies might be corrupted and cause uncontrollable degeneration processes (cancer etc.) • Eventual consistency nature of signals that can be corrupted or lost • Inconsistency examples, e.g. VR affects hippocampus (brain’s GPS) • Biological systems prefer eventual consistency
  • 32. CAP THEOREM, WHAT NATURE’S CHOICE? Availability • Organs’s HA scale-up examples (kidneys, lungs etc.) • Latency limitations on oxygen and blood delivery to brain and other subsystems. • If constraint is partially met, human is slow but available. • Strong feedback system driven by monitoring (sensors, glands etc.) Partition Tolerance • Possible to live with certain organ/peripheral disabilities • Every cell has copy of DNA and cell regeneration is autonomous Consistency • DNA copies might be corrupted and cause uncontrollable degeneration processes (cancer etc.) • Eventual consistency nature of signals that can be corrupted or lost • Inconsistency examples, e.g. VR affects hippocampus (brain’s GPS) • Biological systems prefer eventual consistency
  • 33. MESSAGE DRIVEN Neural system Circulatory system Lymphatic system
  • 34. MESSAGE DRIVEN Circulatory system • Circulatory delivers oxygen, amino-acids, simple carbohydrates and hormones • Hormones are broadcast commands from glands (sensors), example – adrenalin to narrow blood vessels • Circulatory has own pump – heart • Heart is designed to handle еtwo circles small and big ones one by one • High throughput – 5-25 liters/min, with data latency (round trip) – 5s + 25s • Total length of all blood vessels 100 000 km
  • 35. MESSAGE DRIVEN Neural system • Services to deliver commands to organs or convert to other commands (glands to generate specific hormones) and consume events • High SLA and high throughput and low latency • Implements Queue interface • Brain has incoming 2.6M individual neuron fibers and has 140K outgoing neuron fibers • Most controlled organ – eye, 2M incoming fibers to consume eye data, half of outgoing neuron fibers control eyes • length of all neurons – 75km
  • 36. MESSAGE DRIVEN Lymphatic system • Services as a “Canalization” • Does not have own pulp (relies on side muscle contractions *) • Now SLA, low priority and low-throughput
  • 37. MESSAGE DRIVEN – LESSONS • Think about designing solutions to be fully message driven • Backpressure-enabled by design • Separate commands and events • Introduce priorities and SLA to certain message types • Nature proves it is extensible and scalable J
  • 39. • Perfectly designed tiers with no abstraction leaks • Every tier has own well minimalistic DSL able to build upstream things • Nature proves that systems can be designed in that way • Software Engineers know several “not-bad” examples Human Body Organs & systems Cells Molecules Quantum ABSTRACTIONTIERS
  • 40. WEB SERVICE – WEAK DESIGN • No SOLID respected • No criteria to detect if method truly belongs to class • Plain structure Controller A Controllers Application Sevices Entities Domain Application Service A Repositories Repositories DAL Controllers DAO Controller B Application Service B Application Service C
  • 41. interface UserRepository { List<User> getAllUsers(); List<User> getUsersByStatusEnabled(); List<User> getUsersByType(UserType userType); User getUser(Id userId); List<Role> getUserRoles(Id userId); ... } WEB SERVICE – WEAK DSL
  • 42. DSL-DRIVEN DEVELOPMENT • Introduce horizontal tiers (levels of abstractions) and vertical slices (stories) • Address API of every abstraction tier as a custom DSL • For every tier’s slice determine story and write it in downstream DSL • Scalable DSL means minimalistic grammar and story size over time • DDD again! • The same principles applied on top of microservices level and even higher Controllers Application Sevices Entities Domain Controller A Controller B Command Handler A Command Handler B Command Handler C Repositories Entities Repositories Entities Repositories Entities Repositories Bounded sub-context [Aggregate API] Bounded sub-context [Aggregate API] events
  • 43. SUMMARY • Look around and learn from nature • Not just human body – whole nature has beautiful and sophisticated design polished with million years of evolution