SlideShare ist ein Scribd-Unternehmen logo
1 von 38
Policy Driven Development
Flexible Policy Insertion for Large Scale Systems
POLICY 2012
Chapel Hill, NC
July 16, 2012
Barry Demchak
1
Developer The Problem
2
Stakeholder
Code
Run
Implement
Buggy code
Misinterpretation
Misimplementation
Misspecification
Obsolete-on-arrival
Impedance mismatch
Need
Refinement
Clutter and overgrowth
Requirements
Long development
Long release
Source unavailable
Personnel attrition
Consequences
• Stakeholders disaffected
and disenfranchised
• Lost productivity
and opportunity
Observation
• Agile doesn’t scale well
Roadmap
• Problem description
• Solution outline
• Examples in real world PALMS system
• Policy languages – a Domain Specific Language (DSL) approach
• System of Systems composition
• Evaluation
• Conclusions
• Future work
3
The Problem (cont’d)
signOn()
amount = keyWithdrawalAmount()
dispenseCash(amount)
4
New requirements
1. Error if out-of-state
2. Max withdrawal $100if user.outOfState then
error “out of state”
return
amount = min(100, amount)
if not verifyNewAmount(amount)
error “cancelled”
return
Approaches
• Explicit coding
• Property files
• Active Directory, et al
• ABAC/RBAC
• Policy engine (PDP/PEP)
• Aspects (AOP/AOSD)
PALMS ListDevices
Device
Repository
Client
❸❶ ❷
❽ ❺❻❼
Storage
❹
PALMS ListDevices
Device
Repository
Client
❸❶ ❷
❽ ❺❻❼
Storage
❹
Return
ErrorIf User ≠ “Bob”
PALMS ListDevices
Device
Repository
Client
❸❶ ❷
❽ ❺❻❼
Storage
❹
Return
Error
Remove Unauthorized Devices
If User ≠ “Bob”
Insight
5
• Applications as workflows (workflow activity = service = function)
• activities exchange messages
• activities perform work
• Workflows composed at runtime
• Interactions must be identifiable at runtime
• Messages must be interceptable
• Policy as decision that selects amongst workflow alternatives
• Policy programming: upgraded activity that compliments existing processes
Consequences
• Inject control, filter, and feature
via policy
• Stateful policy = application
 Policy-driven runtime
