SlideShare a Scribd company logo
19	
  Feb.	
  2015	
  
Miya	
  Kohno,	
  miya.kohno@gmail.com	
  
“Declarative Programming” and a form of SDN	

Network Programmability Study Group Workshop #3	

http://network-programmability.connpass.com/
About me	

•  Miya	
  Kohno,	
  Principal	
  Engineer,	
  Cisco	
  Systems	
  
•  Used	
  to	
  be	
  a	
  soDware	
  engineer	
  
- Love	
  of	
  Programming	
  style	
  discussion	
 
•  ADer	
  that,	
  I	
  have	
  been	
  a	
  network	
  engineer	
  
- Protocol	
  	
  
- Network	
  Architecture	
 
•  Official	
  Blog	
  
- hPp://gblogs.cisco.com/jp/author/miyakohno/	
  
•  TwiPer	
  
@mkohno	
  
Agenda	

•  Programming	
  Paradigm	
  Discussion	
  in	
  the	
  Networking	
  
Discipline	
  
•  A	
  Form	
  of	
  SDN
Open	
  Daylight	
  -­‐-­‐	
  BGP-­‐LS/PCEP and	
  MD-­‐SAL	
  
What is Network Programmability ?!	

•  Neutron	

I E T F	

	

•  NETCONF/YANG	
  
•  I2RS	
  
•  FORCES	
  
•  + and	
  any	
  network	
  protocols	
  !	
  	
  
To	
  be	
  Programmed	
  /	
  
Orchestrated	
  by	
  Network	
  
Engineers
To	
  Program	
  Network	
  Devices	
  (Virtual,	
  
Physical)
Programming Paradigm Trend 
in the Networking Discipline (hypothesis)	

•  Not	
  Impera^ve	
  but	
  Declara7ve	
  
	
  
•  Not	
  Procedural	
  but	
  Model	
  driven	
  
	
  
•  Not	
  Waterfall	
  but	
  Agile	
  
What’s Declarative Programming ?	

•  A	
  program	
  that	
  describes	
  what	
  computa^on	
  should	
  be	
  performed	
  and	
  
not	
  how	
  to	
  compute	
  it	
  
	
  
•  Any	
  programming	
  language	
  that	
  lacks	
  side	
  effects	
  (or	
  more	
  specifically,	
  
is	
  referen^ally	
  transparent)	
  
	
  
•  A	
  language	
  with	
  a	
  clear	
  correspondence	
  to	
  mathema^cal	
  logic	
  
http://en.wikipedia.org/wiki/Declarative_programming	

Any	
  style	
  of	
  programming	
  that	
  is	
  not	
  impera^ve	
  
What’s Declarative Programming ?	

http://karari.tumblr.com/post/61067682037/clojure	

“Add	
  all	
  the	
  integers	
  from	
  1	
  to	
  10”	
  
Impera^ve	
  code	
  
var s = 0;!
for(var n=1; n=10; n++)!
{!
s = s + n; !
}!
console.log(s);!
//55!
Declara^ve	
  code	
  
(- (range 1 11)!
(reduce +)!
(println)!
)!
//55!
Flowchart	
  !	
   Model	
  !!	
  
n	
  =	
  10	
  ?	
  	
  
•  Add	
  
•  increment	
  n	
  
1	
  ...	
  10	
  
A set of the integers	

range : 1…10	

sum
What’s Declarative Programming ?	

Lack	
  of	
  side	
  effect	
  :	
  
	
  	
  Referen^ally	
  Transparent,	
  Idempotent	
  	
  
Referen^al	
  Transparency	
  
	
  
A	
  property	
  whereby	
  an	
  expression	
  can	
  be	
  replaced	
  by	
  its	
  value	
  without	
  
affec^ng	
  the	
  program	
  
	
  
e.g.	
  to	
  use	
  global	
  variables	
  makes	
  it	
  referen^ally	
  opaque	
  
Idempotence	
  
	
  
A	
  quality	
  of	
  an	
  ac^on	
  such	
  that	
  repe^^ons	
  of	
  the	
  ac^on	
  have	
  no	
  further	
  effect	
  on	
  
outcome	
  
	
  
e.g.	
  n++;	
  (incremen^ng)	
  is	
  not	
  idempotent
à	
  These	
  concepts	
  are	
  important	
  for	
  networking	
  compu^ng	
  /	
  distributed	
  
parallel	
  compu^ng,	
  where	
  environment	
  is	
  uncertain	
  and	
  such	
  things	
  like	
  
retries	
  or	
  duplicates	
  could	
  more	
  likely	
  happen..	
  
Idempotence	

group{'sysadmin':!
!ensure=present!
}!
# First Puppet Run!
notice: /Group[sysadmin]/ensure: created!
notice: Finished catalog run in 0.08 seconds!
!
# Second Puppet Run!
notice: Finished catalog run in 0.03 seconds!
An	
  example	
  from	
  Puppet	
  
To	
  state	
  the	
  desired	
  
status	
  =	
  “present”	
  
The	
  second	
  run	
  is	
  not	
  
executed,	
  because	
  it	
  is	
  
already	
  “present”	
  
We	
  could	
  do	
  this	
  using	
  Shell	
  Script(Impera^ve),	
  but	
  with	
  condi^onal	
  branches..	
  	
  	
  
if[`getentgroupsysadmin|awk-F:'{print$1}'`==]!
!then!
! !groupaddsysadmin!
fi!
What’s Declarative Programming ?	

[Pros]	
  
•  Robustness	
  and	
  Scalability	
  
-­‐  In	
  uncertain	
  and	
  complex	
  environments	
  
-­‐  In	
  distributed	
  parallel	
  systems	
  
•  Reusability,	
  Maintainability	
  
[Cons]	
  
•  Tend	
  to	
  be	
  Turing	
  incomplete	
  
•  BePer	
  to	
  restrict	
  domain/scope	
  
•  Not	
  good	
  at	
  controlling	
  details	
  	
  
To	
  agree	
  on	
  	
  
“what”	
  
Model	
  
Referen^al	
  
Transparence	
  
and	
  
Idempotence	
  
Turing completeness? 	

•  Defini^on	
  of	
  Turing	
  completeness	
  
	
  
-  A	
  computa^onal	
  system	
  that	
  can	
  compute	
  every	
  Turing-­‐computable	
  
func^on	
  is	
  called	
  Turing	
  complete	
  (or	
  Turing	
  powerful).	
  Alterna^vely,	
  
such	
  a	
  system	
  is	
  one	
  that	
  can	
  simulate	
  a	
  universal	
  Turing	
  machine.	
  
hPp://en.wikipedia.org/wiki/Turing_completeness	
  
-  Impera^ve	
  languages	
  are	
  all	
  Turing	
  complete.	
  (e.g.	
  C,	
  Java,	
  Perl,	
  PHP,	
  
Python..)	
  
	
  
•  Declara^ve	
  languages	
  tend	
  to	
  be	
  Turing	
  incomplete	
  
-  It	
  does	
  not	
  mean	
  Declara^ve	
  languages	
  cannot	
  be	
  Turing	
  complete.	
  
	
  
-  It’s	
  bePer	
  not	
  to	
  be	
  universally	
  powerful.	
  Instead,	
  by	
  limi^ng	
  the	
  
scope	
  or	
  context,	
  the	
  power	
  of	
  declara^veness	
  would	
  be	
  op^mized.	
  
	
  	
  	
  	
  	
  	
  	
  (e.g.	
  SQL,	
  HTML,	
  JSON,	
  YANG..)	
  
What’s Declarative Programming ?	

Impera^ve	
   Declara^ve	
  
Programming	
  
Language	
  
•  Procedural	
  
Programming	
  
•  Func^onal	
  Programming	
  
•  Domain	
  Specific	
  
Language	
  
Network	
  Control	
   •  Openflow	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  OVS	
   •  DB	
  
•  NETCONF/RESTCONF	
  
•  Control	
  Plane	
  Protocols	
  
Orchestra^on/
Automa^on	
  
•  Workflow	
   •  Model-­‐driven	
  
Configura^on	
  
Management	
  
•  Script	
   •  Puppet	
  
•  CFEngine	
  
	
  
•  OVSDB	
  
Transport	
  
Assurance	
  
Orchestra^on	
  
Control	
  
Infrastructure	
  
•  Physical	
  
•  Virtual	
  
virtual	
   physical	
  
Service	
  
Applica^on	
  
Forwarding	
  Plane	
  
(Distributed)	
  Control	
  Plane	
  
(Centralized)	
  Control	
  Plane	
  
Domain	
  Orchestra^on	
  
Service	
  Orchestra^on	
  
Service,	
  Applica^on	
  
Hierarchy in Network Programmability	

Various	
  forms	
  of	
  
Programmability	
  
•  Addi^on	
  of	
  Model	
  Driven	
  SAL(Service	
  Adapta^on	
  Layer)	
  
•  Various	
  Southbound	
  Protocol	
  (BGP-­‐LS,	
  PCEP..)	
  
•  Supports	
  both	
  physical	
  and	
  virtual	
  devices	
  
E.g. OpenDaylight Controller Architecture	

http://www.opendaylight.org/	

Declara^ve	
  
Impera^ve	
  
•  NFVO	
  (NFV	
  Service	
  Orchestrator)	
  	
  
•  VNFM	
  (VNF	
  Manager)	
  
•  VIM	
  (Virtual	
  Infrastructure	
  Manager)	
  –	
  Openstack,	
  etc.	
  
