Gianluigi Zavattaro University of Bologna DISI - Department of Computer Science and Engineering INRIA research team FOCUS
Models and Languages for Service-Oriented and Cloud Computing
BISS 2016 – Bertinoro – 7-11 March 2016
Models and Languages for Service-Oriented and Cloud Computing - - PowerPoint PPT Presentation
Models and Languages for Service-Oriented and Cloud Computing University of Bologna Gianluigi Zavattaro DISI - Department of Computer Science and Engineering INRIA research team FOCUS BISS 2016 Bertinoro 7-11 March 2016 A brief
Gianluigi Zavattaro University of Bologna DISI - Department of Computer Science and Engineering INRIA research team FOCUS
BISS 2016 – Bertinoro – 7-11 March 2016
u Associate Professor at the University of
u My background:
n Foundational aspects of programming languages n Concurrency theory
u My recent interests (this course):
n Rigorous investigation of basic concepts in
Bertinoro 7-11/3/2016 Models and Languages for Service-Oriented and Cloud Computing
Bertinoro 7-11/3/2016 Models and Languages for Service-Oriented and Cloud Computing
Bertinoro 7-11/3/2016 Models and Languages for Service-Oriented and Cloud Computing
n Specific programming paradigms:
n Specific programming concepts:
Bertinoro 7-11/3/2016 Models and Languages for Service-Oriented and Cloud Computing
n Apply the functional paradigm to
n Incorporate in the programming language
n ... define composition operators to
Jayadev Misra, William R. Cook: Computation Orchestration. Software and System Modeling 6(1): 83-110 (2007)
Bertinoro 7-11/3/2016 Models and Languages for Service-Oriented and Cloud Computing
Bertinoro 7-11/3/2016 Models and Languages for Service-Oriented and Cloud Computing
Bertinoro 7-11/3/2016 Models and Languages for Service-Oriented and Cloud Computing
Publishes 1 or no value
n A site is invoked, as a function, but it
n Ex: BBC(d) either returns the BBC
Bertinoro 7-11/3/2016 Models and Languages for Service-Oriented and Cloud Computing
Bertinoro 7-11/3/2016 Models and Languages for Service-Oriented and Cloud Computing
Three main composition
n … in parallel: CNN(d) | BBC(d)
n … in sequence:
n … in asymmetric parallel (see next slide)
Bertinoro 7-11/3/2016 Models and Languages for Service-Oriented and Cloud Computing
n The lhs and rhs start to be evaluated in
n … but the evaluation of the subexpressions
Bertinoro 7-11/3/2016 Models and Languages for Service-Oriented and Cloud Computing
Bertinoro 7-11/3/2016 Models and Languages for Service-Oriented and Cloud Computing
Expression definition Expression call
n The defined expression can be used inside
Bertinoro 7-11/3/2016 Models and Languages for Service-Oriented and Cloud Computing
Bertinoro 7-11/3/2016 Models and Languages for Service-Oriented and Cloud Computing
Bertinoro 7-11/3/2016 Models and Languages for Service-Oriented and Cloud Computing
Asynchronous semantics: Call, Return, Publication are separated events (let is a special site that simply publishes its arguments)
Bertinoro 7-11/3/2016 Models and Languages for Service-Oriented and Cloud Computing
Parallel composition
Bertinoro 7-11/3/2016 Models and Languages for Service-Oriented and Cloud Computing
Sequential composition
Bertinoro 7-11/3/2016 Models and Languages for Service-Oriented and Cloud Computing
Asymmetric parallel composition
Bertinoro 7-11/3/2016 Models and Languages for Service-Oriented and Cloud Computing
Expression definition evaluation
Bertinoro 7-11/3/2016 Models and Languages for Service-Oriented and Cloud Computing
Bertinoro 7-11/3/2016 Models and Languages for Service-Oriented and Cloud Computing
u In “real life” the Email will consider n
n instead of the first value published by a very complex expression
(e.g., including hundreds of external service invocations)
u For this reason ORC has been equipped also with a
u The idea is to postpone responses u?c (produced by
n The semantics is now divided in alternative rounds:
local actions, one response, local actions, one response, ….
n In this way, if ComplexExpression requires at least one site call,
let(n) is guaranteed to publish first (during first round)
Bertinoro 7-11/3/2016 Models and Languages for Service-Oriented and Cloud Computing
Bertinoro 7-11/3/2016 Models and Languages for Service-Oriented and Cloud Computing
Bertinoro 7-11/3/2016 Models and Languages for Service-Oriented and Cloud Computing
n An ORC interpreter is available at:
Bertinoro 7-11/3/2016 Models and Languages for Service-Oriented and Cloud Computing
u Println is a built-in site that prints a string (and then
u Prompt is a built-in site that prompt the user to
Bertinoro 7-11/3/2016 Models and Languages for Service-Oriented and Cloud Computing
u Parallel composition:
u Sequential composition:
u Asymmetric parallel composition:
Bertinoro 7-11/3/2016 Models and Languages for Service-Oriented and Cloud Computing
Bertinoro 7-11/3/2016 Models and Languages for Service-Oriented and Cloud Computing
Bertinoro 7-11/3/2016 Models and Languages for Service-Oriented and Cloud Computing
Bertinoro 7-11/3/2016 Models and Languages for Service-Oriented and Cloud Computing
Bertinoro 7-11/3/2016 Models and Languages for Service-Oriented and Cloud Computing
n When invoked with parameter t, it publishes
Bertinoro 7-11/3/2016 Models and Languages for Service-Oriented and Cloud Computing
Bertinoro 7-11/3/2016 Models and Languages for Service-Oriented and Cloud Computing
def randombytes(n) = val location = "https://www.fourmilab.ch/cgi-bin/Hotbits" val query = {. nbytes = n, fmt = "xml" .} val response = HTTP(location, query).get() val xml("hotbits", xml("random-data", data)) = ReadXML(response) data.replaceAll("\\s+"," ") randombytes(4)
Bertinoro 7-11/3/2016 Models and Languages for Service-Oriented and Cloud Computing
Bertinoro 7-11/3/2016 Models and Languages for Service-Oriented and Cloud Computing
Bertinoro 7-11/3/2016 Models and Languages for Service-Oriented and Cloud Computing
Bertinoro 7-11/3/2016 Models and Languages for Service-Oriented and Cloud Computing
include "net.inc" val BingSpell = BingSpellFactoryPropertyFile ("orc/orchard/orchard.properties") Println(y) < y < ( Prompt("Input a string: ") > x > ( BingSpell(x) | (Rwait(250) >> x) ) )
Bertinoro 7-11/3/2016 Models and Languages for Service-Oriented and Cloud Computing
n Specifically designed for service-oriented
n Developed starting from a formally
n Particularly tailored for service
Bertinoro 7-11/3/2016 Models and Languages for Service-Oriented and Cloud Computing
n Web Service Business Process Execution
n XML based language, including many
Bertinoro 7-11/3/2016 Models and Languages for Service-Oriented and Cloud Computing
Bertinoro 7-11/3/2016 Models and Languages for Service-Oriented and Cloud Computing
Bertinoro 7-11/3/2016 Models and Languages for Service-Oriented and Cloud Computing