composition of applications (SoS)
Mechanics
6
I0 O0
I1
I...
O1
O...
S
S
D
C
S
D
C
I O P
IP
OP
OP, IQ
IP,OQ Q
OQ
IQ
P⨂Q S
OP
RPQ
P QIQ
OQ
IP
I,O
❻
Router
Messenger
Service/Data
Connector
Service/Data
Connector
{
{
Rich
« Infrastructure »
Services
Rich
« Application »
Services
Service/Data
Connector« PALMS Rich Service »
❶
❷
❸
❹
❺
❻
Device
Repository
Data
Repository
Service/Data
Connector
Context
Manager
Service/Data
Connector
Event
Logging
Service/Data
Connector
Policy
Evaluation
Mechanics (cont’d)
• Control Policy on <P,Q>
– RPQ calls Policy Evaluation RIS {IQ, P, Q}
– Fetch policy πcp for <P,Q>
– Evaluate policy πcp(IQ, P, Q)  new service Wcp
– RPQ executes Wcp(IQ)
– PQ  P  RPQ  Wcp
• Filter Policy on <P,Q>
– RPQ calls Policy Evaluation RIS {IQ, P, Q}
– Fetch policy πfp for <P,Q>
– Evaluate policy πfp(IQ, P, Q)  new service Wfp
– RPQ calculates Wfp(IQ)  IQ
– RPQ executes Q(IQ)
– PQ  P  RPQ  Wfp Q
7
S
OP
RPQ
P QIQ
OQ
IP
I,O
Wcp
PE
Policy Repository
P,Q πcp,fp
IQ,P,Q Wcp
Pre-
Post-
Roadmap
• Problem description
• Solution outline
• Examples in real world PALMS system
• Policy languages – a Domain Specific Language (DSL) approach
• System of Systems composition
• Evaluation
• Conclusions
• Future work
8
PALMS Policy Examples
• Access Control
– Control Policy (at ❸)
– if (subject-in-any-study-role('PI,RA')) then ()
else return-error('Insufficient permissions')
– Filter Policy (at ❼)
– filter-by-any-role('PI,RA')
• Audit (at ❷)
– audit("AuditID1", ("event", "ListDevices"),
("subject", $Subject),
("deviceName", cur-value("deviceName")))
9
PALMS ListDevices
Device
Repository
Client
❸❶ ❷
❽ ❺❻❼
Storage
❹
Return
Error
Remove Unauthorized Devices
If User ≠ “Bob”
Context System
• Optimizations
– Workflow
– Session
– Custom
10
class Expression Data
EnvironmentHistory MessageApplicationState
PointsVisitedByMessage MessagesAtAPoint RowSet
XQueryStatement
Data
CredentialsEvaluation
Policy Evaluation Engine
11
Java
Object XML
XML
XStream
XStream
XQuery
RBAC
(Xdm)
Policy
(XQuery)
(Service)
+
PALMS ListDevices
Device
Repository
Client
❸❶ ❷
❽ ❺❻❼
Storage
❹
Post-filter
ControlPre-filter
Java
Object
Xdm
Item Xdm
Item
Saxon
Saxon
Roadmap
• Problem description
• Solution outline
• Examples in real world PALMS system
• Policy languages – a Domain Specific Language (DSL) approach
• System of Systems composition
• Evaluation
• Conclusions
• Future work
12
XQuery Library Hierarchy
13
auth-treeops
auth-utils auth-msg
auth-query
palms
service audit composition filters
RBAC
(Xdm)
Basic access
control and
messaging
PALMS Policy DSLs
14
Domain Function Params Return
Access
Control
subject-in-any-study-roles
subject-in-all-study-roles
subject-in-any-user-roles
subject-in-all-user-roles
$role-list boolean
filter-by-attribute $name, $value message
filter-by-any-role $role-list message
Policy
Composition
compose-unanimous
compose-override
compose-all
compose-preemptive
compose-hierarchical
General return-error $error $message-q, $message
XQuery expression
PALMS Policy DSLs (cont’d)
15
Domain Function Params Return
Audit audit $auditID {, (name, value) }* message
audit-if $boolean-condition,
$true-param-list,
$false-param-list
param-list
Feature
Composition
call-service $message-q, $message message
System of Systems Composition
16
Router
Messenger
Service/Data
Connector
Service/Data
Connector
{
{
Rich
« Infrastructure »
Services
Rich
« Application »
Services
Service/Data
Connector
« PALMS Rich Service »
Device
Repository
Data
Repository
Service/Data
Connector
Context
Manager
Service/Data
Connector
Event
Logging
Service/Data
Connector
Policy
Evaluation
Router
Messenger
Service/Data
Connector
Service/Data
Connector
{
{
Rich
« Infrastructure »
Services
Rich
« Application »
Services
Service/Data
Connector
« Policy Rich Service »
Policy
Evaluation
Authoring
System
Service/Data
Connector
Event
Logging
Service/Data
Connector
Policy
Evaluation
Service/Data
Connector
Policy
Repository
Router
Messenger
Service/Data
Connector
Service/Data
Connector
{
{
Rich
« Infrastructure »
Services
Rich
« Application »
Services
Service/Data
Connector
« Event Logging Rich Service »
Event Logging
Visualization
System
Service/Data
Connector
Event
Logging
Service/Data
Connector
Policy
Evaluation
Service/Data
Connector
Event
Repository
Roadmap
• Problem description
• Solution outline
• Examples in real world PALMS system
• Policy languages – a Domain Specific Language (DSL) approach
• System of Systems composition
• Evaluation
• Conclusions
• Future work
17
Evaluation
18
# Operation Time (ms)
Client  Storage, empty device DB 63 (54.5 browser +
7.2 server + 1.3 network)
Evaluation
19
# Operation Time (ms)
Client  Storage, empty device DB 63 (54.5 browser +
7.2 server + 1.3 network)
❶ Single service interaction, no Policy Evaluator RIS 0.115
❷ ❶ + Policy Evaluator RIS, empty interaction DB ❶ + 0.203
❸ ❷ + 1 interaction, no policy ❷ + 0.007
Evaluation
20
# Operation Time (ms)
Client  Storage, empty device DB 63 (54.5 browser +
7.2 server + 1.3 network)
❶ Single service interaction, no Policy Evaluator RIS 0.115
❷ ❶ + Policy Evaluator RIS, empty interaction DB ❶ + 0.203
❸ ❷ + 1 interaction, no policy ❷ + 0.007
❸ + control policy ❸ + 76.50
❸ + passthru post-filter policy ❸ + 78.62
❸ + actual post-filter policy, no records ❸ + 84.51
❸ + actual post-filter policy, 1/1 record ❸ + 91.66
❸ + actual post-filter policy, 0/97 records ❸ + 359.98
❸ + actual post-filter policy, 97/97 records ❸ + 818.08
Conclusions
21
Traditional
Programming
Runtime Workflow
Composition
Time to Market
Speed,
Complexity,
StrongGuarantees
Less More
More
• Guarantees
– Depends on DSL language
– Traditional AC languages?
– Dependencies deferred to runtime
• Policy Programmer must know:
– Interactions
– Messages
– Available services
Conclusions
• Policies are mini-applications composed into base
workflow
• Clear positioning of policy relative within highly complex
distributed system
22
Future Work
• Policy programming
– Verification
– Modeling
– Model checking
– Integration of modeling (simulation and debugging)
– Extend to stakeholders (directly)
– Integration of existing policy engines?
• Further speed optimizations
– Precompilation
– Harmonizing message formats or policy language to reduce conversions
• Secure Policy Deployment
23
Questions?
24
• BACKUP SLIDES
• BACKUP SLIDES
• BACKUP SLIDES
• BACKUP SLIDES
• BACKUP SLIDES
• BACKUP SLIDES
• BACKUP SLIDES
25
Existing Choice Mechanisms
• Compile time constants
• Attributes in directories (permissions, owners, groups, etc)
• Permissions in property files (Tomcat policies)
• Attributes and permissions in registries (Active Directory, Facebook privacy,
Oracle database permissions)
• Attribute Based Access Control (ABAC) and Role Based Access Control
(RBAC)
• Declarative mechanisms (triggers)
• All amount to predicates that select workflows based on strategy, bridge, and
state patterns
• Policy Engines, PDP/PEP moves predicates to external policy, but placement
is constant
• BPEL Process Integration with Business Rules
26
Study
Repository
Visualization
Repository
Calculation
Repository
Observation and Solution
PI
Study
Study
Study
PI
Study
Study
PI
Study
PALMS
StudyStudyStudy
Study
StudyStudy
PI PI
PI
Community
• Policy-driven access
control
– Subject data
– Study data
– Calculations
– Visualizations
• Secure
• HIPAA Compliance
• Customized Studies
• Collaboration
• Data Reuse
Browser
Excel,
Matlab…
Personal Activity Location
Measurement System
• Understanding where activity-
related energy expenditure
occurs in time and space
27
Study
Repository
Visualization
Engine
Calculation
Engine
PALMS
StudyStudyStudy
Study
StudyStudy
PI
RA
Enter
Subjects
Enter
Observations
Guest
Real Workflows
28
Study
Repository
Visualization
Engine
Calculation
Engine
PALMS
StudyStudyStudy
Study
StudyStudy
PI
RA
Guest
Policy
Policy
Admin
Policy in Action
Policy (def.): Permission
for someone to act on
something
29
The Technical Requirement
• Technical Requirements
– Support research workflows
– Security and privacy
– High reliability and availability
– Scalability (bandwidth/storage/users)
– Auditability
– Provenance and curation
• Key Insights
– All stakeholders must have requirements met, or CI degrades
– Existing development models have long latencies
– Requirements are often lost in translation
– Success of CI depends on
– Accurate, timely, and continuous requirement elicitation
– Precise requirement formulation
– Low implementation latency
– Automatic requirement composition
30
Policy Driven Development
• Goals
– Enable rapid customization
– Empower stakeholders to directly define behavior
• Service Oriented Architecture (Rich Services)
– Services loosely coupled
– Late binding
– Scalability
– Testable
– Interoperable
– Incremental development
– Composition
– Services can be hierarchically decomposed
31
SPSS
ESRI
GPS Device
Accelerometer
Others
PALMS
Study StudyStudy
Study
Filtering Filtering Filtering
Scoring
Analyzing
Scoring Scoring
Analyzing Analyzing
External
Data
Subject
Data
Raw Data
Others
...
...
Google Maps Viewer Other Local Viewer
Data Flow (CI)
32
Rich Services
33
Messenger
Router/Interceptor
Policy
Service/Data
Connector
Messenger
Router/Interceptor
Failure
Manager
...
<<Rich Service>> S
Service/Data
Connector
...
<<Rich Service>> S.n
Service/Data
Connector }<<
Rich
Infrastructure
Services
>>
Encryption
Service/Data
Connector
Logging
Service/Data
Connector
Failure Manager
Service/Data
Connector
...
Service/Data
Connector
S.1
Service/Data
Connector
S.2
Service/Data
Connector
}<<
Rich
Application
Services
>>
S.n.2
Service/Data
Connector
S.n.m
Service/Data
Connector
}<<
Rich
Application
Services
>>
S.n.1
Service/Data
Connector
Service/Data
Connector
Logging
Service/Data
Connector
Encryption
Service/Data
Connector
Policy ...
Service/Data
Connector
Service/Data
Connector
<<
Rich
Infrastructure
Services
>>
}
From tightly to l o o s e l y coupled systems
Rich Service Blueprint
34
Event Logger
Access
Policies
PALMS Integration System
Integration
Adapter
Data
Repository
HIPAA
Policies
Service/
Data
Connector
Viewer
Viewer
Adapter
Consumer Systems
Service/
Data
ConnectorSensor
Adapter
Sensor
Producer Systems
Subject
Repository
Service/
Data
Connector
Authoring
Calculation
Repository
Calculation Systems
ExecutionPrototyping
Failure Detection/
Mitigation
Logical Architecture
35
Rich Services Virtual Network
Rich Services
RAS4
Services
Service S1
Roles
U1
U2
U3
U4
U5
Use Case Graph
Concerns
C1 C2 C3
C4
CC1
CC2CC3
Domain Model
R1 R2
R3 R4
R5 R6
R1 R2
msg
R3
CC1
CC2
Role Domain Model
R1 R2
R3 R4
R5 R6
CC1 CC2 CC3
Router/Interceptor
Messenger/Communicator
RAS1 RAS2
CC1 CC4 CC5
Router/Interceptor
Messenger/Communicator
RAS5 RAS6RAS3
S
/
D
S
/
D
RIS:
RIS:
ServiceElicitationRichServiceArchitecture
RAS7
System of Systems Topology
H1 H2
H3
H5
H6
H7
H8
H9
H4
RAS1 RAS2 RAS3
RAS5 RAS6 RAS7
Infrastructure Mapping
H1:RAS1 H2:RAS2
H3:CC1
H5:RAS2
H6:RAS5
H7:RAS7H8:RAS7
H9:RAS6
H4:RAS3
Optimization
Implementation
RAS1 RAS2
RAS3 RAS4
RAS5 RAS6
RAS7 CC1
CC2 CC3
CC4 CC5
Analysis
Synthesis
Analysis
Identification
Definition
Consolidation
Refinement
Hierarchic
composition
Refinement
Logical Model
SystemArchitecture
Definition
Logical Architecture Loop
Deployment Loop
Rich Service Development Process
36
Spectrum of Sharing1
Trust Publish Interaction Quality Privacy Enablers
No one Nothing No one - - -
Friends &
Family
Subsets/
derivatives
Word of
mouth
Person to
person
Handshake
promise
None
Community ″ Conference
booths/
papers
Curation2 De-ident &
agreement
Auto de-ident,
Agreement
template3,4
Public ″ Repository/
registry
Taxonomies/
semantics
″ ″
1 C. Fennema-Notestine. Enabling Public Data Sharing: Encouraging Scientific Discovery and Education
2 Strong metadata, use common ontological framework, collection conditions & semantics, validated calculation &
visualization
3 Suggested IRB or HIPAA wording
4 Promise to not re-identify, use data at own risk, no quality guarantees, properly acknowledge data source
37
Deployment
Web Browser
(UI)
PALMS
Service
GWT RPC
Mule Messaging
Browser
Proxy (UI)
PALMS
Subservices
CXF Web Services
Mule Messaging
CXF Web Services
GWT RPC
PALMS Server VM
PC Browser PALMS Server Machine
JAVA (GWT) JAVA (Mule ESB)
38

Weitere ähnliche Inhalte

Andere mochten auch

Feira do conhecimento
Feira do conhecimentoFeira do conhecimento
Feira do conhecimento
marinho2000
 
Inviti mosaico 2011_d_light[1]
Inviti mosaico 2011_d_light[1]Inviti mosaico 2011_d_light[1]
Inviti mosaico 2011_d_light[1]
Trinidad Pasies
 
Cytoscape ci chapter 1
Cytoscape ci chapter 1Cytoscape ci chapter 1
Cytoscape ci chapter 1
bdemchak
 

Andere mochten auch (15)

Feira do conhecimento
Feira do conhecimentoFeira do conhecimento
Feira do conhecimento
 
Inviti mosaico 2011_d_light[1]
Inviti mosaico 2011_d_light[1]Inviti mosaico 2011_d_light[1]
Inviti mosaico 2011_d_light[1]
 
Resultados habitos de estudio
Resultados habitos de estudioResultados habitos de estudio
Resultados habitos de estudio
 
Gds amadeus
Gds amadeusGds amadeus
Gds amadeus
 
Bloque alumnos
Bloque alumnosBloque alumnos
Bloque alumnos
 
Cytoscape ci chapter 1
Cytoscape ci chapter 1Cytoscape ci chapter 1
Cytoscape ci chapter 1
 
La filosofía judía
La filosofía judíaLa filosofía judía
La filosofía judía
 
Agile Mont Kiara Property Project Explained
Agile Mont Kiara Property Project ExplainedAgile Mont Kiara Property Project Explained
Agile Mont Kiara Property Project Explained
 
UX SA Conference 2015: Innovation Toolkit
UX SA Conference 2015: Innovation Toolkit UX SA Conference 2015: Innovation Toolkit
UX SA Conference 2015: Innovation Toolkit
 
Jennifer's Resume
Jennifer's ResumeJennifer's Resume
Jennifer's Resume
 
Volatility vs Annuity in Retirement
Volatility vs Annuity in RetirementVolatility vs Annuity in Retirement
Volatility vs Annuity in Retirement
 
Online Marketing
Online MarketingOnline Marketing
Online Marketing
 
Facebook Open Graph Overview
Facebook Open Graph OverviewFacebook Open Graph Overview
Facebook Open Graph Overview
 
past tense
past tensepast tense
past tense
 
Mosaico n.05 direttiva miur n.11
Mosaico n.05 direttiva miur n.11Mosaico n.05 direttiva miur n.11
Mosaico n.05 direttiva miur n.11
 

Ähnlich wie Policy 2012 presentation

Ähnlich wie Policy 2012 presentation (20)

Navigating the World of User Data Management and Data Discovery
Navigating the World of User Data Management and Data DiscoveryNavigating the World of User Data Management and Data Discovery
Navigating the World of User Data Management and Data Discovery
 
Introduction to SoapUI day 1
Introduction to SoapUI day 1Introduction to SoapUI day 1
Introduction to SoapUI day 1
 
Soap UI - Getting started
Soap UI - Getting startedSoap UI - Getting started
Soap UI - Getting started
 
WhyR? Analiza sentymentu
WhyR? Analiza sentymentuWhyR? Analiza sentymentu
WhyR? Analiza sentymentu
 
Jonathan Dunn Resume
Jonathan Dunn ResumeJonathan Dunn Resume
Jonathan Dunn Resume
 
RUNNING A PETASCALE DATA SYSTEM: GOOD, BAD, AND UGLY CHOICES by Alexey Kharlamov
RUNNING A PETASCALE DATA SYSTEM: GOOD, BAD, AND UGLY CHOICES by Alexey KharlamovRUNNING A PETASCALE DATA SYSTEM: GOOD, BAD, AND UGLY CHOICES by Alexey Kharlamov
RUNNING A PETASCALE DATA SYSTEM: GOOD, BAD, AND UGLY CHOICES by Alexey Kharlamov
 
Capital One: Using Cassandra In Building A Reporting Platform
Capital One: Using Cassandra In Building A Reporting PlatformCapital One: Using Cassandra In Building A Reporting Platform
Capital One: Using Cassandra In Building A Reporting Platform
 
C19013010 the tutorial to build shared ai services session 2
C19013010 the tutorial to build shared ai services session 2C19013010 the tutorial to build shared ai services session 2
C19013010 the tutorial to build shared ai services session 2
 
Data Platform Architecture Principles and Evaluation Criteria
Data Platform Architecture Principles and Evaluation CriteriaData Platform Architecture Principles and Evaluation Criteria
Data Platform Architecture Principles and Evaluation Criteria
 
PayPal datalake journey | teradata - edge of next | san diego | 2017 october ...
PayPal datalake journey | teradata - edge of next | san diego | 2017 october ...PayPal datalake journey | teradata - edge of next | san diego | 2017 october ...
PayPal datalake journey | teradata - edge of next | san diego | 2017 october ...
 
Validation and Business Considerations for Clinical Study Migrations
Validation and Business Considerations for Clinical Study MigrationsValidation and Business Considerations for Clinical Study Migrations
Validation and Business Considerations for Clinical Study Migrations
 
Chill, Distill, No Overkill: Best Practices to Stress Test Kafka with Siva Ku...
Chill, Distill, No Overkill: Best Practices to Stress Test Kafka with Siva Ku...Chill, Distill, No Overkill: Best Practices to Stress Test Kafka with Siva Ku...
Chill, Distill, No Overkill: Best Practices to Stress Test Kafka with Siva Ku...
 
Diksha sda presentation
Diksha sda presentationDiksha sda presentation
Diksha sda presentation
 
Cloud Foundry Roadmap (Cloud Foundry Summit 2014)
Cloud Foundry Roadmap (Cloud Foundry Summit 2014)Cloud Foundry Roadmap (Cloud Foundry Summit 2014)
Cloud Foundry Roadmap (Cloud Foundry Summit 2014)
 
pega Resumes ' pega 7 training classes in USA
pega Resumes ' pega 7 training classes in USApega Resumes ' pega 7 training classes in USA
pega Resumes ' pega 7 training classes in USA
 
Igniting Audience Measurement at Time Warner Cable
Igniting Audience Measurement at Time Warner CableIgniting Audience Measurement at Time Warner Cable
Igniting Audience Measurement at Time Warner Cable
 
Agile Big Data Analytics Development: An Architecture-Centric Approach
Agile Big Data Analytics Development: An Architecture-Centric ApproachAgile Big Data Analytics Development: An Architecture-Centric Approach
Agile Big Data Analytics Development: An Architecture-Centric Approach
 
Pega Sample Resume | Pega cssa resumes
Pega Sample Resume | Pega cssa resumesPega Sample Resume | Pega cssa resumes
Pega Sample Resume | Pega cssa resumes
 
20160317 - PAZUR - PowerBI & R
20160317  - PAZUR - PowerBI & R20160317  - PAZUR - PowerBI & R
20160317 - PAZUR - PowerBI & R
 
Automated Discovery of Performance Regressions in Enterprise Applications
Automated Discovery of Performance Regressions in Enterprise ApplicationsAutomated Discovery of Performance Regressions in Enterprise Applications
Automated Discovery of Performance Regressions in Enterprise Applications
 

Mehr von bdemchak

The New CyREST: Economical Delivery of Complex, Reproducible Network Biology ...
The New CyREST: Economical Delivery of Complex, Reproducible Network Biology ...The New CyREST: Economical Delivery of Complex, Reproducible Network Biology ...
The New CyREST: Economical Delivery of Complex, Reproducible Network Biology ...
bdemchak
 
No More Silos! Cytoscape CI Enables Interoperability
No More Silos! Cytoscape CI Enables InteroperabilityNo More Silos! Cytoscape CI Enables Interoperability
No More Silos! Cytoscape CI Enables Interoperability
bdemchak
 

Mehr von bdemchak (20)

Cytoscape Network Visualization and Analysis
Cytoscape Network Visualization and AnalysisCytoscape Network Visualization and Analysis
Cytoscape Network Visualization and Analysis
 
The New CyREST: Economical Delivery of Complex, Reproducible Network Biology ...
The New CyREST: Economical Delivery of Complex, Reproducible Network Biology ...The New CyREST: Economical Delivery of Complex, Reproducible Network Biology ...
The New CyREST: Economical Delivery of Complex, Reproducible Network Biology ...
 
Cytoscape Cyberinfrastructure
Cytoscape CyberinfrastructureCytoscape Cyberinfrastructure
Cytoscape Cyberinfrastructure
 
No More Silos! Cytoscape CI Enables Interoperability
No More Silos! Cytoscape CI Enables InteroperabilityNo More Silos! Cytoscape CI Enables Interoperability
No More Silos! Cytoscape CI Enables Interoperability
 
Cytoscape CI Chapter 2
Cytoscape CI Chapter 2Cytoscape CI Chapter 2
Cytoscape CI Chapter 2
 
Composable Chat Introduction
Composable Chat IntroductionComposable Chat Introduction
Composable Chat Introduction
 
Rich Services: Composable chat
Rich Services: Composable chatRich Services: Composable chat
Rich Services: Composable chat
 
Ucsd tum workshop bd
Ucsd tum workshop bdUcsd tum workshop bd
Ucsd tum workshop bd
 
Rich Feeds for RESCUE and PALMS
Rich Feeds for RESCUE and PALMSRich Feeds for RESCUE and PALMS
Rich Feeds for RESCUE and PALMS
 
Iscram 2008 presentation
Iscram 2008 presentationIscram 2008 presentation
Iscram 2008 presentation
 
Rich feeds policy, the cloud, and CAP
Rich feeds   policy, the cloud, and CAPRich feeds   policy, the cloud, and CAP
Rich feeds policy, the cloud, and CAP
 
Rich services to the Rescue
Rich services to the RescueRich services to the Rescue
Rich services to the Rescue
 
Hicss 2012 presentation
Hicss 2012 presentationHicss 2012 presentation
Hicss 2012 presentation
 
Rich feeds for rescue an integration story
Rich feeds for rescue   an integration storyRich feeds for rescue   an integration story
Rich feeds for rescue an integration story
 
Background scenario drivers and critical issues with a focus on technology ...
Background   scenario drivers and critical issues with a focus on technology ...Background   scenario drivers and critical issues with a focus on technology ...
Background scenario drivers and critical issues with a focus on technology ...
 
Rich feeds for rescue, palms cyberinfrastructure integration stories
Rich feeds for rescue, palms cyberinfrastructure   integration storiesRich feeds for rescue, palms cyberinfrastructure   integration stories
Rich feeds for rescue, palms cyberinfrastructure integration stories
 
Data quality and uncertainty visualization
Data quality and uncertainty visualizationData quality and uncertainty visualization
Data quality and uncertainty visualization
 
Web programming in clojure
Web programming in clojureWeb programming in clojure
Web programming in clojure
 
Structure and interpretation of computer programs modularity, objects, and ...
Structure and interpretation of computer programs   modularity, objects, and ...Structure and interpretation of computer programs   modularity, objects, and ...
Structure and interpretation of computer programs modularity, objects, and ...
 
Requirements engineering from system goals to uml models to software specif...
Requirements engineering   from system goals to uml models to software specif...Requirements engineering   from system goals to uml models to software specif...
Requirements engineering from system goals to uml models to software specif...
 

Kürzlich hochgeladen

CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceCALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
anilsa9823
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
mohitmore19
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
Health
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
anilsa9823
 

Kürzlich hochgeladen (20)

W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceCALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 

Policy 2012 presentation

  • 1. Policy Driven Development Flexible Policy Insertion for Large Scale Systems POLICY 2012 Chapel Hill, NC July 16, 2012 Barry Demchak 1
  • 2. Developer The Problem 2 Stakeholder Code Run Implement Buggy code Misinterpretation Misimplementation Misspecification Obsolete-on-arrival Impedance mismatch Need Refinement Clutter and overgrowth Requirements Long development Long release Source unavailable Personnel attrition Consequences • Stakeholders disaffected and disenfranchised • Lost productivity and opportunity Observation • Agile doesn’t scale well
  • 3. Roadmap • Problem description • Solution outline • Examples in real world PALMS system • Policy languages – a Domain Specific Language (DSL) approach • System of Systems composition • Evaluation • Conclusions • Future work 3
  • 4. The Problem (cont’d) signOn() amount = keyWithdrawalAmount() dispenseCash(amount) 4 New requirements 1. Error if out-of-state 2. Max withdrawal $100if user.outOfState then error “out of state” return amount = min(100, amount) if not verifyNewAmount(amount) error “cancelled” return Approaches • Explicit coding • Property files • Active Directory, et al • ABAC/RBAC • Policy engine (PDP/PEP) • Aspects (AOP/AOSD)
  • 5. PALMS ListDevices Device Repository Client ❸❶ ❷ ❽ ❺❻❼ Storage ❹ PALMS ListDevices Device Repository Client ❸❶ ❷ ❽ ❺❻❼ Storage ❹ Return ErrorIf User ≠ “Bob” PALMS ListDevices Device Repository Client ❸❶ ❷ ❽ ❺❻❼ Storage ❹ Return Error Remove Unauthorized Devices If User ≠ “Bob” Insight 5 • Applications as workflows (workflow activity = service = function) • activities exchange messages • activities perform work • Workflows composed at runtime • Interactions must be identifiable at runtime • Messages must be interceptable • Policy as decision that selects amongst workflow alternatives • Policy programming: upgraded activity that compliments existing processes Consequences • Inject control, filter, and feature via policy • Stateful policy = application  Policy-driven runtime composition of applications (SoS)
  • 6. Mechanics 6 I0 O0 I1 I... O1 O... S S D C S D C I O P IP OP OP, IQ IP,OQ Q OQ IQ P⨂Q S OP RPQ P QIQ OQ IP I,O ❻ Router Messenger Service/Data Connector Service/Data Connector { { Rich « Infrastructure » Services Rich « Application » Services Service/Data Connector« PALMS Rich Service » ❶ ❷ ❸ ❹ ❺ ❻ Device Repository Data Repository Service/Data Connector Context Manager Service/Data Connector Event Logging Service/Data Connector Policy Evaluation
  • 7. Mechanics (cont’d) • Control Policy on <P,Q> – RPQ calls Policy Evaluation RIS {IQ, P, Q} – Fetch policy πcp for <P,Q> – Evaluate policy πcp(IQ, P, Q)  new service Wcp – RPQ executes Wcp(IQ) – PQ  P  RPQ  Wcp • Filter Policy on <P,Q> – RPQ calls Policy Evaluation RIS {IQ, P, Q} – Fetch policy πfp for <P,Q> – Evaluate policy πfp(IQ, P, Q)  new service Wfp – RPQ calculates Wfp(IQ)  IQ – RPQ executes Q(IQ) – PQ  P  RPQ  Wfp Q 7 S OP RPQ P QIQ OQ IP I,O Wcp PE Policy Repository P,Q πcp,fp IQ,P,Q Wcp Pre- Post-
  • 8. Roadmap • Problem description • Solution outline • Examples in real world PALMS system • Policy languages – a Domain Specific Language (DSL) approach • System of Systems composition • Evaluation • Conclusions • Future work 8
  • 9. PALMS Policy Examples • Access Control – Control Policy (at ❸) – if (subject-in-any-study-role('PI,RA')) then () else return-error('Insufficient permissions') – Filter Policy (at ❼) – filter-by-any-role('PI,RA') • Audit (at ❷) – audit("AuditID1", ("event", "ListDevices"), ("subject", $Subject), ("deviceName", cur-value("deviceName"))) 9 PALMS ListDevices Device Repository Client ❸❶ ❷ ❽ ❺❻❼ Storage ❹ Return Error Remove Unauthorized Devices If User ≠ “Bob”
  • 10. Context System • Optimizations – Workflow – Session – Custom 10 class Expression Data EnvironmentHistory MessageApplicationState PointsVisitedByMessage MessagesAtAPoint RowSet XQueryStatement Data CredentialsEvaluation
  • 11. Policy Evaluation Engine 11 Java Object XML XML XStream XStream XQuery RBAC (Xdm) Policy (XQuery) (Service) + PALMS ListDevices Device Repository Client ❸❶ ❷ ❽ ❺❻❼ Storage ❹ Post-filter ControlPre-filter Java Object Xdm Item Xdm Item Saxon Saxon
  • 12. Roadmap • Problem description • Solution outline • Examples in real world PALMS system • Policy languages – a Domain Specific Language (DSL) approach • System of Systems composition • Evaluation • Conclusions • Future work 12
  • 13. XQuery Library Hierarchy 13 auth-treeops auth-utils auth-msg auth-query palms service audit composition filters RBAC (Xdm) Basic access control and messaging
  • 14. PALMS Policy DSLs 14 Domain Function Params Return Access Control subject-in-any-study-roles subject-in-all-study-roles subject-in-any-user-roles subject-in-all-user-roles $role-list boolean filter-by-attribute $name, $value message filter-by-any-role $role-list message Policy Composition compose-unanimous compose-override compose-all compose-preemptive compose-hierarchical General return-error $error $message-q, $message XQuery expression
  • 15. PALMS Policy DSLs (cont’d) 15 Domain Function Params Return Audit audit $auditID {, (name, value) }* message audit-if $boolean-condition, $true-param-list, $false-param-list param-list Feature Composition call-service $message-q, $message message
  • 16. System of Systems Composition 16 Router Messenger Service/Data Connector Service/Data Connector { { Rich « Infrastructure » Services Rich « Application » Services Service/Data Connector « PALMS Rich Service » Device Repository Data Repository Service/Data Connector Context Manager Service/Data Connector Event Logging Service/Data Connector Policy Evaluation Router Messenger Service/Data Connector Service/Data Connector { { Rich « Infrastructure » Services Rich « Application » Services Service/Data Connector « Policy Rich Service » Policy Evaluation Authoring System Service/Data Connector Event Logging Service/Data Connector Policy Evaluation Service/Data Connector Policy Repository Router Messenger Service/Data Connector Service/Data Connector { { Rich « Infrastructure » Services Rich « Application » Services Service/Data Connector « Event Logging Rich Service » Event Logging Visualization System Service/Data Connector Event Logging Service/Data Connector Policy Evaluation Service/Data Connector Event Repository
  • 17. Roadmap • Problem description • Solution outline • Examples in real world PALMS system • Policy languages – a Domain Specific Language (DSL) approach • System of Systems composition • Evaluation • Conclusions • Future work 17
  • 18. Evaluation 18 # Operation Time (ms) Client  Storage, empty device DB 63 (54.5 browser + 7.2 server + 1.3 network)
  • 19. Evaluation 19 # Operation Time (ms) Client  Storage, empty device DB 63 (54.5 browser + 7.2 server + 1.3 network) ❶ Single service interaction, no Policy Evaluator RIS 0.115 ❷ ❶ + Policy Evaluator RIS, empty interaction DB ❶ + 0.203 ❸ ❷ + 1 interaction, no policy ❷ + 0.007
  • 20. Evaluation 20 # Operation Time (ms) Client  Storage, empty device DB 63 (54.5 browser + 7.2 server + 1.3 network) ❶ Single service interaction, no Policy Evaluator RIS 0.115 ❷ ❶ + Policy Evaluator RIS, empty interaction DB ❶ + 0.203 ❸ ❷ + 1 interaction, no policy ❷ + 0.007 ❸ + control policy ❸ + 76.50 ❸ + passthru post-filter policy ❸ + 78.62 ❸ + actual post-filter policy, no records ❸ + 84.51 ❸ + actual post-filter policy, 1/1 record ❸ + 91.66 ❸ + actual post-filter policy, 0/97 records ❸ + 359.98 ❸ + actual post-filter policy, 97/97 records ❸ + 818.08
  • 21. Conclusions 21 Traditional Programming Runtime Workflow Composition Time to Market Speed, Complexity, StrongGuarantees Less More More • Guarantees – Depends on DSL language – Traditional AC languages? – Dependencies deferred to runtime • Policy Programmer must know: – Interactions – Messages – Available services
  • 22. Conclusions • Policies are mini-applications composed into base workflow • Clear positioning of policy relative within highly complex distributed system 22
  • 23. Future Work • Policy programming – Verification – Modeling – Model checking – Integration of modeling (simulation and debugging) – Extend to stakeholders (directly) – Integration of existing policy engines? • Further speed optimizations – Precompilation – Harmonizing message formats or policy language to reduce conversions • Secure Policy Deployment 23
  • 25. • BACKUP SLIDES • BACKUP SLIDES • BACKUP SLIDES • BACKUP SLIDES • BACKUP SLIDES • BACKUP SLIDES • BACKUP SLIDES 25
  • 26. Existing Choice Mechanisms • Compile time constants • Attributes in directories (permissions, owners, groups, etc) • Permissions in property files (Tomcat policies) • Attributes and permissions in registries (Active Directory, Facebook privacy, Oracle database permissions) • Attribute Based Access Control (ABAC) and Role Based Access Control (RBAC) • Declarative mechanisms (triggers) • All amount to predicates that select workflows based on strategy, bridge, and state patterns • Policy Engines, PDP/PEP moves predicates to external policy, but placement is constant • BPEL Process Integration with Business Rules 26
  • 27. Study Repository Visualization Repository Calculation Repository Observation and Solution PI Study Study Study PI Study Study PI Study PALMS StudyStudyStudy Study StudyStudy PI PI PI Community • Policy-driven access control – Subject data – Study data – Calculations – Visualizations • Secure • HIPAA Compliance • Customized Studies • Collaboration • Data Reuse Browser Excel, Matlab… Personal Activity Location Measurement System • Understanding where activity- related energy expenditure occurs in time and space 27
  • 30. The Technical Requirement • Technical Requirements – Support research workflows – Security and privacy – High reliability and availability – Scalability (bandwidth/storage/users) – Auditability – Provenance and curation • Key Insights – All stakeholders must have requirements met, or CI degrades – Existing development models have long latencies – Requirements are often lost in translation – Success of CI depends on – Accurate, timely, and continuous requirement elicitation – Precise requirement formulation – Low implementation latency – Automatic requirement composition 30
  • 31. Policy Driven Development • Goals – Enable rapid customization – Empower stakeholders to directly define behavior • Service Oriented Architecture (Rich Services) – Services loosely coupled – Late binding – Scalability – Testable – Interoperable – Incremental development – Composition – Services can be hierarchically decomposed 31
  • 32. SPSS ESRI GPS Device Accelerometer Others PALMS Study StudyStudy Study Filtering Filtering Filtering Scoring Analyzing Scoring Scoring Analyzing Analyzing External Data Subject Data Raw Data Others ... ... Google Maps Viewer Other Local Viewer Data Flow (CI) 32
  • 34. Messenger Router/Interceptor Policy Service/Data Connector Messenger Router/Interceptor Failure Manager ... <<Rich Service>> S Service/Data Connector ... <<Rich Service>> S.n Service/Data Connector }<< Rich Infrastructure Services >> Encryption Service/Data Connector Logging Service/Data Connector Failure Manager Service/Data Connector ... Service/Data Connector S.1 Service/Data Connector S.2 Service/Data Connector }<< Rich Application Services >> S.n.2 Service/Data Connector S.n.m Service/Data Connector }<< Rich Application Services >> S.n.1 Service/Data Connector Service/Data Connector Logging Service/Data Connector Encryption Service/Data Connector Policy ... Service/Data Connector Service/Data Connector << Rich Infrastructure Services >> } From tightly to l o o s e l y coupled systems Rich Service Blueprint 34
  • 35. Event Logger Access Policies PALMS Integration System Integration Adapter Data Repository HIPAA Policies Service/ Data Connector Viewer Viewer Adapter Consumer Systems Service/ Data ConnectorSensor Adapter Sensor Producer Systems Subject Repository Service/ Data Connector Authoring Calculation Repository Calculation Systems ExecutionPrototyping Failure Detection/ Mitigation Logical Architecture 35
  • 36. Rich Services Virtual Network Rich Services RAS4 Services Service S1 Roles U1 U2 U3 U4 U5 Use Case Graph Concerns C1 C2 C3 C4 CC1 CC2CC3 Domain Model R1 R2 R3 R4 R5 R6 R1 R2 msg R3 CC1 CC2 Role Domain Model R1 R2 R3 R4 R5 R6 CC1 CC2 CC3 Router/Interceptor Messenger/Communicator RAS1 RAS2 CC1 CC4 CC5 Router/Interceptor Messenger/Communicator RAS5 RAS6RAS3 S / D S / D RIS: RIS: ServiceElicitationRichServiceArchitecture RAS7 System of Systems Topology H1 H2 H3 H5 H6 H7 H8 H9 H4 RAS1 RAS2 RAS3 RAS5 RAS6 RAS7 Infrastructure Mapping H1:RAS1 H2:RAS2 H3:CC1 H5:RAS2 H6:RAS5 H7:RAS7H8:RAS7 H9:RAS6 H4:RAS3 Optimization Implementation RAS1 RAS2 RAS3 RAS4 RAS5 RAS6 RAS7 CC1 CC2 CC3 CC4 CC5 Analysis Synthesis Analysis Identification Definition Consolidation Refinement Hierarchic composition Refinement Logical Model SystemArchitecture Definition Logical Architecture Loop Deployment Loop Rich Service Development Process 36
  • 37. Spectrum of Sharing1 Trust Publish Interaction Quality Privacy Enablers No one Nothing No one - - - Friends & Family Subsets/ derivatives Word of mouth Person to person Handshake promise None Community ″ Conference booths/ papers Curation2 De-ident & agreement Auto de-ident, Agreement template3,4 Public ″ Repository/ registry Taxonomies/ semantics ″ ″ 1 C. Fennema-Notestine. Enabling Public Data Sharing: Encouraging Scientific Discovery and Education 2 Strong metadata, use common ontological framework, collection conditions & semantics, validated calculation & visualization 3 Suggested IRB or HIPAA wording 4 Promise to not re-identify, use data at own risk, no quality guarantees, properly acknowledge data source 37
  • 38. Deployment Web Browser (UI) PALMS Service GWT RPC Mule Messaging Browser Proxy (UI) PALMS Subservices CXF Web Services Mule Messaging CXF Web Services GWT RPC PALMS Server VM PC Browser PALMS Server Machine JAVA (GWT) JAVA (Mule ESB) 38