E.g. ETSI NFV Orchestration Architecture	

Imperative	

BSS	
  
EMS1	
  
Virtualiza^on	
  Layer	
  
VNFM	
  
VIM	
  
Virtual	
  
Compu^ng	
  
Virtual	
  
Storage	
  
Virtual	
  
Networ
k	
  
NFVO	
  
NFVI	
  
NFV	
  
Management	
  
and	
  
Orchestra^on	
  
(Mano)	
  
Compu^ng	
  
Hardware	
  
Storage	
  
Hardware	
  
Network	
  
Hardware	
  
VNF1	
   VNF2	
   VNF3	
  
Tail-­‐f	
  NCS	
  EMS1	
   EMS1	
  
OSS	
  
SID	
  
Workflow	
  
Script	
  
YANG	
  Model	
  
VNF,	
  VNFM	
  
	
  Interface	
  Defini^ons	
  
YANG	
  Model	
  
Service	
  Defini^ons	
  
Declarative
Imperative vs Declarative – which fits where	

•  For	
  determinis^c	
  environment	
  
 à	
  Impera^ve	
  
•  For	
  uncertain(*)	
  environment	
  
  à	
  Declara^ve	
  
	
  
(*)	
  What	
  causes	
  uncertainty	
  
•  Logical	
  and	
  physical	
  distance	
  
•  Scale-­‐up,	
  Growth	
  
•  Various	
  kind	
  of	
  components	
  
•  Distributed	
  parallel	
  systems	
  
•  Mul^-­‐agent	
  system	
  
(Appendix) Programming Paradigm discussion in
Computing discipline	

Object	
  Oriented	
  
Procedural	
  
Declara^ve,	
  
Func^onal	
  
Conflict	
  ?!	
  
•  Object	
  Oriented	
  and	
  Func^onal	
  Programming	
  are	
  conflic^ng.	
  
•  Due	
  to	
  the	
  difference	
  of	
  the	
  principles?	
  	
  
Impera^ve	
  
Declara^ve	
  
(Appendix) Imperative vs Declarative discussion in
Cloud Management area	

hPp://docs.oasis-­‐open.org/tosca/TOSCA/v1.0/
cs01/TOSCA-­‐v1.0-­‐cs01.pdf	
  
Proceedings	
  of	
  the	
  IEEE	
  Interna^onal	
  Conference	
  on	
  Cloud	
  
Engineering	
  (IEEE	
  IC2E	
  2014)}	
  March	
  2014,	
  p87-­‐96,	
  DOI	
  10.1109/IC2E.
2014.56	
  
(Appendix – yet another icing on the cake) 
Human and Machine	

Impera^ve	
  Paradigm	
  
	
  
•  Human	
  who	
  writes	
  program	
  knows	
  everything	
  
	
  
Declara^ve	
  Paradigm	
  
	
  
•  Human	
  may	
  NOT	
  know	
  everything	
  
-­‐  Machine	
  learning/Deep	
  Learning	
  
-­‐  Agent	
  based	
  system	
  
	
  
•  Network	
  centric	
  programming	
  
-­‐  A	
  module	
  to	
  program	
  another	
  module	
  via	
  network	
  
	
  
Agenda	

•  Programming	
  Paradigm	
  Discussion	
  in	
  the	
  Networking	
  
Discipline	
  
•  A	
  Form	
  of	
  SDN
Open	
  Daylight	
  -­‐-­‐	
  BGP-­‐LS/PCEP and	
  MD-­‐SAL	
  
“Network” 
from the viewpoint of Network Engineers ?!	

Network	
  Engineers’	
  view	
  
Image	
  source	
  :	
  
	
  hPp://www.dreams^me.com/royalty-­‐free-­‐stock-­‐images-­‐3d-­‐white-­‐people-­‐system-­‐administrator-­‐image28585969,	
  	
  
hPp://www.sudarshansoDech.com/chnt3.htm	
  
node	
  
link	
  
•  Only	
  if	
  we	
  announce	
  the	
  
endpoint	
  informa^on	
  and	
  
requirements,	
  	
  
•  Then	
  it	
  will	
  be	
  connected!	
  
GW	
  
•  IP	
  addr/subnet	
  
•  vlan	
  
•  port	
  
External	
  Network	
  
Internal	
  Network	
   Security	
  
Server	
  Engineers’	
  view	
  
•  Network	
  consists	
  of	
  nodes	
  and	
  
links.	
  
•  Topology	
  maPers,	
  Bandwidth	
  
maPers..	
  
•  Cost,	
  Delay,	
  JiPer	
  trade-­‐offs..	
  
BGP−LS and PCEP – SDN for Network Engineering	

R5	
  
R6	
  
R7	
  
R3	
  
R4	
  
R1	
  
R2	
  
SDN	
  Controller	
  
Programming	
  CollecIon	
  
NB	
  interface	
  
PCEP	
  BGP-­‐LS,	
  
etc	
  
Conges^on!	
  
TE	
  Path	
  calcula^on	
  and	
  setup	
  
Collect	
  informa^on:	
  
Topology,	
  Bandwidth,	
  Usage..	
   •  Path	
  to	
  sa^sfy	
  SLA	
  
•  Disjoint	
  paths	
  based	
  on	
  QoS	
  
requirements	
  
•  TCP	
  MD5	
  Signature	
  Op^on	
  (rfc2385)	
  has	
  become	
  separated	
  from	
  BGPCEP	
  project	
  
•  SDNi(SDN	
  interface)	
  depends	
  on	
  BGP	
  implementa^on	
  
Implementation of BGP-LS, PCEP in Open Daylight	

http://www.opendaylight.org/
Topology Learning by BGP-LS	

https://wiki.opendaylight.org/images/e/e3/
Os2014-md-sal-tutorial.pdf
Path (Tunnel) setup by PCEP	

https://wiki.opendaylight.org/view/BGP_LS_PCEP:Programmer_Guide	

R5	
  
R6	
  
R7	
  
R3	
  
R4	
  
R1	
  
R2	
  
SDN	
  Controller	
  
Programming	
  CollecIon	
  
NB	
  interface	
  
PCEP	
  BGP-­‐LS,	
  etc	
  
•  draD-­‐ie|-­‐pce-­‐stateful-­‐pce-­‐02	
  and	
  draD-­‐crabbe-­‐ini^ated-­‐00	
  
•  draD-­‐ie|-­‐pce-­‐stateful-­‐pce-­‐07,	
  draD-­‐ie|-­‐pce-­‐pce-­‐ini^ated-­‐lsp-­‐00	
  
•  draD-­‐sivabalan-­‐pce-­‐segment-­‐rou^ng-­‐02	
  
Create	
   node,	
  name,	
  
arguments,	
  endpoints-­‐obj,	
  
ero,	
  lsp	
  
Update	
   node,	
  name,	
  
arguments,	
  opera^onal,	
  
ero,	
  lsp	
  
Remove	
   node,	
  name	
  
(Appendix: Segment Routing)	

	
  
Controller	
  
	
  
	
  DC	
  
Cross	
  Domain	
  
Orchestra^on	
  
IPv4/IPv6	
  
MPLS	
  
Network	
  
DC	
  	
  	
  
Controller	
  
Segment	
  
RouIng	
  
One	
  Collector	
  
APIs	
  
MPLS	
   Segment	
  RouIng	
  
Control	
  Plane	
   LDP	
  and	
  RSVP	
  for	
  
Label	
  distribu^on	
  
IGP	
  extension	
  to	
  
distribute	
  Segment	
  
ID	
  
	
  
Traffic	
  
Engineering	
  
RSVP	
  TE	
  signaling	
   Explicit	
  path	
  is	
  
expressed	
  by	
  
header	
  stack	
  
ProtecIon	
   RSVP	
  TE	
  FRR	
  
(IP	
  FRR/LFA	
  has	
  
topology	
  
restric^on)	
  
Topology-­‐
Independent	
  FRR	
  
•  Simple	
  
•  No	
  extra	
  control	
  plane	
  (RSVP,	
  LDP)	
  	
  
•  No	
  RSVP	
  state	
  in	
  the	
  network	
  
•  Applica^on	
  centric	
  
Model Driven SAL	

http://www.opendaylight.org/	

AD-­‐SAL	
   MD-­‐SAL	
  
•  The	
  Model-­‐driven	
  approach	
  to	
  service	
  abstrac^on	
  presents	
  an	
  opportunity	
  to	
  
unify	
  both	
  northbound	
  and	
  southbound	
  APIs	
  and	
  the	
  data	
  structures	
  used	
  in	
  
various	
  services	
  and	
  components	
  of	
  an	
  SDN	
  Controller.	
  
Model-Driven SAL	

28	
  
	
  
