Policy-driven Development
Leveraging Rich Services to Empower Stakeholders
Barry Demchak (bdemchak@ucsd.edu) & Ingolf Krüger
California Institute for Telecommunications and Information Technology, San Diego Division
Problem
Cyberinfrastructure (CI)† † context
• 100s of stakeholders (e.g., producers,
consumers, operators, etc.)
• Stakeholders opt in only when CI
satisfies their requirements
• Requirements frequently change &
often mis-implemented
• CIs have long delivery times
Consequence
• More stakeholders  requirement
churn, even longer delivery times
Contradiction
• More stakeholders  fewer
stakeholders opt in
∴ lower likelihood CI will satisfy
community requirements
Result
• CI underserves stakeholders
Solution
CI as scaffolding supporting:
• basic data and control flows
• high availability & reliability
• scalability (bandwidth/storage/…)
Policy definition/execution
• stakeholder authorable
• injected directly into CI
• constrains/augments data & control
flows
Challenges
Requirement elicitation
• Enable stakeholders to articulate
requirements as policies
• Enable complex/compound policies
Policy enactment
• Refine policies into executable code
• Compose and coordinate policy
execution
Policy deployment
• Verify completeness/correctness
• Maintain system consistency
This material is based upon work supported by the National Institutes of Health
Under Grant No 1U01CA130771-01 (Project PALMS: Kevin Patrick, PI)
and the National Science Foundation under Grant No CNS-0932403
f
† †Cyberinfrastructures (CI)
f
f
†PALMS References
Physical Activity Location Measurement System to understand where activity-related energy expenditure occurs in
humans as a function of time and space. Harvests data from wearable devices on small and large scales, provides
framework for research and analysis, and has ultimate goal of discovering methods for engineering better health.
An Internet-based research computing environment that supports data acquisition, data storage, data
management, data integration, data mining, data visualization, and other computing and information processing
services. Different stakeholders produce, consume, manage, and govern a CI, and their requirements must be
simultaneously met or else the integrity of the CI degrades.
1. J. Juerjens. Security Systems Development with UML. Springer-Verlag Berlin Heidelberg, 2003.
2. T. Lodderstedt, D. Basin, and J. Doser. SecureUML: A UML-Based Modeling Language for Model-Driven Security. Proceedings
of the 5th International Conference on The Unified Modeling Language. pp426-441. Springer Verlag, 2002.
3. M. Arrott, B. Demchak, V. Ermagan, C. Farcas, E. Farcas, I. H. Krüger, and M. Menarini. Rich Services: The Integration Piece
of the SOA Puzzle. In Proceedings of the IEEE International Conference on Web Services (ICWS), Salt Lake City, Utah, USA.
IEEE, Jul. 2007, pp. 176-183.
4. A. Bhattacharjee and R. Shyamasundar. Activity Diagrams: A Formal Framework to Model Business Processes and Code
Generation. Journal of Object Technology. Vol 8, No 1, Jan 2009.
5. M. Fowler. Domain-Specific Languages. Boston, MA: Addison-Wesley, Pearson Education, Inc. Sept 2010.
6. K. Jensen and L. Kristensen. Coloured Petri Nets: Modeling and Validation of Concurrent Systems. Berlin: Springer-Verlag.
2009.
Techniques
Model-driven engineering
• Stakeholders specify policies
directly1,2 on workflow models (UML
Activity Diagrams4) using visual
Domain Specific Language (DSL5)
• Refinement follows Rich Service3
decomposition & logical/deployment
transformation
• Policies specify alternate workflows
& data flow transformations
• Model checking using CPN Tools6
Service Oriented Architecture-
based execution & deployment
• Leverage standard patterns3:
strategy, messaging, routing, &
composite pattern
• Leverage role-based interaction,
choreography & interceptor
techniques
PALMS† Case Study
Sensor Data Data Storage Calculations Visualization
Overall Requirements
Register with Study Add to Device List
User,
Dev
List Devices Select Device Add to Study
User,
Dev
User
User,
Devs
Create Study Add Device
Return Error
1: Only RA can
add device
2: User ∈ {“RA”}
3: User ∈ {“RA”}
 normal flow,
else error flow
PALMS-CI
Service Data
Connector
User
Access
Policies
Study
GlobalDeviceList
Study
Service Data
Connector
StudyDeviceList
3a. Constraint finally
expressed as
interceptor on
data flow
1.Stakeholder
expresses
constraint on
high level
workflow activity 2.Constraint is re-
expressed in each
workflow refinement
Conditional replacement of data flow or control flow
A Policy is …
Refinement Driven by …
Rich Service
Decomposition
3b. Policy executed
by Interceptor
OK
Study GlobalDeviceList
AddDeviceToStudy
User PALMS-CI
AddStudy
OK
GetAvailDevices
AvailDeviceList
AddDeviceToStudy
OK
Select
Device
StudyDeviceList
AddDeviceToStudy
OK
GetAvailDevices
AvailDeviceList

