James
Document Sample


SLAng specification compiler
and checker
• Spin-off work from SLAng specification
• Tools demos
– Specification compiler
• Generates checker from SLAng language specification
– SLAng checker
• Partly an application
• Partly a component
– Can be part of an application server
– Can be part of an external monitor
– Can (possibly) be re-implemented using EJBs.
Where does SLA checker
component go?
Measurement service
Here!
Provider Service consumer
Internet Here!
Here!
In short: Anywhere that a decision has to be made about an SLA.
But!
• Monitoring using a third party has a DIFFERENT
SEMANTICS to monitoring at ASP or client side.
• Client was saying:
– I want good service
• Client is now saying:
– I want the third party to get good service, and I believe
that if it does, then I too will get good service.
• SLAng will need modification if we apply the
latter semantic.
• Trust issues and implementation are different in
each case.
SLA checker application
• Component features
– Load/save SLAs
– API for monitoring data
– API for performing checks, retrieving
violations/guidance values
– Database storage (SLAs/monitoring data)
– OCL checker
• Application features/.
– View SLAs
– View events
– Check SLAs
Specification compiler
• Idea:
1. Understanding of SLA language based on specification
2. Parties will make agreements based on their understanding of
the specification.
3. SLA checker must:
1. Report all violations implied by the specification (no false
positives)
2. Not report violations not implied by the specification (no false
negatives)
4. Specification is in machine readable form.
5. Therefore: Compile SLA check from specification.
6. If we trust our compilation process, then we trust our checker.
What is generated?
Specification: Implementation:
SLAng Compiler: SLAng database schema
syntax SLAng API/Java objects
model SLAng XML reader/writer
User interface classes
SLAng Event database schema
semantic Event API/Java objects
model
User interface classes
SLAng Java checks
semantic Violations API
constraints
Compiler architecture
XMI Reader Intermediate Context Code
(DOM based) document objects generation
model Procedure
(DOM for (execute
XMI) velocity
engine)
Velocity
templates
Get documents about "