module	
  topology-­‐tunnel-­‐pcep-­‐programming	
  {	
  
	
  	
  	
  	
  	
  	
  	
  	
  yang-­‐version	
  1;	
  
	
  	
  	
  	
  	
  	
  	
  	
  namespace	
  urn:opendaylight:params:xml:ns:yang:topology:tunnel:pcep:programming;	
  
	
  	
  	
  	
  	
  	
  	
  	
  prefix	
  ttpp;	
  
	
  
	
  	
  	
  	
  import	
  pcep-­‐types	
  {	
  prefix	
  pcep;	
  revision-­‐date	
  2013-­‐10-­‐05;	
  }	
  
	
  	
  	
  	
  import	
  topology-­‐tunnel-­‐programming	
  {	
  prefix	
  ttp;	
  revision-­‐date	
  2013-­‐09-­‐30;	
  }	
  
	
  	
  	
  	
  import	
  topology-­‐tunnel-­‐p2p	
  {	
  prefix	
  p2p;	
  revision-­‐date	
  2013-­‐08-­‐19;	
  }	
  
	
  	
  	
  	
  import	
  topology-­‐tunnel-­‐pcep	
  {	
  prefix	
  ptp;	
  revision-­‐date	
  2013-­‐08-­‐20;	
  }	
  
	
  
	
  	
  	
  	
  	
  	
  	
  	
  organization	
  Cisco	
  Systems,	
  Inc.;	
  
	
  	
  	
  	
  	
  	
  	
  	
  contact	
  Robert	
  Varga	
  rovarga@cisco.com;	
  
	
  
	
  	
  	
  	
  	
  	
  	
  	
  description	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  This	
  module	
  contains	
  the	
  programming	
  extensions	
  for	
  tunnel	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  topologies.	
  
	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  Copyright	
  (c)2013	
  Cisco	
  Systems,	
  Inc.	
  All	
  rights	
  reserved.	
  
	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  This	
  program	
  and	
  the	
  accompanying	
  materials	
  are	
  made	
  available	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  under	
  the	
  terms	
  of	
  the	
  Eclipse	
  Public	
  License	
  v1.0	
  which	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  accompanies	
  this	
  distribution,	
  and	
  is	
  available	
  at	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  http://www.eclipse.org/legal/epl-­‐v10.html;	
  
	
  
	
  	
  	
  	
  rpc	
  pcep-­‐create-­‐p2p-­‐tunnel	
  {	
  
	
  	
  	
  	
  	
  	
  	
  	
  input	
  {	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  uses	
  ttp:create-­‐p2p-­‐tunnel-­‐input;	
  
	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  uses	
  p2p:tunnel-­‐p2p-­‐path-­‐cfg-­‐attributes;	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  uses	
  ptp:tunnel-­‐pcep-­‐link-­‐cfg-­‐attributes;	
  
	
  	
  	
  	
  	
  	
  	
  	
  }	
  
	
  	
  	
  	
  	
  	
  	
  	
  output	
  {	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  uses	
  ttp:create-­‐p2p-­‐tunnel-­‐output;	
  
	
  	
  	
  	
  	
  	
  	
  	
  }	
  
	
  	
  	
  	
  }	
  
	
  	
  	
  	
  rpc	
  pcep-­‐destroy-­‐tunnel	
  {	
  
	
  	
  	
  	
  	
  	
  	
  	
  input	
  {	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  uses	
  ttp:destroy-­‐tunnel-­‐input;	
  
	
  	
  	
  	
  	
  	
  	
  	
  }	
  
	
  	
  	
  	
  	
  	
  	
  	
  output	
  {	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  uses	
  ttp:destroy-­‐tunnel-­‐output;	
  
	
  	
  	
  	
  	
  	
  	
  	
  }	
  
	
  	
  	
  	
  }	
  
	
  	
  	
  	
  rpc	
  pcep-­‐update-­‐tunnel	
  {	
  
	
  	
  	
  	
  	
  	
  	
  	
  input	
  {	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  uses	
  ttp:base-­‐tunnel-­‐input;	
  
	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  uses	
  p2p:tunnel-­‐p2p-­‐path-­‐cfg-­‐attributes;	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  uses	
  ptp:tunnel-­‐pcep-­‐link-­‐cfg-­‐attributes;	
  
	
  	
  	
  	
  	
  	
  	
  	
  }	
  
	
  	
  	
  	
  	
  	
  	
  	
  output	
  {	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  uses	
  ttp:base-­‐tunnel-­‐output;	
  
	
  	
  	
  	
  	
  	
  	
  	
  }	
  
	
  	
  	
  	
  }!
}!
Yang	
  
Tools	
  
Plugin	
   Plugin	
  
Model	
   topology-tunnel-pcep-programming.yang	

APIs	
  
Model-Driven SAL	

•  Controller	
  SAL	
  to	
  communicate	
  with	
  other	
  controller	
  components,	
  
applica^ons,	
  and	
  plugins.	
  	
  
Controller	
  SAL	
  
Why Model?	

•  Model	
  is	
  a	
  representa^on	
  of	
  a	
  part	
  of	
  the	
  func^on,	
  structure	
  
and/or	
  behavior	
  of	
  a	
  system	
  (*)	
  
(*)	
  Architectural	
  Board	
  	
  ORMSC,	
  “Model	
  Driven	
  Architecture”,	
  July	
  2001	
  
•  Advantage	
  of	
  Model	
  
•  Declara^ve	
  
  Agree	
  on	
  “what”,	
  not	
  “how”	
  
•  Commonality	
  
 Abstract	
  diversity	
  
•  Reusability,	
  Maintainability,	
  Portability	
  
  Conversion	
  from	
  model	
  to	
  model	
  
•  Robustness	
  in	
  uncertain	
  environment	
  
Agenda	

•  Programming	
  Paradigm	
  Discussion	
  in	
  the	
  Networking	
  
Discipline	
  
•  A	
  Form	
  of	
  SDN
Open	
  Daylight	
  -­‐-­‐	
  BGP-­‐LS/PCEP and	
  MD-­‐SAL	
  
Declara^ve	
  programming	
  and	
  Model-­‐drivenness	
  has	
  
an	
  advantage	
  in	
  networking	
  compu^ng,	
  where	
  the	
  
environment	
  is	
  more	
  uncertain.	
  	
  
Thank you !

More Related Content

What's hot

5G slicing and management tmf contribution
5G slicing and management   tmf contribution 5G slicing and management   tmf contribution
5G slicing and management tmf contribution
Saurabh Verma
 
Enabling 5G with NFV: New Joint White Paper Outlining Network Operator Perspe...
Enabling 5G with NFV: New Joint White Paper Outlining Network Operator Perspe...Enabling 5G with NFV: New Joint White Paper Outlining Network Operator Perspe...
Enabling 5G with NFV: New Joint White Paper Outlining Network Operator Perspe...
Open Networking Summit
 
Zero Touch 5G Slicing Infrastructure Management | Thủy Đặng, Trinh Nguyen
Zero Touch 5G Slicing Infrastructure Management | Thủy Đặng, Trinh NguyenZero Touch 5G Slicing Infrastructure Management | Thủy Đặng, Trinh Nguyen
Zero Touch 5G Slicing Infrastructure Management | Thủy Đặng, Trinh Nguyen
Vietnam Open Infrastructure User Group
 
Unleash the cloud + 5 g + ai era
Unleash the cloud + 5 g + ai eraUnleash the cloud + 5 g + ai era
Unleash the cloud + 5 g + ai era
myehuman
 
5G
5G5G
5G
Jisc
 
5G, IoT and AI. Overview strategy for business_Rev20200505
5G, IoT and AI. Overview strategy for business_Rev202005055G, IoT and AI. Overview strategy for business_Rev20200505
5G, IoT and AI. Overview strategy for business_Rev20200505
Agustin Francisco Melian
 
5G Multi-Access Edge Compute
5G Multi-Access Edge Compute5G Multi-Access Edge Compute
5G Multi-Access Edge Compute
Michelle Holley
 
MEF Presto for SDN-enabled service lifecycle automation
MEF Presto for SDN-enabled service lifecycle automationMEF Presto for SDN-enabled service lifecycle automation
MEF Presto for SDN-enabled service lifecycle automation
ADVA
 
Transforming optical networking with AI
Transforming optical networking with AITransforming optical networking with AI
Transforming optical networking with AI
ADVA
 
SDN IN DT’s TERASTREAM
SDN IN DT’s TERASTREAMSDN IN DT’s TERASTREAM
SDN IN DT’s TERASTREAM
Open Networking Summits
 
Defining Future 5G Networks - All Slides
Defining Future 5G Networks - All SlidesDefining Future 5G Networks - All Slides
Defining Future 5G Networks - All Slides
Digital Catapult
 
Small Cells, Macrocells, Backhaul, Infrastructure and other connectivity solu...
Small Cells, Macrocells, Backhaul, Infrastructure and other connectivity solu...Small Cells, Macrocells, Backhaul, Infrastructure and other connectivity solu...
Small Cells, Macrocells, Backhaul, Infrastructure and other connectivity solu...
3G4G
 
Ericsson Cloud SDN & Netronome Agilio CX Taking NFV to The Next Level of Perf...
Ericsson Cloud SDN & Netronome Agilio CX Taking NFV to The Next Level of Perf...Ericsson Cloud SDN & Netronome Agilio CX Taking NFV to The Next Level of Perf...
Ericsson Cloud SDN & Netronome Agilio CX Taking NFV to The Next Level of Perf...
Netronome
 
Wholesale network slicing for 5G access
Wholesale network slicing for 5G accessWholesale network slicing for 5G access
Wholesale network slicing for 5G access
ADVA
 
Photonic integrated circuits for data center interconnects
Photonic integrated circuits for data center interconnectsPhotonic integrated circuits for data center interconnects
Photonic integrated circuits for data center interconnects
ADVA
 
5G and V2X Automotive Slicing
5G and V2X Automotive Slicing5G and V2X Automotive Slicing
5G and V2X Automotive Slicing
Marie-Paule Odini
 
One World One Global Sim
One World One Global Sim One World One Global Sim
One World One Global Sim
ITU
 
