SlideShare ist ein Scribd-Unternehmen logo
1 von 11
Installation plan
Tomas Drencak
The problem
● Create installation plan for customer
requesting Cable TV with Internet
● Order contains:
– Technology (optic, regular)
– TV/Internet/Phone
– Address
– Etc...
The solution
● Backward composition of directed acyclic
graph
● Root node is customer order
● Each other node is installation instruction
● Edge means that parent can't be executed
before child
Example #1
Order
DSL
entry point
Configure
DSL modem
Wire
Segment 1
Wire
Segment 2
Composition
● Backward composition
● Each node is of certain type and can connect
to only certain nodes
● Nodes types are stored in DB
● Evaluate which nodes can connect to the node
● Node instances are instantiated from node
types in runtime
Example #2
● Algorithm:
Incomplete = [order_node]
While not incomplete.is_empty():
for node in incomplete:
node_types = db.find_suitable_node_types(node)
For child_type in node_types:
If child_type.can_expand(node):
child_node = child_type.expand(node)
Incomplete.add(child_node)
If node.is_complete():
Incomplete.remove(node)
Database
parent_type type Condition
Order DslEntryPoint Parent.technology == 'DSL'
DslEntryPoint OpticFibre parent.technology == 'DSL' &&
parent.order.medium = 'optic'
DslEntryPoint Modem
Configuration
Parent.technology == 'DSL' &&
Exists('OpticFibre', 'EntryPoint')
Example of node
class DslEntryPoint:
def can_expand(node):
return evaluate(this.condition, parent=node)
def expand(parent):
child = new DslEntryPoint(parent.address)
parent.add_child(child)
return child
Graph prunning
Summary
● Backward graph composition
● Graph prunning (inverse)
● Condition evaluation
● Polymorphism/interfaces
Thank you!
Any questions?

Weitere ähnliche Inhalte

Ähnlich wie Installation plan

Navodaya R Experience resume
Navodaya R Experience resumeNavodaya R Experience resume
Navodaya R Experience resume
Navodaya R
 
E. Saif Ababseh CV
E. Saif Ababseh CVE. Saif Ababseh CV
E. Saif Ababseh CV
Ababseh Saif
 
digital camera image capturing technique
digital camera image capturing techniquedigital camera image capturing technique
digital camera image capturing technique
Sindhu Mani
 
Intro to GPGPU Programming with Cuda
Intro to GPGPU Programming with CudaIntro to GPGPU Programming with Cuda
Intro to GPGPU Programming with Cuda
Rob Gillen
 
Resume_8years-Exp_Embedded
Resume_8years-Exp_EmbeddedResume_8years-Exp_Embedded
Resume_8years-Exp_Embedded
Vijayraj Hada
 
Nada_CV_no_table_boarder
Nada_CV_no_table_boarderNada_CV_no_table_boarder
Nada_CV_no_table_boarder
nada abdellatif
 

Ähnlich wie Installation plan (20)

Basic Understanding about TCP/IP Addressing system
Basic Understanding about TCP/IP Addressing systemBasic Understanding about TCP/IP Addressing system
Basic Understanding about TCP/IP Addressing system
 
Introduction to om ne t++
Introduction to om ne t++Introduction to om ne t++
Introduction to om ne t++
 
Overview
OverviewOverview
Overview
 
Navodaya R Experience resume
Navodaya R Experience resumeNavodaya R Experience resume
Navodaya R Experience resume
 
Networking in Telecommunication (signalling, tcp, ucp, ss7, sctp, sigtran)
Networking in Telecommunication (signalling, tcp, ucp, ss7, sctp, sigtran)Networking in Telecommunication (signalling, tcp, ucp, ss7, sctp, sigtran)
Networking in Telecommunication (signalling, tcp, ucp, ss7, sctp, sigtran)
 
