1 SLAng Semantics, and Service Composition James Skene, Davide Lamanna, Wolfgang Emmerich.

Slides:



Advertisements
Similar presentations
Limitations of the relational model 1. 2 Overview application areas for which the relational model is inadequate - reasons drawbacks of relational DBMSs.
Advertisements

Profiles Construction Eclipse ECESIS Project Construction of Complex UML Profiles UPM ETSI Telecomunicación Ciudad Universitaria s/n Madrid 28040,
Precise Service Level Agreements James Skene, Davide Lamanna, Wolfgang Emmerich University College London.
The role of OCL in the Model Driven Architecture Jos Warmer Klasse Objecten
Hadi Goudarzi and Massoud Pedram
1 CIS224 Software Projects: Software Engineering and Research Methods Lecture 11 Brief introduction to the UML Specification (Based on UML Superstructure.
Pontus Boström and Marina Waldén Åbo Akademi University/ TUCS Development of Fault Tolerant Grid Applications Using Distributed B.
Dif8901 April Modeling Software Architecture in the Unified Modeling Language (Medvidovic, et al. 2002)
1 © Wolfgang Emmerich, 2002 UCL Wolfgang Emmerich.
1 UML 2.0 Compliance Points Proposal Jim Amsden, Bran Selic 21 October 2003.
TAPASDelivMarch04 1 TAPAS Deliverables for March 04 (Trusted and QoS-Aware Provision of Application Services) Santosh Shrivastava Newcastle University.
Composable Metamodeling Environment Akos Ledeczi Institute for Software Integrated Systems Vanderbilt University
Job No/ 1 © British Crown Copyright 2008/MOD Developing a High Integrity Code Generator Using iUML/iCCG Sam Moody AWE plc, Aldermaston, Berkshire, United.
Management of IT Environment (5) LS 2012/ Martin Sarnovský Department of Cybernetics and AI, FEI TU Košice ITIL:Service Design IT Services Management.
Formal Methods of Systems Specification Logical Specification of Hard- and Software Prof. Dr. Holger Schlingloff Institut für Informatik der.
Irina Rychkova. 9/20061 Systemic approach towards model definition Model transformation semantics.
The Architecture Design Process
Software Engineering and Middleware: a Roadmap by Wolfgang Emmerich Ebru Dincel Sahitya Gupta.
Ivan Lanese Computer Science Department University of Bologna/INRIA Italy Fault in the Future Joint work with Gianluigi Zavattaro and Einar Broch Johnsen.
How are service providers helping their customers to deliver IT as a Service? Peter Glock – Orange Business Services 18 May 2011, presentation to Europe.
Meaningful Modeling: What’s the Semantics of “Semantics”? David Harel, Weizmann Institute of Science Bernhard Rumpe, Technische Universität Braunschweig.
Models for Software Reliability N. El Kadri SEG3202.
TAPAS WP1 – Application Service Requirements and Specification.
CPXe: a SLAng case study Davide Lamanna, James Skene, Wolfgang Emmerich Computer Science Dept. (UCL) Software Engineering Group {d.lamanna | j.skene |
Formal Specification of Non-Functional Aspects in Two-Level Grammar Chunmin Yang, Beum-Seuk Lee, Barrett Bryant, Carol Burt University of Alabama at Birmingham.
Xactium xDSLs Run Models Not Code Tony Clark
Faculty of Informatics and Information Technologies Slovak University of Technology Peter Kajsa and Ľubomír Majtás Design.
Software Models (Cont.) 9/22/2015ICS 413 – Software Engineering1 -Component-based software engineering -Formal Development Model.
Introduction to MDA (Model Driven Architecture) CYT.
Assessing the Suitability of UML for Modeling Software Architectures Nenad Medvidovic Computer Science Department University of Southern California Los.
AMPol-Q: Adaptive Middleware Policy to support QoS Raja Afandi, Jianqing Zhang, Carl A. Gunter Computer Science Department, University of Illinois Urbana-Champaign.
Specializing and extending the UML
SaveUML System design. System overview Possible...
WXGE6103 Software Engineering Process and Practice Formal Specification.
SWE 619 © Paul Ammann Procedural Abstraction and Design by Contract Paul Ammann Information & Software Engineering SWE 619 Software Construction cs.gmu.edu/~pammann/
1 Introduction to Software Engineering Lecture 1.
SLAng - SLA notation generator A language for defining SLAs Davide Lamanna, James Skene and Wolfgang Emmerich University College London Computer Science.
Class 5 Architecture-Based Self-Healing Systems David Garlan Carnegie Mellon University.
An Ontological Framework for Web Service Processes By Claus Pahl and Ronan Barrett.
On the Role of Abstract Platform in Model Driven Development* Marten van Sinderen Centre for Telematics and Information Technology, University of Twente,
Verification of behavioural elements of UML models using B Truong, Ninh-Thuan and Souquieres, Jeanine In Proceedings of the 2005 ACM Symposium on.
1 Unobtrusive Performance Analysis – Where is the QoS in TAPAS? University College London James Skene –
Rational Unified Process Fundamentals Module 7: Process for e-Business Development Rational Unified Process Fundamentals Module 7: Process for e-Business.
Modeling the ODP Computational Viewpoint with UML 2.0: The Templeman Library Example José Raúl Romero, Antonio Vallecillo Universidad de Málaga, Spain.
adesso AG 2004 TAPAS IAB meeting 1 TAPAS meeting Evaluation approach for TAPAS adesso AG Werner Beckmann
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 32. Review Behavioral Patterns – Observer Pattern – Chain of command.
System Monitoring using Constraint Checking as part of Model Based System Management 2007 Monitoring using Constraint Checking as part.
What’s Ahead for Embedded Software? (Wed) Gilsoo Kim
CSCI 3428: Software Engineering Tami Meredith UML Unified Modeling Language.
UML Profile BY RAEF MOUSHEIMISH. Background Model is a description of system or part of a system using well- defined language. Model is a description.
DBC NOTES. Design By Contract l A contract carries mutual obligations and benefits. l The client should only call a routine when the routine’s pre-condition.
T imed Languages for Embedded Software Ethan Jackson Advisor: Dr. Janos Szitpanovits Institute for Software Integrated Systems Vanderbilt University.
Object Design More Design Patterns Object Constraint Language Object Design Specifying Interfaces Review Exam 2 CEN 4010 Class 18 – 11/03.
A UML-Based Pattern Specification Technique Presented by Chin-Yi Tsai IEEE TRANSACTION ON SOFTWARE ENGINEERING, VOL. 30, NO. 3, MARCH 2004 Robert B. France,
Model Driven Performance Analysis University College London James Skene –
1 “UML compilation” A more formal approach for SysML 2.0 OMG SE DSIG – SysML roadmap meeting Cambridge MA - Sep 24, 2015 Yves BERNARD.
Mechanisms for Requirements Driven Component Selection and Design Automation 최경석.
Component-Based Software Engineering Components and Interfaces Paul Krause and Sotiris Moschoyiannis.
UNIT-IV Designing Classes – Access Layer ‐ Object Storage ‐ Object Interoperability.
Design by Contract Jim Fawcett CSE784 – Software Studio
Design by Contract Jim Fawcett CSE784 – Software Studio
UML 2.0 Compliance Points Proposal
SysML v2 Formalism: Requirements & Benefits
ITIL:Service Design IT Services Management Martin Sarnovský
Software Design Methodology
Model-Driven Analysis Frameworks for Embedded Systems
The Extensible Tool-chain for Evaluation of Architectural Models
Lec 3: Object-Oriented Data Modeling
Chapter 6: Architectural Design
Comparing UML 2.0 Interactions and MSC-2000
Presentation transcript:

1 SLAng Semantics, and Service Composition James Skene, Davide Lamanna, Wolfgang Emmerich

2 Approach to defining the Semantics of SLAng 1.Model the environment of SLAs, i.e. Internet services 2.Model the SLA language itself 3.Embed the language model in the Internet service model 4.Show how SLAs constrain the services (assuming they are respected)

3 Reference Model App AS App AS Application Tier Middle Tier Underlying resources

4 Embedding SLAs App AS ASP SLA Hosting SLA Network SLA Network SLA Storage SLA Comms SLA App AS ASP SLA Hosting SLA Network SLA Network SLA Storage SLA ASP SLA Cont. SLA

5 Good!Bad! SLAs Constrain Behaviour App AS ASP SLA Interactions Server behaviour Client behaviour

6 Refined (UML) Reference Model

7 ASP Client and Provider Behaviour

8 SLAng Syntax

9 SLAng Abstract Syntax

10 Syntax Embedded in Service Model

11 SLAs Embedded

12 Features of ASP contract Backup clauses: –How frequent –What type of backup –Should the backup be encrypted? –What datatypes –How can the client access the backups Monitoring clauses: –What monitoring solution? –How frequent –On demand?

13 Features of ASP contract (2) Server Performance –Maximum latency for service operations –Reliability (proportion of time that service should be available) –Maximum time to repair Client Performance –Maximum throughput These clauses are scheduled to allow different performance at different times. Also the specification of maintenance periods.

14 Schedules Applies Does not apply Start datePeriodDurationEnd date Associated with a clause

15 Composite Schedules M T W T F Mondays Tuesdays Wednesdays Thursdays Fridays Combined

16 Performance and Reliability Expressed using a single constraint: –Proportion of downtime observed to total time that the clause applies must not be greater than the reciprocal of the reliability. Intent: –Any service usage that takes too long or otherwise fails contributes to the downtime. See enough of these and you can claim unreliability. In OCL: context ServerPerformanceClause inv: self.operation->forAll(o | totalDowntime(o) < (applicationTime * (1 - reliability)))

17 OCL Definitions context ServerPerformanceClause def: -- Returns the client performance clauses governing the performance of -- operation o at time t. let applicableClientClauses(t : double, o : Operation) = sla.clientResponsibilities.clientPerformanceClause->select(c | c.schedule->exists(s | s.applies(t))) -- An expression for the maximum throughput with which the client can use an -- operation at time t, or -1 if there is no limit let minThroughput(t : double, o : Operation) = if applicableClientClauses->isEmpty() then -1 else applicableClientClauses->iterate( c : ClientPerformanceClause, minTP : double | minTP.min(c.maxThroughput))

18 More OCL definitions -- Amount of downtime observed for a failure at time t. This is 1 / the most -- restrictive throughput constraint applicable at the time let downtime(t : double, o : Operation) : double = if minThroughput(t, o) <= 0 then 0 else 1 / minThroughput(t, o) -- Total amount of downtime observed for the operation let totalDowntime(o : Operation) : double = o.serviceUsage->select(u | (u.failed or u.duration > maximumLatency) and schedule->exists(s | s.active(u.date)) )->collect(u | downtime(u.date))->iterate( p : double, sumP : double | sumP + p)

19 Still more OCL definitions! context ScheduledClause def: -- Next time that the current performance clause applies let nextApplies(t : double) = schedule->collect(s.nextActive(t))->iterate(n : double, minN : double | minN.min(n)) -- One of the next schedules that will apply let nextSchedule(t : double) = schedule->one(s | s.nextApplies(t) = self.nextApplies(t)) -- The remaining time for this schedule to apply after time t -- (recursively adds up period of application of next schedule) let timeRemaining(t : double) = if(nextApplies(t) = -1) then 0 else nextSchedule(t).nextDuration(t) + timeRemaining(nextApplies(t) + nextSchedule(t).nextDuration(t)) -- Total amount of time that this clause will apply let applicationTime = timeRemaining(nextApplies(-1))

20 No more after this – I promise context Schedule def: -- Calculates t modulo p using operations supported by OCL v.1 let mod(t : double, p : double) = (t/p - (t/p).floor()) * p -- Returns true if the schedule applies at time t let applies(t : double) : boolean = t > startDate and mod(t - startDate, period) < duration

21 Using the Semantics: Two Notions of Composition Inter-service composition: How does an offered level of QoS compare with our requirements?

22 Using the Semantics: Two Notions of Composition Intra-service composition: How do the service components contribute to the QoS of the composed service?

23 SLA Compatibility Compare offered SLA with requirements expressed in as SLA. SLAs impose constraints on the services that they are associated with. SLA B is compatible with SLA A if they constrain the same services and B allows no behaviours/configurations that would violate A.

24 Implications of our Definition of Compatibility Must compare complete SLAs because of interactions between terms –Example: Reliability constraints depends on three specifications: maximumLatency reliability maximumThroughput – A client constraint In this example only SLAs with the same or stronger throughput constraint have the chance to be compatible. Stronger throughput constraint may not be acceptable to the client.

25 Intra-service Composition We need to know what the service is doing. This requires a view of the design of the system In general, we need to perform analysis. Our approach to this is to analyse UML designs as discussed in previous presentations. To integrate SLAs we need notation for SLAs in designs.

26 The QoS Profile ‘UML Profile for Modelling Quality of Service and Fault Tolerance Characteristics and Mechanisms’, or the QoS profile. The QoS profile allows Modelling of QoS Properties. Profiles are defined with reference to semantic models. QoSprofileQoS model Some characteristics Some system model SLAng Semantic model SLAng characteristics

27 The SLAng Catalogue

28 Example

29 Implementing SLAng Systems Take a Model Driven Architecture approach SLAng semantics provide a reference for the behaviour of SLA aware systems. Use semantics led transformations to refine designs. Why not model the TAPAS architecture too?

30 Conclusions We have formally defined the SLAng semantics for ASP SLAs. We embedded a model of the language into a model of services. We used constraints to show the effect that SLAs have. The semantic provides a basis for comparing SLAs – compatibility. The semantic forms the basis for a UML extension allowing analysis and implementation activities.

31 Future Work Starting to be overwhelmed by UML extensions. Lots of confusing models. Are they models, meta-models, domain models, semantic models, domain specific languages, UML extensions? Need a unified approach to handling diverse model information, probably based on meta-modelling and consistency rules.