Evolving to a New Generation Network based on IP, SDN, NFV & Cloud
Evolving to a New Generation Networkbased on IP, SDN, NFV & CloudEvolving to a New Generation Networkbased on IP, SDN, NFV & Cloud
Evolving to a New Generation Network based on IP, SDN, NFV & Cloud
Ericsson
 
Web rtc for iot, edge computing use cases
Web rtc for iot, edge computing use casesWeb rtc for iot, edge computing use cases
Web rtc for iot, edge computing use cases
NTT Communications Technology Development
 

What's hot (20)

5G slicing and management tmf contribution
5G slicing and management   tmf contribution 5G slicing and management   tmf contribution
5G slicing and management tmf contribution
 
Enabling 5G with NFV: New Joint White Paper Outlining Network Operator Perspe...
Enabling 5G with NFV: New Joint White Paper Outlining Network Operator Perspe...Enabling 5G with NFV: New Joint White Paper Outlining Network Operator Perspe...
Enabling 5G with NFV: New Joint White Paper Outlining Network Operator Perspe...
 
Zero Touch 5G Slicing Infrastructure Management | Thủy Đặng, Trinh Nguyen
Zero Touch 5G Slicing Infrastructure Management | Thủy Đặng, Trinh NguyenZero Touch 5G Slicing Infrastructure Management | Thủy Đặng, Trinh Nguyen
Zero Touch 5G Slicing Infrastructure Management | Thủy Đặng, Trinh Nguyen
 
Unleash the cloud + 5 g + ai era
Unleash the cloud + 5 g + ai eraUnleash the cloud + 5 g + ai era
Unleash the cloud + 5 g + ai era
 
5G
5G5G
5G
 
5G Americas_Network Slicing
5G Americas_Network Slicing5G Americas_Network Slicing
5G Americas_Network Slicing
 
5G, IoT and AI. Overview strategy for business_Rev20200505
5G, IoT and AI. Overview strategy for business_Rev202005055G, IoT and AI. Overview strategy for business_Rev20200505
5G, IoT and AI. Overview strategy for business_Rev20200505
 
5G Multi-Access Edge Compute
5G Multi-Access Edge Compute5G Multi-Access Edge Compute
5G Multi-Access Edge Compute
 
MEF Presto for SDN-enabled service lifecycle automation
MEF Presto for SDN-enabled service lifecycle automationMEF Presto for SDN-enabled service lifecycle automation
MEF Presto for SDN-enabled service lifecycle automation
 
Transforming optical networking with AI
Transforming optical networking with AITransforming optical networking with AI
Transforming optical networking with AI
 
SDN IN DT’s TERASTREAM
SDN IN DT’s TERASTREAMSDN IN DT’s TERASTREAM
SDN IN DT’s TERASTREAM
 
Defining Future 5G Networks - All Slides
Defining Future 5G Networks - All SlidesDefining Future 5G Networks - All Slides
Defining Future 5G Networks - All Slides
 
Small Cells, Macrocells, Backhaul, Infrastructure and other connectivity solu...
Small Cells, Macrocells, Backhaul, Infrastructure and other connectivity solu...Small Cells, Macrocells, Backhaul, Infrastructure and other connectivity solu...
Small Cells, Macrocells, Backhaul, Infrastructure and other connectivity solu...
 
Ericsson Cloud SDN & Netronome Agilio CX Taking NFV to The Next Level of Perf...
Ericsson Cloud SDN & Netronome Agilio CX Taking NFV to The Next Level of Perf...Ericsson Cloud SDN & Netronome Agilio CX Taking NFV to The Next Level of Perf...
Ericsson Cloud SDN & Netronome Agilio CX Taking NFV to The Next Level of Perf...
 
Wholesale network slicing for 5G access
Wholesale network slicing for 5G accessWholesale network slicing for 5G access
Wholesale network slicing for 5G access
 
Photonic integrated circuits for data center interconnects
Photonic integrated circuits for data center interconnectsPhotonic integrated circuits for data center interconnects
Photonic integrated circuits for data center interconnects
 
5G and V2X Automotive Slicing
5G and V2X Automotive Slicing5G and V2X Automotive Slicing
5G and V2X Automotive Slicing
 
One World One Global Sim
One World One Global Sim One World One Global Sim
One World One Global Sim
 
Evolving to a New Generation Network based on IP, SDN, NFV & Cloud
Evolving to a New Generation Networkbased on IP, SDN, NFV & CloudEvolving to a New Generation Networkbased on IP, SDN, NFV & Cloud
Evolving to a New Generation Network based on IP, SDN, NFV & Cloud
 
Web rtc for iot, edge computing use cases
Web rtc for iot, edge computing use casesWeb rtc for iot, edge computing use cases
Web rtc for iot, edge computing use cases
 

Similar to Declarative Programming and a form of SDN

Building and deploying LLM applications with Apache Airflow
Building and deploying LLM applications with Apache AirflowBuilding and deploying LLM applications with Apache Airflow
Building and deploying LLM applications with Apache Airflow
Kaxil Naik
 
Relay: The Next Leg, Eric Sorenson, Puppet
Relay: The Next Leg, Eric Sorenson, PuppetRelay: The Next Leg, Eric Sorenson, Puppet
Relay: The Next Leg, Eric Sorenson, Puppet
Puppet
 
Advanced web application architecture - Talk
Advanced web application architecture - TalkAdvanced web application architecture - Talk
Advanced web application architecture - Talk
Matthias Noback
 
Open shift and docker - october,2014
Open shift and docker - october,2014Open shift and docker - october,2014
Open shift and docker - october,2014
Hojoong Kim
 
2016 - Open Mic - IGNITE - Open Infrastructure = ANY Infrastructure
2016 - Open Mic - IGNITE - Open Infrastructure = ANY Infrastructure2016 - Open Mic - IGNITE - Open Infrastructure = ANY Infrastructure
2016 - Open Mic - IGNITE - Open Infrastructure = ANY Infrastructure
devopsdaysaustin
 
OpenStack Preso: DevOps on Hybrid Infrastructure
OpenStack Preso: DevOps on Hybrid InfrastructureOpenStack Preso: DevOps on Hybrid Infrastructure
OpenStack Preso: DevOps on Hybrid Infrastructure
rhirschfeld
 
Triangle Devops Meetup 10/2015
Triangle Devops Meetup 10/2015Triangle Devops Meetup 10/2015
Triangle Devops Meetup 10/2015
aspyker
 
2017 dagstuhl-nfv-rothenberg
2017 dagstuhl-nfv-rothenberg2017 dagstuhl-nfv-rothenberg
2017 dagstuhl-nfv-rothenberg
Christian Esteve Rothenberg
 
Data Parallel and Object Oriented Model
Data Parallel and Object Oriented ModelData Parallel and Object Oriented Model
Data Parallel and Object Oriented Model
Nikhil Sharma
 
SpringBoot and Spring Cloud Service for MSA
SpringBoot and Spring Cloud Service for MSASpringBoot and Spring Cloud Service for MSA
SpringBoot and Spring Cloud Service for MSA
Oracle Korea
 
Microservices with kubernetes @190316
Microservices with kubernetes @190316Microservices with kubernetes @190316
Microservices with kubernetes @190316
Jupil Hwang
 
KCD Italy 2022 - Application driven infrastructure with Crossplane
KCD Italy 2022 - Application driven infrastructure with CrossplaneKCD Italy 2022 - Application driven infrastructure with Crossplane
KCD Italy 2022 - Application driven infrastructure with Crossplane
sparkfabrik
 
Netflix Cloud Architecture and Open Source
Netflix Cloud Architecture and Open SourceNetflix Cloud Architecture and Open Source
Netflix Cloud Architecture and Open Source
aspyker
 
07 (IDNOG02) SDN Research activity in Institut Teknologi Bandung by Affan Bas...
07 (IDNOG02) SDN Research activity in Institut Teknologi Bandung by Affan Bas...07 (IDNOG02) SDN Research activity in Institut Teknologi Bandung by Affan Bas...
07 (IDNOG02) SDN Research activity in Institut Teknologi Bandung by Affan Bas...
Indonesia Network Operators Group
 
Netflix Architecture and Open Source
Netflix Architecture and Open SourceNetflix Architecture and Open Source
Netflix Architecture and Open Source
All Things Open
 
Concurrency Programming in Java - 01 - Introduction to Concurrency Programming
Concurrency Programming in Java - 01 - Introduction to Concurrency ProgrammingConcurrency Programming in Java - 01 - Introduction to Concurrency Programming
Concurrency Programming in Java - 01 - Introduction to Concurrency Programming
Sachintha Gunasena
 
On SDN Research Topics - Christian Esteve Rothenberg
On SDN Research Topics - Christian Esteve RothenbergOn SDN Research Topics - Christian Esteve Rothenberg
On SDN Research Topics - Christian Esteve RothenbergCPqD
 
Current & Future Use-Cases of OpenDaylight
Current & Future Use-Cases of OpenDaylightCurrent & Future Use-Cases of OpenDaylight
Current & Future Use-Cases of OpenDaylight
abhijit2511
 
EU-Taiwan Workshop on 5G Research, PRISTINE introduction
EU-Taiwan Workshop on 5G Research, PRISTINE introductionEU-Taiwan Workshop on 5G Research, PRISTINE introduction
EU-Taiwan Workshop on 5G Research, PRISTINE introduction
ICT PRISTINE
 