How to Store and Visualize CAN Bus Telematic Data with InfluxDB Cloud and Gra...
How to Store and Visualize CAN Bus Telematic Data with InfluxDB Cloud and Gra...How to Store and Visualize CAN Bus Telematic Data with InfluxDB Cloud and Gra...
How to Store and Visualize CAN Bus Telematic Data with InfluxDB Cloud and Gra...
 
Informix Expedition Through Connectivity
Informix Expedition Through ConnectivityInformix Expedition Through Connectivity
Informix Expedition Through Connectivity
 
CISSP Week 7
CISSP Week 7CISSP Week 7
CISSP Week 7
 
Resume_new1_may
Resume_new1_mayResume_new1_may
Resume_new1_may
 
E. Saif Ababseh CV
E. Saif Ababseh CVE. Saif Ababseh CV
E. Saif Ababseh CV
 
technical report presents a comprehensive study. .pptx
technical report presents a comprehensive study. .pptxtechnical report presents a comprehensive study. .pptx
technical report presents a comprehensive study. .pptx
 
What's Inside Cloudflare Mobile SDK
What's Inside Cloudflare Mobile SDKWhat's Inside Cloudflare Mobile SDK
What's Inside Cloudflare Mobile SDK
 
digital camera image capturing technique
digital camera image capturing techniquedigital camera image capturing technique
digital camera image capturing technique
 
Intro to GPGPU Programming with Cuda
Intro to GPGPU Programming with CudaIntro to GPGPU Programming with Cuda
Intro to GPGPU Programming with Cuda
 
Presentation Cable Project Cad Adc
Presentation Cable Project Cad AdcPresentation Cable Project Cad Adc
Presentation Cable Project Cad Adc
 
Resume_8years-Exp_Embedded
Resume_8years-Exp_EmbeddedResume_8years-Exp_Embedded
Resume_8years-Exp_Embedded
 
Bangladesh Computer Council Networking Project
Bangladesh Computer Council Networking ProjectBangladesh Computer Council Networking Project
Bangladesh Computer Council Networking Project
 
Node-RED
Node-REDNode-RED
Node-RED
 
CS4961-L9.ppt
CS4961-L9.pptCS4961-L9.ppt
CS4961-L9.ppt
 
Nada_CV_no_table_boarder
Nada_CV_no_table_boarderNada_CV_no_table_boarder
Nada_CV_no_table_boarder
 

Kürzlich hochgeladen

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Kürzlich hochgeladen (20)

Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
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
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 

Installation plan

  • 2. The problem ● Create installation plan for customer requesting Cable TV with Internet ● Order contains: – Technology (optic, regular) – TV/Internet/Phone – Address – Etc...
  • 3. The solution ● Backward composition of directed acyclic graph ● Root node is customer order ● Each other node is installation instruction ● Edge means that parent can't be executed before child
  • 4. Example #1 Order DSL entry point Configure DSL modem Wire Segment 1 Wire Segment 2
  • 5. Composition ● Backward composition ● Each node is of certain type and can connect to only certain nodes ● Nodes types are stored in DB ● Evaluate which nodes can connect to the node ● Node instances are instantiated from node types in runtime
  • 6. Example #2 ● Algorithm: Incomplete = [order_node] While not incomplete.is_empty(): for node in incomplete: node_types = db.find_suitable_node_types(node) For child_type in node_types: If child_type.can_expand(node): child_node = child_type.expand(node) Incomplete.add(child_node) If node.is_complete(): Incomplete.remove(node)
  • 7. Database parent_type type Condition Order DslEntryPoint Parent.technology == 'DSL' DslEntryPoint OpticFibre parent.technology == 'DSL' && parent.order.medium = 'optic' DslEntryPoint Modem Configuration Parent.technology == 'DSL' && Exists('OpticFibre', 'EntryPoint')
  • 8. Example of node class DslEntryPoint: def can_expand(node): return evaluate(this.condition, parent=node) def expand(parent): child = new DslEntryPoint(parent.address) parent.add_child(child) return child
  • 10. Summary ● Backward graph composition ● Graph prunning (inverse) ● Condition evaluation ● Polymorphism/interfaces