130 likes | 220 Views
Some Random Thoughts on Policy Refinement …. Arosha K Bandara Department of Computing, Imperial College London, UK 31 October 2003. Motivation. P4. Policy Flexible Adaptable Scalable. P1. P3. P2.
E N D
Some Random Thoughts onPolicy Refinement … Arosha K Bandara Department of Computing, Imperial College London, UK 31 October 2003
Motivation P4 • Policy • Flexible • Adaptable • Scalable P1 P3 P2 Policies need to be correct, complete and valid Derive policies from high-level requirements and system description • Cassasa-Mont et al., “Policy Refinement Wizard”; • Various, “Domain/Role hierarchy traversal” Object Refinement Policy Refinement Action Refinement • van Lamsweerde, “Goal Elaboration” (c) DoC, Imperial College London, 2003
The Big Picture – An Example ServerSite 12.0.0.0/16 12.0.0.2 Research 9.0.0.0/16 Router 4 eComm SLA Definition 12.0.0.3 8.0.0.4 9.0.0.3 Core 8.0.0.0/16 8.0.0.3 ... G5 – Web Services Applications on eComm Server get Gold QoS ... Router 3 CICS 8.0.0.2 8.0.0.1 Accounting 11.0.0.0/16 Router 2 Router 1 11.0.0.2 Engineering 10.0.0.0/16 10.0.0.1 SrcIP SrcPort TCP/UDP DestIP DestPort PHB RateLimit Overflow * * TCP 12.0.0.3 80 EF 10Mbps BestEffort 12.0.0.3 * TCP * * EF 10Mbps BestEffort... Verma D. C., “Policy Validation and Translation Algorithms” in “Policy-based Networking” (c) DoC, Imperial College London, 2003
KAOS Goals Obstacle Objects / Ops Resolve Obstacle Operational Goal Properties Capabilities Properties Capabilities Properties Capabilities Properties Capabilities The Approach GOALS SYSREQ Assign Resp. SYSTEM COMPONENTS Van Lamsweerde A., Darimont R. et al., “Goal-directed Requirements Elaboration” (c) DoC, Imperial College London, 2003
ABDUCTION ABDUCTION The Approach KAOS SX Goals Obstacle GOALS GX Objects / Ops Resolve Obstacle SX1 SX2 SYSREQ Operational Goal ABDUCTION GX1 GX2 Assign Resp. SYSTEM COMPONENTS Properties Capabilities Properties Capabilities Kelly T., et al., “Goal Structured Notation (GSN)” Properties Capabilities (c) DoC, Imperial College London, 2003
RouterID router; Interfaces int; setClassifier(DSCP) : classifier(router, DSCP); setMeter(Meter) : meter(router, Meter); setRateLimit(Limit) : inRate(router, Limit); setScheduler(Rate) : outRate(router, Rate); setOverflow(OF) : overflow(router, OF); DiffServRouter tfcG5 Network traffic to/from WebServices Apps on eCommServer Example - Revisited ServerSite 12.0.0.0/16 12.0.0.2 Research 9.0.0.0/16 Router 4 eComm SLA Definition 12.0.0.3 8.0.0.4 9.0.0.3 Core 8.0.0.0/16 8.0.0.3 ... G5 – Web Services Applications on eComm Server get Gold QoS ... Router 3 CICS 8.0.0.2 8.0.0.1 Accounting 11.0.0.0/16 Router 2 Router 1 11.0.0.2 Engineering 10.0.0.0/16 10.0.0.1 (c) DoC, Imperial College London, 2003
send(pkt, tfcG5) routed(pkt, router, tfcG5) routed(pkt, router, tfcG5) qos(pkt,gold) routed(pkt, router, tfcG5) detected(pkt, router, tfcG5) detected(pkt, router, tfcG5) qos(pkt, gold) P Q detected(pkt, router, tfcG5) configured(pkt, router, gold) P R R Q configured(pkt, router, gold) qos(pkt, gold) Example – Goal Elaboration send(pkt, tfcG5) qos(pkt, gold) (c) DoC, Imperial College London, 2003
routed(pkt, router, tfcG5) detected(pkt, router, tfcG5) configured(pkt, router, gold) qosCharacteristicKnown(gold, qosChar) netStatsKnown(qosChar, netStat) routerParmsKnown(qosChar, netStat, parms) parmsSet(router, parms) classifier(router, parms.DSCP) meter(router, parms.meterType) inRate(router, parms.inRate) outRate(router, parms.outRate) overflow(router, parms.overflow) Example – Goal Elaboration (contd.) send(pkt, tfcG5) qos(pkt, gold) configureNet(gold) ??? setParms(parms) r.setClassifier(parms.DSCP); r.setMeter(parms.meterType); r.setRateLimit(parms.inRate); …. (c) DoC, Imperial College London, 2003
routed(pkt, router, tfcG5) Use Abstract Strategy detected(pkt, router, tfcG5) configured(pkt, router, gold) qosCharacteristicKnown(gold, qosChar) netStatsKnown(qosChar, netStat) routerParmsKnown(qosChar, netStat, parms) Elaborate Goals Further parmsSet(router, parms) classifier(router, parms.DSCP) meter(router, parms.meterType) Extend System Description inRate(router, parms.inRate) outRate(router, parms.outRate) overflow(router, parms.overflow) Example – Goal Elaboration (contd.) send(pkt, tfcG5) qos(pkt, gold) configureNet(gold) ??? setParms(parms) r.setClassifier(dscp); r.setMeter(meter); r.setRateLimit(inRate); …. (c) DoC, Imperial College London, 2003
Pulling it together … on administratorRequest target /routers/ do networkConfig so that tfcG5 traffic gets Gold QoS Refinement Process on administratorRequest target t = /routers/ do t.setDSCP(DSCP) t.setMeter(Meter) t.setRateLimit(Limit) ... (c) DoC, Imperial College London, 2003
Issues • What is the most suitable notation for defining the properties and capabilities of the system components? • What is the computational feasibility of the goal elaboration approach given it is based on Temporal Logic? • Are there a set of heuristic rules (or patterns) that can be applied to determine the strategies that should be implemented by policy? • How could we leverage the Event Calculus based analysis techniques developed previously? • What are the limitations (if any) of the example scenario chosen? (c) DoC, Imperial College London, 2003
Next Steps • Integrate this approach with the object refinement techniques identified previously. • Extend example to cover security goals and associated policies. • Develop heuristic rules (or patterns) for mapping strategies to policies. • Integrate the Event Calculus based analysis techniques developed previously. • Investigate tool support options for the overall method. (c) DoC, Imperial College London, 2003
Thank You !Questions? Emil Lupu Alessandra Russo Jonathan Moffett (c) DoC, Imperial College London, 2003