IPv4 to IPv6 network transformation
IPv4 to IPv6 network transformationIPv4 to IPv6 network transformation
IPv4 to IPv6 network transformation
Nikolay Milovanov
 

Similar to Declarative Programming and a form of SDN (20)

Building and deploying LLM applications with Apache Airflow
Building and deploying LLM applications with Apache AirflowBuilding and deploying LLM applications with Apache Airflow
Building and deploying LLM applications with Apache Airflow
 
Relay: The Next Leg, Eric Sorenson, Puppet
Relay: The Next Leg, Eric Sorenson, PuppetRelay: The Next Leg, Eric Sorenson, Puppet
Relay: The Next Leg, Eric Sorenson, Puppet
 
Advanced web application architecture - Talk
Advanced web application architecture - TalkAdvanced web application architecture - Talk
Advanced web application architecture - Talk
 
Open shift and docker - october,2014
Open shift and docker - october,2014Open shift and docker - october,2014
Open shift and docker - october,2014
 
2016 - Open Mic - IGNITE - Open Infrastructure = ANY Infrastructure
2016 - Open Mic - IGNITE - Open Infrastructure = ANY Infrastructure2016 - Open Mic - IGNITE - Open Infrastructure = ANY Infrastructure
2016 - Open Mic - IGNITE - Open Infrastructure = ANY Infrastructure
 
OpenStack Preso: DevOps on Hybrid Infrastructure
OpenStack Preso: DevOps on Hybrid InfrastructureOpenStack Preso: DevOps on Hybrid Infrastructure
OpenStack Preso: DevOps on Hybrid Infrastructure
 
Triangle Devops Meetup 10/2015
Triangle Devops Meetup 10/2015Triangle Devops Meetup 10/2015
Triangle Devops Meetup 10/2015
 
2017 dagstuhl-nfv-rothenberg
2017 dagstuhl-nfv-rothenberg2017 dagstuhl-nfv-rothenberg
2017 dagstuhl-nfv-rothenberg
 
Data Parallel and Object Oriented Model
Data Parallel and Object Oriented ModelData Parallel and Object Oriented Model
Data Parallel and Object Oriented Model
 
SpringBoot and Spring Cloud Service for MSA
SpringBoot and Spring Cloud Service for MSASpringBoot and Spring Cloud Service for MSA
SpringBoot and Spring Cloud Service for MSA
 
Microservices with kubernetes @190316
Microservices with kubernetes @190316Microservices with kubernetes @190316
Microservices with kubernetes @190316
 
KCD Italy 2022 - Application driven infrastructure with Crossplane
KCD Italy 2022 - Application driven infrastructure with CrossplaneKCD Italy 2022 - Application driven infrastructure with Crossplane
KCD Italy 2022 - Application driven infrastructure with Crossplane
 
Netflix Cloud Architecture and Open Source
Netflix Cloud Architecture and Open SourceNetflix Cloud Architecture and Open Source
Netflix Cloud Architecture and Open Source
 
07 (IDNOG02) SDN Research activity in Institut Teknologi Bandung by Affan Bas...
07 (IDNOG02) SDN Research activity in Institut Teknologi Bandung by Affan Bas...07 (IDNOG02) SDN Research activity in Institut Teknologi Bandung by Affan Bas...
07 (IDNOG02) SDN Research activity in Institut Teknologi Bandung by Affan Bas...
 
Netflix Architecture and Open Source
Netflix Architecture and Open SourceNetflix Architecture and Open Source
Netflix Architecture and Open Source
 
Concurrency Programming in Java - 01 - Introduction to Concurrency Programming
Concurrency Programming in Java - 01 - Introduction to Concurrency ProgrammingConcurrency Programming in Java - 01 - Introduction to Concurrency Programming
Concurrency Programming in Java - 01 - Introduction to Concurrency Programming
 
On SDN Research Topics - Christian Esteve Rothenberg
On SDN Research Topics - Christian Esteve RothenbergOn SDN Research Topics - Christian Esteve Rothenberg
On SDN Research Topics - Christian Esteve Rothenberg
 
Current & Future Use-Cases of OpenDaylight
Current & Future Use-Cases of OpenDaylightCurrent & Future Use-Cases of OpenDaylight
Current & Future Use-Cases of OpenDaylight
 
EU-Taiwan Workshop on 5G Research, PRISTINE introduction
EU-Taiwan Workshop on 5G Research, PRISTINE introductionEU-Taiwan Workshop on 5G Research, PRISTINE introduction
EU-Taiwan Workshop on 5G Research, PRISTINE introduction
 
IPv4 to IPv6 network transformation
IPv4 to IPv6 network transformationIPv4 to IPv6 network transformation
IPv4 to IPv6 network transformation
 

More from Miya Kohno

Mk data intensive-onic2021
Mk data intensive-onic2021Mk data intensive-onic2021
Mk data intensive-onic2021
Miya Kohno
 
Mk application aware-hicn
Mk application aware-hicnMk application aware-hicn
Mk application aware-hicn
Miya Kohno
 
Network as a Service - Data plane evolution and abstraction by NSM
Network as a Service - Data plane evolution and abstraction by NSMNetwork as a Service - Data plane evolution and abstraction by NSM
Network as a Service - Data plane evolution and abstraction by NSM
Miya Kohno
 
Mk onic data-intensive-public
Mk onic data-intensive-publicMk onic data-intensive-public
Mk onic data-intensive-public
Miya Kohno
 
Mk onic data-intensive-public
Mk onic data-intensive-publicMk onic data-intensive-public
Mk onic data-intensive-public
Miya Kohno
 
Mk vpp for-containers-vppug
Mk vpp for-containers-vppugMk vpp for-containers-vppug
Mk vpp for-containers-vppug
Miya Kohno
 
Beyond Cloud Computing - Network as a platform
Beyond Cloud Computing - Network as a platformBeyond Cloud Computing - Network as a platform
Beyond Cloud Computing - Network as a platform
Miya Kohno
 
Systems Theory for Cisco SE
Systems Theory for Cisco SE Systems Theory for Cisco SE
Systems Theory for Cisco SE
Miya Kohno
 
BGP evolution -from SDN perspective
BGP evolution -from SDN perspectiveBGP evolution -from SDN perspective
BGP evolution -from SDN perspective
Miya Kohno
 
BGP as a method for Abstraction
BGP as a method for AbstractionBGP as a method for Abstraction
BGP as a method for Abstraction
Miya Kohno
 
Segment Routing @ SDN Japan 2013
Segment Routing @ SDN Japan 2013Segment Routing @ SDN Japan 2013
Segment Routing @ SDN Japan 2013
Miya Kohno
 
Network Programmability and the statefulness/transactionality
Network Programmability and the statefulness/transactionalityNetwork Programmability and the statefulness/transactionality
Network Programmability and the statefulness/transactionality
Miya Kohno
 
Model Driven Automation
Model Driven AutomationModel Driven Automation
Model Driven Automation
Miya Kohno
 
SRv6 Network Programmability - Dis-aggregation and Re-aggregation of Network ...
SRv6 Network Programmability - Dis-aggregation and Re-aggregation of Network ...SRv6 Network Programmability - Dis-aggregation and Re-aggregation of Network ...
SRv6 Network Programmability - Dis-aggregation and Re-aggregation of Network ...
Miya Kohno
 

More from Miya Kohno (14)

Mk data intensive-onic2021
Mk data intensive-onic2021Mk data intensive-onic2021
Mk data intensive-onic2021
 
Mk application aware-hicn
Mk application aware-hicnMk application aware-hicn
Mk application aware-hicn
 
Network as a Service - Data plane evolution and abstraction by NSM
Network as a Service - Data plane evolution and abstraction by NSMNetwork as a Service - Data plane evolution and abstraction by NSM
Network as a Service - Data plane evolution and abstraction by NSM
 
Mk onic data-intensive-public
Mk onic data-intensive-publicMk onic data-intensive-public
Mk onic data-intensive-public
 
Mk onic data-intensive-public
Mk onic data-intensive-publicMk onic data-intensive-public
Mk onic data-intensive-public
 
Mk vpp for-containers-vppug
Mk vpp for-containers-vppugMk vpp for-containers-vppug
Mk vpp for-containers-vppug
 
Beyond Cloud Computing - Network as a platform
Beyond Cloud Computing - Network as a platformBeyond Cloud Computing - Network as a platform
Beyond Cloud Computing - Network as a platform
 
Systems Theory for Cisco SE
Systems Theory for Cisco SE Systems Theory for Cisco SE
Systems Theory for Cisco SE
 
BGP evolution -from SDN perspective
BGP evolution -from SDN perspectiveBGP evolution -from SDN perspective
BGP evolution -from SDN perspective
 
BGP as a method for Abstraction
BGP as a method for AbstractionBGP as a method for Abstraction
BGP as a method for Abstraction
 
Segment Routing @ SDN Japan 2013
Segment Routing @ SDN Japan 2013Segment Routing @ SDN Japan 2013
Segment Routing @ SDN Japan 2013
 
Network Programmability and the statefulness/transactionality
Network Programmability and the statefulness/transactionalityNetwork Programmability and the statefulness/transactionality
Network Programmability and the statefulness/transactionality
 
Model Driven Automation
Model Driven AutomationModel Driven Automation
Model Driven Automation
 