Poster jsoe research expo 2011

  • 1.
    Policy-driven Development Leveraging RichServices to Empower Stakeholders Barry Demchak (bdemchak@ucsd.edu) & Ingolf Krüger California Institute for Telecommunications and Information Technology, San Diego Division Problem Cyberinfrastructure (CI)† † context • 100s of stakeholders (e.g., producers, consumers, operators, etc.) • Stakeholders opt in only when CI satisfies their requirements • Requirements frequently change & often mis-implemented • CIs have long delivery times Consequence • More stakeholders  requirement churn, even longer delivery times Contradiction • More stakeholders  fewer stakeholders opt in ∴ lower likelihood CI will satisfy community requirements Result • CI underserves stakeholders Solution CI as scaffolding supporting: • basic data and control flows • high availability & reliability • scalability (bandwidth/storage/…) Policy definition/execution • stakeholder authorable • injected directly into CI • constrains/augments data & control flows Challenges Requirement elicitation • Enable stakeholders to articulate requirements as policies • Enable complex/compound policies Policy enactment • Refine policies into executable code • Compose and coordinate policy execution Policy deployment • Verify completeness/correctness • Maintain system consistency This material is based upon work supported by the National Institutes of Health Under Grant No 1U01CA130771-01 (Project PALMS: Kevin Patrick, PI) and the National Science Foundation under Grant No CNS-0932403 f † †Cyberinfrastructures (CI) f f †PALMS References Physical Activity Location Measurement System to understand where activity-related energy expenditure occurs in humans as a function of time and space. Harvests data from wearable devices on small and large scales, provides framework for research and analysis, and has ultimate goal of discovering methods for engineering better health. An Internet-based research computing environment that supports data acquisition, data storage, data management, data integration, data mining, data visualization, and other computing and information processing services. Different stakeholders produce, consume, manage, and govern a CI, and their requirements must be simultaneously met or else the integrity of the CI degrades. 1. J. Juerjens. Security Systems Development with UML. Springer-Verlag Berlin Heidelberg, 2003. 2. T. Lodderstedt, D. Basin, and J. Doser. SecureUML: A UML-Based Modeling Language for Model-Driven Security. Proceedings of the 5th International Conference on The Unified Modeling Language. pp426-441. Springer Verlag, 2002. 3. M. Arrott, B. Demchak, V. Ermagan, C. Farcas, E. Farcas, I. H. Krüger, and M. Menarini. Rich Services: The Integration Piece of the SOA Puzzle. In Proceedings of the IEEE International Conference on Web Services (ICWS), Salt Lake City, Utah, USA. IEEE, Jul. 2007, pp. 176-183. 4. A. Bhattacharjee and R. Shyamasundar. Activity Diagrams: A Formal Framework to Model Business Processes and Code Generation. Journal of Object Technology. Vol 8, No 1, Jan 2009. 5. M. Fowler. Domain-Specific Languages. Boston, MA: Addison-Wesley, Pearson Education, Inc. Sept 2010. 6. K. Jensen and L. Kristensen. Coloured Petri Nets: Modeling and Validation of Concurrent Systems. Berlin: Springer-Verlag. 2009. Techniques Model-driven engineering • Stakeholders specify policies directly1,2 on workflow models (UML Activity Diagrams4) using visual Domain Specific Language (DSL5) • Refinement follows Rich Service3 decomposition & logical/deployment transformation • Policies specify alternate workflows & data flow transformations • Model checking using CPN Tools6 Service Oriented Architecture- based execution & deployment • Leverage standard patterns3: strategy, messaging, routing, & composite pattern • Leverage role-based interaction, choreography & interceptor techniques PALMS† Case Study Sensor Data Data Storage Calculations Visualization Overall Requirements Register with Study Add to Device List User, Dev List Devices Select Device Add to Study User, Dev User User, Devs Create Study Add Device Return Error 1: Only RA can add device 2: User ∈ {“RA”} 3: User ∈ {“RA”}  normal flow, else error flow PALMS-CI Service Data Connector User Access Policies Study GlobalDeviceList Study Service Data Connector StudyDeviceList 3a. Constraint finally expressed as interceptor on data flow 1.Stakeholder expresses constraint on high level workflow activity 2.Constraint is re- expressed in each workflow refinement Conditional replacement of data flow or control flow A Policy is … Refinement Driven by … Rich Service Decomposition 3b. Policy executed by Interceptor OK Study GlobalDeviceList AddDeviceToStudy User PALMS-CI AddStudy OK GetAvailDevices AvailDeviceList AddDeviceToStudy OK Select Device StudyDeviceList AddDeviceToStudy OK GetAvailDevices AvailDeviceList