SRv6 Network Programmability - Dis-aggregation and Re-aggregation of Network ...
SRv6 Network Programmability - Dis-aggregation and Re-aggregation of Network ...SRv6 Network Programmability - Dis-aggregation and Re-aggregation of Network ...
SRv6 Network Programmability - Dis-aggregation and Re-aggregation of Network ...
 

Recently uploaded

Ethernet Routing and switching chapter 1.ppt
Ethernet Routing and switching chapter 1.pptEthernet Routing and switching chapter 1.ppt
Ethernet Routing and switching chapter 1.ppt
azkamurat
 
Modelagem de um CSTR com reação endotermica.pdf
Modelagem de um CSTR com reação endotermica.pdfModelagem de um CSTR com reação endotermica.pdf
Modelagem de um CSTR com reação endotermica.pdf
camseq
 
Recycled Concrete Aggregate in Construction Part III
Recycled Concrete Aggregate in Construction Part IIIRecycled Concrete Aggregate in Construction Part III
Recycled Concrete Aggregate in Construction Part III
Aditya Rajan Patra
 
Unbalanced Three Phase Systems and circuits.pptx
Unbalanced Three Phase Systems and circuits.pptxUnbalanced Three Phase Systems and circuits.pptx
Unbalanced Three Phase Systems and circuits.pptx
ChristineTorrepenida1
 
Literature Review Basics and Understanding Reference Management.pptx
Literature Review Basics and Understanding Reference Management.pptxLiterature Review Basics and Understanding Reference Management.pptx
Literature Review Basics and Understanding Reference Management.pptx
Dr Ramhari Poudyal
 
Series of visio cisco devices Cisco_Icons.ppt
Series of visio cisco devices Cisco_Icons.pptSeries of visio cisco devices Cisco_Icons.ppt
Series of visio cisco devices Cisco_Icons.ppt
PauloRodrigues104553
 
basic-wireline-operations-course-mahmoud-f-radwan.pdf
basic-wireline-operations-course-mahmoud-f-radwan.pdfbasic-wireline-operations-course-mahmoud-f-radwan.pdf
basic-wireline-operations-course-mahmoud-f-radwan.pdf
NidhalKahouli2
 
Heap Sort (SS).ppt FOR ENGINEERING GRADUATES, BCA, MCA, MTECH, BSC STUDENTS
Heap Sort (SS).ppt FOR ENGINEERING GRADUATES, BCA, MCA, MTECH, BSC STUDENTSHeap Sort (SS).ppt FOR ENGINEERING GRADUATES, BCA, MCA, MTECH, BSC STUDENTS
Heap Sort (SS).ppt FOR ENGINEERING GRADUATES, BCA, MCA, MTECH, BSC STUDENTS
Soumen Santra
 
一比一原版(UMich毕业证)密歇根大学|安娜堡分校毕业证成绩单专业办理
一比一原版(UMich毕业证)密歇根大学|安娜堡分校毕业证成绩单专业办理一比一原版(UMich毕业证)密歇根大学|安娜堡分校毕业证成绩单专业办理
一比一原版(UMich毕业证)密歇根大学|安娜堡分校毕业证成绩单专业办理
zwunae
 
Fundamentals of Electric Drives and its applications.pptx
Fundamentals of Electric Drives and its applications.pptxFundamentals of Electric Drives and its applications.pptx
Fundamentals of Electric Drives and its applications.pptx
manasideore6
 
Harnessing WebAssembly for Real-time Stateless Streaming Pipelines
Harnessing WebAssembly for Real-time Stateless Streaming PipelinesHarnessing WebAssembly for Real-time Stateless Streaming Pipelines
Harnessing WebAssembly for Real-time Stateless Streaming Pipelines
Christina Lin
 
PROJECT FORMAT FOR EVS AMITY UNIVERSITY GWALIOR.ppt
PROJECT FORMAT FOR EVS AMITY UNIVERSITY GWALIOR.pptPROJECT FORMAT FOR EVS AMITY UNIVERSITY GWALIOR.ppt
PROJECT FORMAT FOR EVS AMITY UNIVERSITY GWALIOR.ppt
bhadouriyakaku
 
6th International Conference on Machine Learning & Applications (CMLA 2024)
6th International Conference on Machine Learning & Applications (CMLA 2024)6th International Conference on Machine Learning & Applications (CMLA 2024)
6th International Conference on Machine Learning & Applications (CMLA 2024)
ClaraZara1
 
digital fundamental by Thomas L.floydl.pdf
digital fundamental by Thomas L.floydl.pdfdigital fundamental by Thomas L.floydl.pdf
digital fundamental by Thomas L.floydl.pdf
drwaing
 
Hierarchical Digital Twin of a Naval Power System
Hierarchical Digital Twin of a Naval Power SystemHierarchical Digital Twin of a Naval Power System
Hierarchical Digital Twin of a Naval Power System
Kerry Sado
 
BPV-GUI-01-Guide-for-ASME-Review-Teams-(General)-10-10-2023.pdf
BPV-GUI-01-Guide-for-ASME-Review-Teams-(General)-10-10-2023.pdfBPV-GUI-01-Guide-for-ASME-Review-Teams-(General)-10-10-2023.pdf
BPV-GUI-01-Guide-for-ASME-Review-Teams-(General)-10-10-2023.pdf
MIGUELANGEL966976
 
Technical Drawings introduction to drawing of prisms
Technical Drawings introduction to drawing of prismsTechnical Drawings introduction to drawing of prisms
Technical Drawings introduction to drawing of prisms
heavyhaig
 
bank management system in java and mysql report1.pdf
bank management system in java and mysql report1.pdfbank management system in java and mysql report1.pdf
bank management system in java and mysql report1.pdf
Divyam548318
 
CHINA’S GEO-ECONOMIC OUTREACH IN CENTRAL ASIAN COUNTRIES AND FUTURE PROSPECT
CHINA’S GEO-ECONOMIC OUTREACH IN CENTRAL ASIAN COUNTRIES AND FUTURE PROSPECTCHINA’S GEO-ECONOMIC OUTREACH IN CENTRAL ASIAN COUNTRIES AND FUTURE PROSPECT
CHINA’S GEO-ECONOMIC OUTREACH IN CENTRAL ASIAN COUNTRIES AND FUTURE PROSPECT
jpsjournal1
 
14 Template Contractual Notice - EOT Application
14 Template Contractual Notice - EOT Application14 Template Contractual Notice - EOT Application
14 Template Contractual Notice - EOT Application
SyedAbiiAzazi1
 

Recently uploaded (20)

Ethernet Routing and switching chapter 1.ppt
Ethernet Routing and switching chapter 1.pptEthernet Routing and switching chapter 1.ppt
Ethernet Routing and switching chapter 1.ppt
 
Modelagem de um CSTR com reação endotermica.pdf
Modelagem de um CSTR com reação endotermica.pdfModelagem de um CSTR com reação endotermica.pdf
Modelagem de um CSTR com reação endotermica.pdf
 
Recycled Concrete Aggregate in Construction Part III
Recycled Concrete Aggregate in Construction Part IIIRecycled Concrete Aggregate in Construction Part III
Recycled Concrete Aggregate in Construction Part III
 
Unbalanced Three Phase Systems and circuits.pptx
Unbalanced Three Phase Systems and circuits.pptxUnbalanced Three Phase Systems and circuits.pptx
Unbalanced Three Phase Systems and circuits.pptx
 
Literature Review Basics and Understanding Reference Management.pptx
Literature Review Basics and Understanding Reference Management.pptxLiterature Review Basics and Understanding Reference Management.pptx
Literature Review Basics and Understanding Reference Management.pptx
 
Series of visio cisco devices Cisco_Icons.ppt
Series of visio cisco devices Cisco_Icons.pptSeries of visio cisco devices Cisco_Icons.ppt
Series of visio cisco devices Cisco_Icons.ppt
 
basic-wireline-operations-course-mahmoud-f-radwan.pdf
basic-wireline-operations-course-mahmoud-f-radwan.pdfbasic-wireline-operations-course-mahmoud-f-radwan.pdf
basic-wireline-operations-course-mahmoud-f-radwan.pdf
 
Heap Sort (SS).ppt FOR ENGINEERING GRADUATES, BCA, MCA, MTECH, BSC STUDENTS
Heap Sort (SS).ppt FOR ENGINEERING GRADUATES, BCA, MCA, MTECH, BSC STUDENTSHeap Sort (SS).ppt FOR ENGINEERING GRADUATES, BCA, MCA, MTECH, BSC STUDENTS
Heap Sort (SS).ppt FOR ENGINEERING GRADUATES, BCA, MCA, MTECH, BSC STUDENTS
 
一比一原版(UMich毕业证)密歇根大学|安娜堡分校毕业证成绩单专业办理
一比一原版(UMich毕业证)密歇根大学|安娜堡分校毕业证成绩单专业办理一比一原版(UMich毕业证)密歇根大学|安娜堡分校毕业证成绩单专业办理
一比一原版(UMich毕业证)密歇根大学|安娜堡分校毕业证成绩单专业办理
 
Fundamentals of Electric Drives and its applications.pptx
Fundamentals of Electric Drives and its applications.pptxFundamentals of Electric Drives and its applications.pptx
Fundamentals of Electric Drives and its applications.pptx
 
Harnessing WebAssembly for Real-time Stateless Streaming Pipelines
Harnessing WebAssembly for Real-time Stateless Streaming PipelinesHarnessing WebAssembly for Real-time Stateless Streaming Pipelines
Harnessing WebAssembly for Real-time Stateless Streaming Pipelines
 
PROJECT FORMAT FOR EVS AMITY UNIVERSITY GWALIOR.ppt
PROJECT FORMAT FOR EVS AMITY UNIVERSITY GWALIOR.pptPROJECT FORMAT FOR EVS AMITY UNIVERSITY GWALIOR.ppt
PROJECT FORMAT FOR EVS AMITY UNIVERSITY GWALIOR.ppt
 
6th International Conference on Machine Learning & Applications (CMLA 2024)
6th International Conference on Machine Learning & Applications (CMLA 2024)6th International Conference on Machine Learning & Applications (CMLA 2024)
6th International Conference on Machine Learning & Applications (CMLA 2024)
 
digital fundamental by Thomas L.floydl.pdf
digital fundamental by Thomas L.floydl.pdfdigital fundamental by Thomas L.floydl.pdf
digital fundamental by Thomas L.floydl.pdf
 
Hierarchical Digital Twin of a Naval Power System
Hierarchical Digital Twin of a Naval Power SystemHierarchical Digital Twin of a Naval Power System
Hierarchical Digital Twin of a Naval Power System
 
BPV-GUI-01-Guide-for-ASME-Review-Teams-(General)-10-10-2023.pdf
BPV-GUI-01-Guide-for-ASME-Review-Teams-(General)-10-10-2023.pdfBPV-GUI-01-Guide-for-ASME-Review-Teams-(General)-10-10-2023.pdf
BPV-GUI-01-Guide-for-ASME-Review-Teams-(General)-10-10-2023.pdf
 
Technical Drawings introduction to drawing of prisms
Technical Drawings introduction to drawing of prismsTechnical Drawings introduction to drawing of prisms
Technical Drawings introduction to drawing of prisms
 
bank management system in java and mysql report1.pdf
bank management system in java and mysql report1.pdfbank management system in java and mysql report1.pdf
bank management system in java and mysql report1.pdf
 
CHINA’S GEO-ECONOMIC OUTREACH IN CENTRAL ASIAN COUNTRIES AND FUTURE PROSPECT
CHINA’S GEO-ECONOMIC OUTREACH IN CENTRAL ASIAN COUNTRIES AND FUTURE PROSPECTCHINA’S GEO-ECONOMIC OUTREACH IN CENTRAL ASIAN COUNTRIES AND FUTURE PROSPECT
CHINA’S GEO-ECONOMIC OUTREACH IN CENTRAL ASIAN COUNTRIES AND FUTURE PROSPECT
 
14 Template Contractual Notice - EOT Application
14 Template Contractual Notice - EOT Application14 Template Contractual Notice - EOT Application
14 Template Contractual Notice - EOT Application
 

Declarative Programming and a form of SDN

  • 1. 19  Feb.  2015   Miya  Kohno,  miya.kohno@gmail.com   “Declarative Programming” and a form of SDN Network Programmability Study Group Workshop #3 http://network-programmability.connpass.com/
  • 2. About me •  Miya  Kohno,  Principal  Engineer,  Cisco  Systems   •  Used  to  be  a  soDware  engineer   - Love  of  Programming  style  discussion •  ADer  that,  I  have  been  a  network  engineer   - Protocol     - Network  Architecture •  Official  Blog   - hPp://gblogs.cisco.com/jp/author/miyakohno/   •  TwiPer   @mkohno  
  • 3. Agenda •  Programming  Paradigm  Discussion  in  the  Networking   Discipline   •  A  Form  of  SDN Open  Daylight  -­‐-­‐  BGP-­‐LS/PCEP and  MD-­‐SAL  
  • 4. What is Network Programmability ?! •  Neutron I E T F •  NETCONF/YANG   •  I2RS   •  FORCES   •  + and  any  network  protocols  !     To  be  Programmed  /   Orchestrated  by  Network   Engineers To  Program  Network  Devices  (Virtual,   Physical)
  • 5. Programming Paradigm Trend in the Networking Discipline (hypothesis) •  Not  Impera^ve  but  Declara7ve     •  Not  Procedural  but  Model  driven     •  Not  Waterfall  but  Agile  
  • 6. What’s Declarative Programming ? •  A  program  that  describes  what  computa^on  should  be  performed  and   not  how  to  compute  it     •  Any  programming  language  that  lacks  side  effects  (or  more  specifically,   is  referen^ally  transparent)     •  A  language  with  a  clear  correspondence  to  mathema^cal  logic   http://en.wikipedia.org/wiki/Declarative_programming Any  style  of  programming  that  is  not  impera^ve  
  • 7. What’s Declarative Programming ? http://karari.tumblr.com/post/61067682037/clojure “Add  all  the  integers  from  1  to  10”   Impera^ve  code   var s = 0;! for(var n=1; n=10; n++)! {! s = s + n; ! }! console.log(s);! //55! Declara^ve  code   (- (range 1 11)! (reduce +)! (println)! )! //55! Flowchart  !   Model  !!   n  =  10  ?     •  Add   •  increment  n   1  ...  10   A set of the integers range : 1…10 sum
  • 8. What’s Declarative Programming ? Lack  of  side  effect  :      Referen^ally  Transparent,  Idempotent     Referen^al  Transparency     A  property  whereby  an  expression  can  be  replaced  by  its  value  without   affec^ng  the  program     e.g.  to  use  global  variables  makes  it  referen^ally  opaque   Idempotence     A  quality  of  an  ac^on  such  that  repe^^ons  of  the  ac^on  have  no  further  effect  on   outcome     e.g.  n++;  (incremen^ng)  is  not  idempotent à  These  concepts  are  important  for  networking  compu^ng  /  distributed   parallel  compu^ng,  where  environment  is  uncertain  and  such  things  like   retries  or  duplicates  could  more  likely  happen..  
  • 9. Idempotence group{'sysadmin':! !ensure=present! }! # First Puppet Run! notice: /Group[sysadmin]/ensure: created! notice: Finished catalog run in 0.08 seconds! ! # Second Puppet Run! notice: Finished catalog run in 0.03 seconds! An  example  from  Puppet   To  state  the  desired   status  =  “present”   The  second  run  is  not   executed,  because  it  is   already  “present”   We  could  do  this  using  Shell  Script(Impera^ve),  but  with  condi^onal  branches..       if[`getentgroupsysadmin|awk-F:'{print$1}'`==]! !then! ! !groupaddsysadmin! fi!
  • 10. What’s Declarative Programming ? [Pros]   •  Robustness  and  Scalability   -­‐  In  uncertain  and  complex  environments   -­‐  In  distributed  parallel  systems   •  Reusability,  Maintainability   [Cons]   •  Tend  to  be  Turing  incomplete   •  BePer  to  restrict  domain/scope   •  Not  good  at  controlling  details     To  agree  on     “what”   Model   Referen^al   Transparence   and   Idempotence  
  • 11. Turing completeness? •  Defini^on  of  Turing  completeness     -  A  computa^onal  system  that  can  compute  every  Turing-­‐computable   func^on  is  called  Turing  complete  (or  Turing  powerful).  Alterna^vely,   such  a  system  is  one  that  can  simulate  a  universal  Turing  machine.   hPp://en.wikipedia.org/wiki/Turing_completeness   -  Impera^ve  languages  are  all  Turing  complete.  (e.g.  C,  Java,  Perl,  PHP,   Python..)     •  Declara^ve  languages  tend  to  be  Turing  incomplete   -  It  does  not  mean  Declara^ve  languages  cannot  be  Turing  complete.     -  It’s  bePer  not  to  be  universally  powerful.  Instead,  by  limi^ng  the   scope  or  context,  the  power  of  declara^veness  would  be  op^mized.                (e.g.  SQL,  HTML,  JSON,  YANG..)  
  • 12. What’s Declarative Programming ? Impera^ve   Declara^ve   Programming   Language   •  Procedural   Programming   •  Func^onal  Programming   •  Domain  Specific   Language   Network  Control   •  Openflow                            OVS   •  DB   •  NETCONF/RESTCONF   •  Control  Plane  Protocols   Orchestra^on/ Automa^on   •  Workflow   •  Model-­‐driven   Configura^on   Management   •  Script   •  Puppet   •  CFEngine     •  OVSDB  
  • 13. Transport   Assurance   Orchestra^on   Control   Infrastructure   •  Physical   •  Virtual   virtual   physical   Service   Applica^on   Forwarding  Plane   (Distributed)  Control  Plane   (Centralized)  Control  Plane   Domain  Orchestra^on   Service  Orchestra^on   Service,  Applica^on   Hierarchy in Network Programmability Various  forms  of   Programmability  
  • 14. •  Addi^on  of  Model  Driven  SAL(Service  Adapta^on  Layer)   •  Various  Southbound  Protocol  (BGP-­‐LS,  PCEP..)   •  Supports  both  physical  and  virtual  devices   E.g. OpenDaylight Controller Architecture http://www.opendaylight.org/ Declara^ve   Impera^ve  
  • 15. •  NFVO  (NFV  Service  Orchestrator)     •  VNFM  (VNF  Manager)   •  VIM  (Virtual  Infrastructure  Manager)  –  Openstack,  etc.   E.g. ETSI NFV Orchestration Architecture Imperative BSS   EMS1   Virtualiza^on  Layer   VNFM   VIM   Virtual   Compu^ng   Virtual   Storage   Virtual   Networ k   NFVO   NFVI   NFV   Management   and   Orchestra^on   (Mano)   Compu^ng   Hardware   Storage   Hardware   Network   Hardware   VNF1   VNF2   VNF3   Tail-­‐f  NCS  EMS1   EMS1   OSS   SID   Workflow   Script   YANG  Model   VNF,  VNFM    Interface  Defini^ons   YANG  Model   Service  Defini^ons   Declarative
  • 16. Imperative vs Declarative – which fits where •  For  determinis^c  environment    à  Impera^ve   •  For  uncertain(*)  environment     à  Declara^ve     (*)  What  causes  uncertainty   •  Logical  and  physical  distance   •  Scale-­‐up,  Growth   •  Various  kind  of  components   •  Distributed  parallel  systems   •  Mul^-­‐agent  system  
  • 17. (Appendix) Programming Paradigm discussion in Computing discipline Object  Oriented   Procedural   Declara^ve,   Func^onal   Conflict  ?!   •  Object  Oriented  and  Func^onal  Programming  are  conflic^ng.   •  Due  to  the  difference  of  the  principles?     Impera^ve   Declara^ve  
  • 18. (Appendix) Imperative vs Declarative discussion in Cloud Management area hPp://docs.oasis-­‐open.org/tosca/TOSCA/v1.0/ cs01/TOSCA-­‐v1.0-­‐cs01.pdf   Proceedings  of  the  IEEE  Interna^onal  Conference  on  Cloud   Engineering  (IEEE  IC2E  2014)}  March  2014,  p87-­‐96,  DOI  10.1109/IC2E. 2014.56  
  • 19. (Appendix – yet another icing on the cake) Human and Machine Impera^ve  Paradigm     •  Human  who  writes  program  knows  everything     Declara^ve  Paradigm     •  Human  may  NOT  know  everything   -­‐  Machine  learning/Deep  Learning   -­‐  Agent  based  system     •  Network  centric  programming   -­‐  A  module  to  program  another  module  via  network    
  • 20. Agenda •  Programming  Paradigm  Discussion  in  the  Networking   Discipline   •  A  Form  of  SDN Open  Daylight  -­‐-­‐  BGP-­‐LS/PCEP and  MD-­‐SAL  
  • 21. “Network” from the viewpoint of Network Engineers ?! Network  Engineers’  view   Image  source  :    hPp://www.dreams^me.com/royalty-­‐free-­‐stock-­‐images-­‐3d-­‐white-­‐people-­‐system-­‐administrator-­‐image28585969,     hPp://www.sudarshansoDech.com/chnt3.htm   node   link   •  Only  if  we  announce  the   endpoint  informa^on  and   requirements,     •  Then  it  will  be  connected!   GW   •  IP  addr/subnet   •  vlan   •  port   External  Network   Internal  Network   Security   Server  Engineers’  view   •  Network  consists  of  nodes  and   links.   •  Topology  maPers,  Bandwidth   maPers..   •  Cost,  Delay,  JiPer  trade-­‐offs..  
  • 22. BGP−LS and PCEP – SDN for Network Engineering R5   R6   R7   R3   R4   R1   R2   SDN  Controller   Programming  CollecIon   NB  interface   PCEP  BGP-­‐LS,   etc   Conges^on!   TE  Path  calcula^on  and  setup   Collect  informa^on:   Topology,  Bandwidth,  Usage..   •  Path  to  sa^sfy  SLA   •  Disjoint  paths  based  on  QoS   requirements  
  • 23. •  TCP  MD5  Signature  Op^on  (rfc2385)  has  become  separated  from  BGPCEP  project   •  SDNi(SDN  interface)  depends  on  BGP  implementa^on   Implementation of BGP-LS, PCEP in Open Daylight http://www.opendaylight.org/
  • 24. Topology Learning by BGP-LS https://wiki.opendaylight.org/images/e/e3/ Os2014-md-sal-tutorial.pdf
  • 25. Path (Tunnel) setup by PCEP https://wiki.opendaylight.org/view/BGP_LS_PCEP:Programmer_Guide R5   R6   R7   R3   R4   R1   R2   SDN  Controller   Programming  CollecIon   NB  interface   PCEP  BGP-­‐LS,  etc   •  draD-­‐ie|-­‐pce-­‐stateful-­‐pce-­‐02  and  draD-­‐crabbe-­‐ini^ated-­‐00   •  draD-­‐ie|-­‐pce-­‐stateful-­‐pce-­‐07,  draD-­‐ie|-­‐pce-­‐pce-­‐ini^ated-­‐lsp-­‐00   •  draD-­‐sivabalan-­‐pce-­‐segment-­‐rou^ng-­‐02   Create   node,  name,   arguments,  endpoints-­‐obj,   ero,  lsp   Update   node,  name,   arguments,  opera^onal,   ero,  lsp   Remove   node,  name  
  • 26. (Appendix: Segment Routing)   Controller      DC   Cross  Domain   Orchestra^on   IPv4/IPv6   MPLS   Network   DC       Controller   Segment   RouIng   One  Collector   APIs   MPLS   Segment  RouIng   Control  Plane   LDP  and  RSVP  for   Label  distribu^on   IGP  extension  to   distribute  Segment   ID     Traffic   Engineering   RSVP  TE  signaling   Explicit  path  is   expressed  by   header  stack   ProtecIon   RSVP  TE  FRR   (IP  FRR/LFA  has   topology   restric^on)   Topology-­‐ Independent  FRR   •  Simple   •  No  extra  control  plane  (RSVP,  LDP)     •  No  RSVP  state  in  the  network   •  Applica^on  centric  
  • 27. Model Driven SAL http://www.opendaylight.org/ AD-­‐SAL   MD-­‐SAL   •  The  Model-­‐driven  approach  to  service  abstrac^on  presents  an  opportunity  to   unify  both  northbound  and  southbound  APIs  and  the  data  structures  used  in   various  services  and  components  of  an  SDN  Controller.  
  • 28. Model-Driven SAL 28     module  topology-­‐tunnel-­‐pcep-­‐programming  {                  yang-­‐version  1;                  namespace  urn:opendaylight:params:xml:ns:yang:topology:tunnel:pcep:programming;                  prefix  ttpp;            import  pcep-­‐types  {  prefix  pcep;  revision-­‐date  2013-­‐10-­‐05;  }          import  topology-­‐tunnel-­‐programming  {  prefix  ttp;  revision-­‐date  2013-­‐09-­‐30;  }          import  topology-­‐tunnel-­‐p2p  {  prefix  p2p;  revision-­‐date  2013-­‐08-­‐19;  }          import  topology-­‐tunnel-­‐pcep  {  prefix  ptp;  revision-­‐date  2013-­‐08-­‐20;  }                    organization  Cisco  Systems,  Inc.;                  contact  Robert  Varga  rovarga@cisco.com;                    description                                  This  module  contains  the  programming  extensions  for  tunnel                                  topologies.                                    Copyright  (c)2013  Cisco  Systems,  Inc.  All  rights  reserved.                                    This  program  and  the  accompanying  materials  are  made  available                                  under  the  terms  of  the  Eclipse  Public  License  v1.0  which                                  accompanies  this  distribution,  and  is  available  at                                  http://www.eclipse.org/legal/epl-­‐v10.html;            rpc  pcep-­‐create-­‐p2p-­‐tunnel  {                  input  {                          uses  ttp:create-­‐p2p-­‐tunnel-­‐input;                            uses  p2p:tunnel-­‐p2p-­‐path-­‐cfg-­‐attributes;                          uses  ptp:tunnel-­‐pcep-­‐link-­‐cfg-­‐attributes;                  }                  output  {                          uses  ttp:create-­‐p2p-­‐tunnel-­‐output;                  }          }          rpc  pcep-­‐destroy-­‐tunnel  {                  input  {                          uses  ttp:destroy-­‐tunnel-­‐input;                  }                  output  {                          uses  ttp:destroy-­‐tunnel-­‐output;                  }          }          rpc  pcep-­‐update-­‐tunnel  {                  input  {                          uses  ttp:base-­‐tunnel-­‐input;                            uses  p2p:tunnel-­‐p2p-­‐path-­‐cfg-­‐attributes;                          uses  ptp:tunnel-­‐pcep-­‐link-­‐cfg-­‐attributes;                  }                  output  {                          uses  ttp:base-­‐tunnel-­‐output;                  }          }! }! Yang   Tools   Plugin   Plugin   Model   topology-tunnel-pcep-programming.yang APIs  
  • 29. Model-Driven SAL •  Controller  SAL  to  communicate  with  other  controller  components,   applica^ons,  and  plugins.     Controller  SAL  
  • 30. Why Model? •  Model  is  a  representa^on  of  a  part  of  the  func^on,  structure   and/or  behavior  of  a  system  (*)   (*)  Architectural  Board    ORMSC,  “Model  Driven  Architecture”,  July  2001   •  Advantage  of  Model   •  Declara^ve     Agree  on  “what”,  not  “how”   •  Commonality    Abstract  diversity   •  Reusability,  Maintainability,  Portability     Conversion  from  model  to  model   •  Robustness  in  uncertain  environment  
  • 31. Agenda •  Programming  Paradigm  Discussion  in  the  Networking   Discipline   •  A  Form  of  SDN Open  Daylight  -­‐-­‐  BGP-­‐LS/PCEP and  MD-­‐SAL   Declara^ve  programming  and  Model-­‐drivenness  has   an  advantage  in  networking  compu^ng,  where  the   environment  is  more  uncertain.