Models and Languages for Service-Oriented and Cloud Computing

Size: px
Start display at page:

Download "Models and Languages for Service-Oriented and Cloud Computing"

Transcription

1 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

2 A brief introduction u Associate Professor at the University of Bologna, DISI Computer Science and Engineering Department 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 emerging classes of languages for wide area programming

3 The Programmable Web The Web offers a continuosly growing number of services available through dedicated APIs

4 The Programmable Web Different kinds of APIs (with their corresponding protocols) exist

5 Service-Oriented Programming u but in general, independently from the protocols/apis, services call for: n Specific programming paradigms: w ORC: functional approach w Chor / Jolie: imperative approach n Specific programming concepts: w Behavioural interfaces, compliance, global behavioural specifications, conformance,

6 ORC u Basic idea: n Apply the functional paradigm to service-oriented programming n Incorporate in the programming language the concept of service (as a special form of function, called site) and n... define composition operators to program the so-called service orchestrations Jayadev Misra, William R. Cook: Computation Orchestration. Software and System Modeling 6(1): (2007)

7 Formal definition of ORC syntax

8 Formal definition of ORC syntax Publishes 1 or no value

9 The site in ORC u The basic ORC expression is site call n A site is invoked, as a function, but it nondeterministically publishes either one value or never return any value w No value reflects, at the programming language level, the unreliability of services n Ex: BBC(d) either returns the BBC newspage for date d, or never returns

10 Formal definition of ORC syntax Three main composition operators

11 Composition operators in ORC u ORC expression can be combined n in parallel: CNN(d) BBC(d) this expression can publish 0, 1 or 2 values n in sequence: (CNN(d) BBC(d) ) >m> ( xxx@yyy,m) each value published from the lhs activates the evaluation of the rhs (the published values are assigned to the variable m) n in asymmetric parallel (see next slide)

12 Asymmetric parallel composition u ( xxx@yyy,m) where m: (CNN(d) BBC(d) ) sends the only relative to the first newspage published by the rhs (not both!) n The lhs and rhs start to be evaluated in parallel n but the evaluation of the subexpressions of the lhs that needs m are deferred until the first value is published, and assigned to m

13 Formal definition of ORC syntax Expression definition Expression call

14 Expression definition u ( xxx@yyy,m) where m: (CNN(d) BBC(d) ) This expression can be rewritten as follows: TwoNews(d) Δ CNN(d) BBC(d) ( xxx@yyy,m) where m: TwoNews(d) n The defined expression can be used inside other expressions (by indicating actual parameters) w it is replaced by its definition, where formal parameters are replaced by the actual ones

15 Formal definition of ORC semantics

16 Formal definition of ORC semantics Asynchronous semantics: Call, Return, Publication are separated events (let is a special site that simply publishes its arguments)

17 Formal definition of ORC semantics Parallel composition

18 Formal definition of ORC semantics Sequential composition

19 Formal definition of ORC semantics Asymmetric parallel composition

20 Formal definition of ORC semantics Expression definition evaluation

21 Example ( where m: (CNN(d) BBC(d) ) à ( xxx@yyy,m) where m: (?u BBC(d) ) à ( xxx@yyy,m) where m: (?u?u ) à ( xxx@yyy,m) where m: (let(n)?u ) à ( xxx@yyy,n) à?u à let(c) à 0

22 Pros and Cons of the asynchronous semantics ( where m: let(n) ComplexExpression u In real life the 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 synchronous semantics u The idea is to postpone responses u?c (produced by the SiteRet rule) thus giving priority to local actions n n The semantics is now divided in alternative rounds: local actions, one response, local actions, one response,. In this way, if ComplexExpression requires at least one site call, let(n) is guaranteed to publish first (during first round)

23 ORC equivalences u What about 0 and 0 >x> f? Are these expressions equivalent? u What about (g h) >x > f and (g >x > f ) (h >x > f )? u What about f >x > (g h) and (f >x >g) (f >x > h)? u What about (f >y > g) where x : h and (f where x : h) >y > g?

24 Bisimulation has been used to prove equivalence laws

25 Bisimulation has been used to prove equivalence laws

26 The ORC language u What we have seen so far is named ORC calculus u A fully fledged language, called ORC, has been developed starting from the calculus u Few examples of programs follows n An ORC interpreter is available at:

27 Basic site calls u Println is a built-in site that prints a string (and then publishes a generic signal): Println ("Hello World") u Prompt is a built-in site that prompt the user to input a string, which is then published: Prompt("What is your name?")

28 Basic composition operators u Parallel composition: Prompt("Red or black?") Prompt("Odd or even?") u Sequential composition: Prompt("What is your name?") > x > Println("Your name is " + x) u Asymmetric parallel composition: fruits < fruits < ( Prompt("Apples or oranges?") Prompt("Grapes or mangos?") )

29 Ask two questions and use both answers ( Prompt("Red or black?") Prompt("Odd or even?") ) > x > Println("Your choice is " + x)

30 Ask two questions and use both answers ( Prompt("Red or black?") Prompt("Odd or even?") ) > x > Println("Your choice is " + x) Modify it to use only the first answer

31 Ask two questions and use both answers Println("Your choice is " + x) < x < ( Prompt("Red or black?") Prompt("Odd or even?") ) here it is... only the first answer!

32 Similar ORC expressions ("Red" "Blue") > x > Println("A nice color: " + x) ( Prompt("Write Red") "Blue") > x > Println("A nice color: " + x) Println("A nice color: " + x) < x < ("Red" "Blue") Println("A nice color: " + x) < x < (Prompt("Write Red") "Blue")

33 Timer u Rwait is a special site n When invoked with parameter t, it publishes a signal after t milliseconds "immediately" Rwait(3000) >> "..three seconds later.." Rwait(5000) >> "..five seconds later.."

34 A metronome def metronomen(i) = i Rwait(1000) >> metronomen(i+1) metronomen(0) def is used for expression definitions

35 Some real Web Service u HTTP requests: def randombytes(n) = val location = " 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)

36 Some real Web Service u Libraries are available that use Web Services as ORC sites: include "net.inc" GoogleGeocoder("Bertinoro") Publish a list of hits include "search.inc" Google("Sangiovese") > x > each(x) Publish the single elements in a list

37 Some real Web Service u Libraries are available that expose Web Services as ORC sites: include "net.inc" val BingSpell = BingSpellFactoryPropertyFile ("orc/orchard/orchard.properties") BingSpell("beutiful bertinoro!")

38 Exercise u Ask the user for a string and then.. u.. print the spell checked version of the string, if this can be done in less than 250ms, or print the typed string

39 Exercise u Ask the user for a string and then.. u.. print the spell checked version of the string, if this can be done in less than 250ms, or print the typed string include "net.inc" val BingSpell = BingSpellFactoryPropertyFile ("orc/orchard/orchard.properties") Println(y) < y < ( Prompt("Input a string: ") > x > ( BingSpell(x) (Rwait(250) >> x) ) )

40 ORC: conclusion u ORC is an example of a language: n Specifically designed for service-oriented programming n Developed starting from a formally defined calculus n Particularly tailored for service orchestration w The orchestrator is the unique point of invocation for the other services

41 WS-BPEL u The most famous orchestration language is WS-BPEL n Web Service Business Process Execution Language: result of the effort of industries like IBM, Microsoft, ORACLE, SAP, n XML based language, including many different constructs, inherited from several predecessors of single companies in the consortium

42 Difficult XML syntax...

43 easier graphical notations u WS-BPEL has a complex XML syntax, but frontend graphic notations (similar to BPMN) have been designed

Architecture as coordination: the Orc perspective

Architecture as coordination: the Orc perspective Architecture as coordination: the Orc perspective L.S. Barbosa Dept. Informática, Universidade do Minho Braga, Portugal DI-CCTC, UM, 2009 Introduction Basic calculus Functional core Orc(hestration) examples

More information

Computation Orchestration

Computation Orchestration Software & Systems Modeling (will be inserted by the editor manuscript No. Jayadev Misra and William R. Cook Computation Orchestration A Basis for Wide-Area Computing Received: date / Accepted: date Abstract

More information

Orc and ACL2. Nathan Wetzler May 4, University of Texas, Austin

Orc and ACL2. Nathan Wetzler May 4, University of Texas, Austin Orc and ACL2 Nathan Wetzler nwetzler@cs.utexas.edu University of Texas, Austin May 4, 2008 Outline Orc Problem Overview of Orc Sites Combinators Parallel Combinator Sequential Combinator Pruning Combinator

More information

Orchestration vs Choreography

Orchestration vs Choreography Orchestration vs Choreography u In many cases, there is no unique point of invocation for the services n In these cases, we say that the system is a choreography n Let starts with an example: w Consider

More information

ActiveVOS Technologies

ActiveVOS Technologies ActiveVOS Technologies ActiveVOS Technologies ActiveVOS provides a revolutionary way to build, run, manage, and maintain your business applications ActiveVOS is a modern SOA stack designed from the top

More information

Describing Simulations in the Orc Programming Language

Describing Simulations in the Orc Programming Language Describing Simulations in the Orc Programming Language David Kitchin, Adrian Quark, Jayadev Misra Department of Computer Science University of Texas at Austin 23rd ACM/IEEE/SCS Workshop on Principles of

More information

Paradigms of computer programming

Paradigms of computer programming Paradigms of computer programming Louv1.1x and Louv1.2x form a two-course sequence Together they teach programming as a unified discipline that covers all programming languages Second-year university level:

More information

Business Process Modelling & Semantic Web Services

Business Process Modelling & Semantic Web Services Business Process Modelling & Semantic Web Services Charlie Abela Department of Artificial Intelligence charlie.abela@um.edu.mt Last Lecture Web services SOA Problems? CSA 3210 Last Lecture 2 Lecture Outline

More information

Jade: Java Agent DEvelopment Framework Overview

Jade: Java Agent DEvelopment Framework Overview Jade: Java Agent DEvelopment Framework Overview Stefano Mariani s.mariani@unibo.it Dipartimento di Informatica Scienza e Ingegneria (DISI) Alma Mater Studiorum Università di Bologna a Cesena Academic Year

More information

Enterprise System Integration. Lecture 10: Implementing Process-Centric Composite Services in BPEL

Enterprise System Integration. Lecture 10: Implementing Process-Centric Composite Services in BPEL MTAT.03.229 Enterprise System Integration Lecture 10: Implementing Process-Centric Composite Services in BPEL Marlon Dumas marlon. dumas ät ut. ee Questions about reading material Week 8: Zimmermann, Doubrovski,

More information

Business Process Management Seminar 2007/ Oktober 2007

Business Process Management Seminar 2007/ Oktober 2007 Business Process Management Seminar 2007/2008 22. Oktober 2007 Process 2 Today Presentation of topics Deadline 29.10.2007 9:00 Rank up to 3 topics - send to hagen.overdick@hpi.uni-potsdam.de 3.12.2007

More information

Compensations in Orchestration Languages

Compensations in Orchestration Languages Compensations in Orchestration Languages Retry Limit Exceeded Notify Customer Invalid CC Booking Booking Book Flight Get Credit Card Information Cancel Flight Charge Credit Card Book Hotel Cancel Hotel

More information

Software Service Engineering

Software Service Engineering Software Service Engineering Lecture 4: Service Modeling Doctor Guangyu Gao Some contents and notes selected from Service Oriented Architecture by Michael McCarthy 1. Place in Service Lifecycle 2 Content

More information

BPEL Research. Tuomas Piispanen Comarch

BPEL Research. Tuomas Piispanen Comarch BPEL Research Tuomas Piispanen 8.8.2006 Comarch Presentation Outline SOA and Web Services Web Services Composition BPEL as WS Composition Language Best BPEL products and demo What is a service? A unit

More information

Com S 541. Programming Languages I

Com S 541. Programming Languages I Programming Languages I Lecturer: TA: Markus Lumpe Department of Computer Science 113 Atanasoff Hall http://www.cs.iastate.edu/~lumpe/coms541.html TR 12:40-2, W 5 Pramod Bhanu Rama Rao Office hours: TR

More information

MTAT Enterprise System Integration. Lecture 10. Process-Centric Services: Design & Implementation

MTAT Enterprise System Integration. Lecture 10. Process-Centric Services: Design & Implementation MTAT.03.229 Enterprise System Integration Lecture 10. Process-Centric Services: Design & Implementation Marlon Dumas marlon. dumas ät ut. ee SOA Lifecycle Solution Architect Service & Process Design Service

More information

Introduction to MDE and Model Transformation

Introduction to MDE and Model Transformation Vlad Acretoaie Department of Applied Mathematics and Computer Science Technical University of Denmark rvac@dtu.dk DTU Course 02291 System Integration Vlad Acretoaie Department of Applied Mathematics and

More information

Programming language design and analysis

Programming language design and analysis Programming language design and analysis Introduction Marius Minea 25 September 2017 Why this course? Programming languages are fundamental and one of the oldest CS fields Language design is an important

More information

Written Presentation: JoCaml, a Language for Concurrent Distributed and Mobile Programming

Written Presentation: JoCaml, a Language for Concurrent Distributed and Mobile Programming Written Presentation: JoCaml, a Language for Concurrent Distributed and Mobile Programming Nicolas Bettenburg 1 Universitaet des Saarlandes, D-66041 Saarbruecken, nicbet@studcs.uni-sb.de Abstract. As traditional

More information

CS 242. Fundamentals. Reading: See last slide

CS 242. Fundamentals. Reading: See last slide CS 242 Fundamentals Reading: See last slide Syntax and Semantics of Programs Syntax The symbols used to write a program Semantics The actions that occur when a program is executed Programming language

More information

RESTful Web service composition with BPEL for REST

RESTful Web service composition with BPEL for REST RESTful Web service composition with BPEL for REST Cesare Pautasso Data & Knowledge Engineering (2009) 2010-05-04 Seul-Ki Lee Contents Introduction Background Design principles of RESTful Web service BPEL

More information

Simulation using Orchestration

Simulation using Orchestration Simulation using Orchestration (Extended Abstract) David Kitchin, Evan Powell, and Jayadev Misra The University of Texas at Austin Abstract. The real world is inherently concurrent and temporal. For simulating

More information

March 2, Homepage:

March 2, Homepage: Action Semantics for an Executable UML Thomas Feng March 2, 2003 Email: thomas@email.com.cn Homepage: http://moncs.cs.mcgill.ca/people/tfeng/ Why are we interested in semantics? Other than syntax, the

More information

Course on Probabilistic Methods in Concurrency. (Concurrent Languages for Probabilistic Asynchronous Communication) Lecture 1

Course on Probabilistic Methods in Concurrency. (Concurrent Languages for Probabilistic Asynchronous Communication) Lecture 1 Course on Probabilistic Methods in Concurrency (Concurrent Languages for Probabilistic Asynchronous Communication) Lecture 1 The pi-calculus and the asynchronous pi-calculus. Catuscia Palamidessi INRIA

More information

LISP Programming. (23 (this is easy) hello 821)

LISP Programming. (23 (this is easy) hello 821) LISP Programming LISP is one of the simplest computer languages in terms of syntax and semantics, and also one of the most powerful. It was developed in the mid-1950 s by John McCarthy at M.I.T. as a LISt

More information

CS370 Operating Systems

CS370 Operating Systems CS370 Operating Systems Colorado State University Yashwant K Malaiya Spring 2018 Lecture 8 Threads and Scheduling Slides based on Text by Silberschatz, Galvin, Gagne Various sources 1 1 FAQ How many threads

More information

Jade: Java Agent DEvelopment Framework Overview

Jade: Java Agent DEvelopment Framework Overview Jade: Java Agent DEvelopment Framework Overview Multiagent Systems LM Sistemi Multiagente LM Stefano Mariani revised by Andrea Omicini s.mariani@unibo.it, andrea.omicini@unibo.it Dipartimento di Informatica:

More information

Lesson 10 BPEL Introduction

Lesson 10 BPEL Introduction Lesson 10 BPEL Introduction Service Oriented Architectures Module 1 - Basic technologies Unit 5 BPEL Ernesto Damiani Università di Milano Service-Oriented Architecture Orchestration Requirements Orchestration

More information

SCHOOL: a Small Chorded Object-Oriented Language

SCHOOL: a Small Chorded Object-Oriented Language SCHOOL: a Small Chorded Object-Oriented Language S. Drossopoulou, A. Petrounias, A. Buckley, S. Eisenbach { s.drossopoulou, a.petrounias, a.buckley, s.eisenbach } @ imperial.ac.uk Department of Computing,

More information

1 Copyright 2011, Oracle and/or its affiliates. All rights reserved.

1 Copyright 2011, Oracle and/or its affiliates. All rights reserved. 1 Copyright 2011, Oracle and/or its affiliates. All rights Web Services and SOA Integration Options for Oracle E-Business Suite Rajesh Ghosh, Group Manager, Applications Technology Group Abhishek Verma,

More information

Service Oriented Architectures Visions Concepts Reality

Service Oriented Architectures Visions Concepts Reality Service Oriented Architectures Visions Concepts Reality CSC March 2006 Alexander Schatten Vienna University of Technology Vervest und Heck, 2005 A Service Oriented Architecture enhanced by semantics, would

More information

SERVICE-ORIENTED COMPUTING

SERVICE-ORIENTED COMPUTING THIRD EDITION (REVISED PRINTING) SERVICE-ORIENTED COMPUTING AND WEB SOFTWARE INTEGRATION FROM PRINCIPLES TO DEVELOPMENT YINONG CHEN AND WEI-TEK TSAI ii Table of Contents Preface (This Edition)...xii Preface

More information

This presentation is a primer on the BPEL Language. It s part of our series to help prepare you for creating BPEL projects. We recommend you review

This presentation is a primer on the BPEL Language. It s part of our series to help prepare you for creating BPEL projects. We recommend you review This presentation is a primer on the BPEL Language. It s part of our series to help prepare you for creating BPEL projects. We recommend you review this before taking an ActiveVOS course or before you

More information

Connecting Plasma to Service-oriented programming with JOLIE

Connecting Plasma to Service-oriented programming with JOLIE Connecting Plasma to Service-oriented programming with JOLIE Fabrizio Montesi italianasoftware s.r.l., Italy Joint work with Kévin Ottens Aaron Seigo

More information

A Technical Comparison of XPDL, BPML and BPEL4WS

A Technical Comparison of XPDL, BPML and BPEL4WS A Technical Comparison of XPDL, BPML and BPEL4WS Robert Shapiro 1 Introduction XML-based business process languages represent a new approach to expressing abstract and executable processes that address

More information

7. Introduction to Denotational Semantics. Oscar Nierstrasz

7. Introduction to Denotational Semantics. Oscar Nierstrasz 7. Introduction to Denotational Semantics Oscar Nierstrasz Roadmap > Syntax and Semantics > Semantics of Expressions > Semantics of Assignment > Other Issues References > D. A. Schmidt, Denotational Semantics,

More information

Verification and Validation. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 22 Slide 1

Verification and Validation. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 22 Slide 1 Verification and Validation Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 22 Slide 1 Verification vs validation Verification: "Are we building the product right?. The software should

More information

Lesson 19 Software engineering aspects

Lesson 19 Software engineering aspects Lesson 19 Software engineering aspects Service Oriented Architectures Security Module 4 - Architectures Unit 1 Architectural features Ernesto Damiani Università di Milano SOA is HAD HAD is an old concept

More information

An Introduction to Functions

An Introduction to Functions Chapter 4 An Introduction to Functions Through the agency of with, we have added identifiers and the ability to name expressions to the language. Much of the time, though, simply being able to name an

More information

A Formal Model for Web-Service Composition

A Formal Model for Web-Service Composition Simon Foster Department of Computer Science University of Sheffield http://www.dcs.shef.ac.uk/~simonf BCTCS 2006 Outline 1 Composing Web-Services Current Technologies 2 3 4 Outline

More information

Programming Safe Agents in Blueprint. Alex Muscar University of Craiova

Programming Safe Agents in Blueprint. Alex Muscar University of Craiova Programming Safe Agents in Blueprint Alex Muscar University of Craiova Programmers are craftsmen, and, as such, they are only as productive as theirs tools allow them to be Introduction Agent Oriented

More information

We are ready to serve Latest Testing Trends, Are you ready to learn? New Batch Details

We are ready to serve Latest Testing Trends, Are you ready to learn? New Batch Details We are ready to serve Latest Testing Trends, Are you ready to learn? START DATE : New Batch Details TIMINGS : DURATION : TYPE OF BATCH : FEE : FACULTY NAME : LAB TIMINGS : SOAP UI, SOA Testing, API Testing,

More information

Asynchronous Web Services: From JAX-RPC to BPEL

Asynchronous Web Services: From JAX-RPC to BPEL Asynchronous Web Services: From JAX-RPC to BPEL Jonathan Maron Oracle Corporation Page Agenda Loose versus Tight Coupling Asynchronous Web Services Today Asynchronous Web Service Standards WS-Reliability/WS-ReliableMessaging

More information

Editor. Analyser XML. Scheduler. generator. Code Generator Code. Scheduler. Analyser. Simulator. Controller Synthesizer.

Editor. Analyser XML. Scheduler. generator. Code Generator Code. Scheduler. Analyser. Simulator. Controller Synthesizer. TIMES - A Tool for Modelling and Implementation of Embedded Systems Tobias Amnell, Elena Fersman, Leonid Mokrushin, Paul Pettersson, and Wang Yi? Uppsala University, Sweden Abstract. Times is a new modelling,

More information

Structured Interacting Computations

Structured Interacting Computations Structured Interacting Computations (A position paper) William Cook and Jayadev Misra The University of Texas at Austin Abstract. Today, concurrency is ubiquitous, in desktop applications, client-server

More information

Using Xml Schemas Effectively In Wsdl Design

Using Xml Schemas Effectively In Wsdl Design Using Xml Schemas Effectively In Wsdl Design I can recommend an article about contract-first service design using the MS stack qualified/unqualified when validating xml against a WSDL (xsd schema) How

More information

A timed semantics of Orc

A timed semantics of Orc Theoretical Computer Science 402 (2008) 234 248 Contents lists available at ScienceDirect Theoretical Computer Science journal homepage: www.elsevier.com/locate/tcs A timed semantics of Orc Ian Wehrman,

More information

TIMES A Tool for Modelling and Implementation of Embedded Systems

TIMES A Tool for Modelling and Implementation of Embedded Systems TIMES A Tool for Modelling and Implementation of Embedded Systems Tobias Amnell, Elena Fersman, Leonid Mokrushin, Paul Pettersson, and Wang Yi Uppsala University, Sweden. {tobiasa,elenaf,leom,paupet,yi}@docs.uu.se.

More information

Programming Systems in Artificial Intelligence Functional Programming

Programming Systems in Artificial Intelligence Functional Programming Click to add Text Programming Systems in Artificial Intelligence Functional Programming Siegfried Nijssen 8/03/16 Discover thediscover world at the Leiden world University at Leiden University Overview

More information

JBossESB GA. Service Orchestration Guide JBESB-SOG-10/31/07

JBossESB GA. Service Orchestration Guide JBESB-SOG-10/31/07 JBossESB 4.2.1 GA Service Orchestration Guide JBESB-SOG-10/31/07 JBESB-SOG-10/31/07 Legal Notices The information contained in this documentation is subject to change without notice. JBoss Inc. makes

More information

UniLFS: A Unifying Logical Framework for Service Modeling and Contracting

UniLFS: A Unifying Logical Framework for Service Modeling and Contracting UniLFS: A Unifying Logical Framework for Service Modeling and Contracting RuleML 2103: 7th International Web Rule Symposium July 11-13, 2013 Dumitru Roman 1 and Michael Kifer 2 1 SINTEF / University of

More information

BEAAquaLogic. Service Bus. JPD Transport User Guide

BEAAquaLogic. Service Bus. JPD Transport User Guide BEAAquaLogic Service Bus JPD Transport User Guide Version: 3.0 Revised: March 2008 Contents Using the JPD Transport WLI Business Process......................................................2 Key Features.............................................................2

More information

BPEL-controlled frontends. A process-based pageflow solution. Ingo Meier SOA Competence Center OPITZ CONSULTING

BPEL-controlled frontends. A process-based pageflow solution. Ingo Meier SOA Competence Center OPITZ CONSULTING BPEL-controlled frontends A process-based pageflow solution Ingo Meier SOA Competence Center 1 Agenda Introduction and Motivation Options: User interaction + BPEL A solution proof of concept Pro and contra,

More information

Lecture Notes course Software Development of Web Services

Lecture Notes course Software Development of Web Services Lecture Notes course 02267 Software Development of Web Services Hubert Baumeister huba@dtu.dk Fall 2014 Contents 1 Business Processes 1 2 BPEL 7 3 BPEL and NetBeans 10 4 A BPEL Process as a Web service

More information

Verifying Concurrent ML programs

Verifying Concurrent ML programs Verifying Concurrent ML programs a research proposal Gergely Buday Eszterházy Károly University Gyöngyös, Hungary Synchron 2016 Bamberg December 2016 Concurrent ML is a synchronous language a CML program

More information

Fault in the Future. Ivan Lanese Computer Science Department University of Bologna/INRIA Italy

Fault in the Future. Ivan Lanese Computer Science Department University of Bologna/INRIA Italy Fault in the Future Ivan Lanese Computer Science Department University of Bologna/INRIA Italy Joint work with Gianluigi Zavattaro and Einar Broch Johnsen From COORDINATION 2011 Error handling Unexpected,

More information

Active Endpoints. ActiveVOS Platform Architecture Active Endpoints

Active Endpoints. ActiveVOS Platform Architecture Active Endpoints Active Endpoints ActiveVOS Platform Architecture ActiveVOS Unique process automation platforms to develop, integrate, and deploy business process applications quickly User Experience Easy to learn, use

More information

INRIA ADT galaxy An open agile SOA platform

INRIA ADT galaxy An open agile SOA platform 1 INRIA ADT galaxy An open agile SOA platform Alain Boulze Tuvalu team & galaxy lead Séminaire IN Tech INRIA Montbonnot - 12-nov-2009 galaxy, an open SOA R&D platform enabling agility 2 Open An open internal

More information

LECTURE 16. Functional Programming

LECTURE 16. Functional Programming LECTURE 16 Functional Programming WHAT IS FUNCTIONAL PROGRAMMING? Functional programming defines the outputs of a program as a mathematical function of the inputs. Functional programming is a declarative

More information

Foundations. Yu Zhang. Acknowledgement: modified from Stanford CS242

Foundations. Yu Zhang. Acknowledgement: modified from Stanford CS242 Spring 2013 Foundations Yu Zhang Acknowledgement: modified from Stanford CS242 https://courseware.stanford.edu/pg/courses/317431/ Course web site: http://staff.ustc.edu.cn/~yuzhang/fpl Reading Concepts

More information

What is a compiler? var a var b mov 3 a mov 4 r1 cmpi a r1 jge l_e mov 2 b jmp l_d l_e: mov 3 b l_d: ;done

What is a compiler? var a var b mov 3 a mov 4 r1 cmpi a r1 jge l_e mov 2 b jmp l_d l_e: mov 3 b l_d: ;done What is a compiler? What is a compiler? Traditionally: Program that analyzes and translates from a high level language (e.g., C++) to low-level assembly language that can be executed by hardware int a,

More information

Part 5. Verification and Validation

Part 5. Verification and Validation Software Engineering Part 5. Verification and Validation - Verification and Validation - Software Testing Ver. 1.7 This lecture note is based on materials from Ian Sommerville 2006. Anyone can use this

More information

CYES-C++: A Concurrent Extension of C++ through Compositional Mechanisms

CYES-C++: A Concurrent Extension of C++ through Compositional Mechanisms CYES-C++: A Concurrent Extension of C++ through Compositional Mechanisms Raju Pandey J. C. Browne Department of Computer Sciences The University of Texas at Austin Austin, TX 78712 fraju, browneg@cs.utexas.edu

More information

Web Services Choreography and Process Algebra

Web Services Choreography and Process Algebra Web Services Choreography and Process Algebra 29th April 2004 Steve Ross-Talbot Chief Scientist, Enigmatec Corporation Ltd Chair W3C Web Services Activity Co-chair W3C Web Services Choreography Agenda

More information

Oracle Integration Cloud Service Project. Author: Gopinath Soundarrajan Oracle Infrastructure Cloud Architect Date: 03/Dec/2016

Oracle Integration Cloud Service Project. Author: Gopinath Soundarrajan Oracle Infrastructure Cloud Architect Date: 03/Dec/2016 Oracle Integration Cloud Service Project Author: Gopinath Soundarrajan Oracle Infrastructure Cloud Architect Date: 03/Dec/2016 Oracle Java Cloud Service Project Oracle Java Cloud Service Project Integration

More information

Using LNT Formal Descriptions for Model-Based Diagnosis

Using LNT Formal Descriptions for Model-Based Diagnosis Using LNT Formal Descriptions for Model-Based Diagnosis Birgit Hofer 1, Radu Mateescu 2, Wendelin Serwe 2, and Franz Wotawa 1 1 TU Graz, Institute for Software Technology 2 Univ. Grenoble Alpes, Inria,

More information

Towards a formal framework for Choreography

Towards a formal framework for Choreography 1 Towards a formal framework for Choreography Nadia Busi, Roberto Gorrieri, Claudio Guidi, Roberto Lucchi and Gianluigi Zavattaro Department of Computer Science Mura Anteo Zamboni, 7 40127 Bologna - Italy

More information

1Z Oracle. Java Platform Enterprise Edition 6 Enterprise JavaBeans Developer Certified Expert

1Z Oracle. Java Platform Enterprise Edition 6 Enterprise JavaBeans Developer Certified Expert Oracle 1Z0-895 Java Platform Enterprise Edition 6 Enterprise JavaBeans Developer Certified Expert Download Full Version : http://killexams.com/pass4sure/exam-detail/1z0-895 Answer: F QUESTION: 284 Given:

More information

Monitoring services on Enterprise Service Bus

Monitoring services on Enterprise Service Bus Monitoring services on Enterprise Service Bus Ilona Bluemke, Marcin Warda Institute of Computer Science, Warsaw University of Technology, Nowowiejska 15/19, 00-665 Warsaw, Poland {I.Bluemke}@ii.pw.edu.pl

More information

Module 8. Other representation formalisms. Version 2 CSE IIT, Kharagpur

Module 8. Other representation formalisms. Version 2 CSE IIT, Kharagpur Module 8 Other representation formalisms Lesson 21 Frames II Slots as Objects How can we to represent the following properties in frames? Attributes such as weight, age be attached and make sense. Constraints

More information

COP4020 Programming Languages. Functional Programming Prof. Robert van Engelen

COP4020 Programming Languages. Functional Programming Prof. Robert van Engelen COP4020 Programming Languages Functional Programming Prof. Robert van Engelen Overview What is functional programming? Historical origins of functional programming Functional programming today Concepts

More information

3rd Lecture Languages for information modeling

3rd Lecture Languages for information modeling 3rd Lecture Languages for information modeling Agenda Languages for information modeling UML UML basic concepts Modeling by UML diagrams CASE tools: concepts, features and objectives CASE toolset architecture

More information

What Is Computer Science? The Scientific Study of Computation. Expressing or Describing

What Is Computer Science? The Scientific Study of Computation. Expressing or Describing What Is Computer Science? The Scientific Study of Computation CMPSCI 630: Programming Languages Introduction Spring 2009 (with thanks to Robert Harper) Expressing or Describing Automating Understanding

More information

Building Distributed Access Control System Using Service-Oriented Programming Model

Building Distributed Access Control System Using Service-Oriented Programming Model Building Distributed Access Control System Using Service-Oriented Programming Model Ivan Zuzak, Sinisa Srbljic School of Electrical Engineering and Computing, University of Zagreb, Croatia ivan.zuzak@fer.hr,

More information

Functional Programming and the Web

Functional Programming and the Web June 13, 2011 About Me Undergraduate: University of Illinois at Champaign-Urbana PhD: Penn State University Retrofitting Programs for Complete Security Mediation Static analysis, type-based compiler Racker:

More information

Programming Languages 2nd edition Tucker and Noonan"

Programming Languages 2nd edition Tucker and Noonan Programming Languages 2nd edition Tucker and Noonan" " Chapter 1" Overview" " A good programming language is a conceptual universe for thinking about programming. " " " " " " " " " " " " "A. Perlis" "

More information

Introduction to Model Checking

Introduction to Model Checking Introduction to Model Checking René Thiemann Institute of Computer Science University of Innsbruck WS 2007/2008 RT (ICS @ UIBK) week 4 1/23 Outline Promela - Syntax and Intuitive Meaning Promela - Formal

More information

Chapter 1: Introduction

Chapter 1: Introduction Chapter 1: Introduction Database System Concepts, 6 th Ed. See www.db-book.com for conditions on re-use Outline The Need for Databases Data Models Relational Databases Database Design Storage Manager Query

More information

Implementation Outline for Orc

Implementation Outline for Orc Implementation Outline for Orc William Cook, Jayadev Misra September 27, 2005 Contents 1 Implementation 1 2 Compiler 2 3 Dag Traversal 4 3.1 Overview of Traversal........................ 4 4 Evaluation

More information

Evaluation of Web Service Compositions. Thiago Rodrigues Colucci

Evaluation of Web Service Compositions. Thiago Rodrigues Colucci Evaluation of Web Service Compositions Thiago Rodrigues Colucci 1 Web Services Web services are application components Web services communicate using open protocols Web services are self-contained and

More information

Semantics via Syntax. f (4) = if define f (x) =2 x + 55.

Semantics via Syntax. f (4) = if define f (x) =2 x + 55. 1 Semantics via Syntax The specification of a programming language starts with its syntax. As every programmer knows, the syntax of a language comes in the shape of a variant of a BNF (Backus-Naur Form)

More information

Observability and Controllability Issues in Conformance Testing of Web Service Compositions

Observability and Controllability Issues in Conformance Testing of Web Service Compositions Observability and Controllability Issues in Conformance Testing of Web Service Compositions Jose Pablo Escobedo 1, Christophe Gaston 2, Pascale Le Gall 3 and Ana Cavalli 1 1 TELECOM & Management SudParis

More information

Advantages of concurrent programs. Concurrent Programming Actors, SALSA, Coordination Abstractions. Overview of concurrent programming

Advantages of concurrent programs. Concurrent Programming Actors, SALSA, Coordination Abstractions. Overview of concurrent programming Concurrent Programming Actors, SALSA, Coordination Abstractions Carlos Varela RPI November 2, 2006 C. Varela 1 Advantages of concurrent programs Reactive programming User can interact with applications

More information

02267: Software Development of Web Services

02267: Software Development of Web Services 02267: Software Development of Web Services Week 5 Hubert Baumeister huba@dtu.dk Department of Applied Mathematics and Computer Science Technical University of Denmark Fall 2016 1 Recap XML Schema Complex

More information

02267: Software Development of Web Services

02267: Software Development of Web Services 02267: Software Development of Web Services Week 1 Hubert Baumeister huba@dtu.dk Department of Applied Mathematics and Computer Science Technical University of Denmark Fall 2013 Contents Course Introduction

More information

Applying UML Modeling and MDA to Real-Time Software Development

Applying UML Modeling and MDA to Real-Time Software Development Michael Benkel Aonix GmbH www.aonix.de michael.benkel@aonix.de Applying UML Modeling and MDA to Real-Time Software Development The growing complexity of embedded real-time applications requires presentation

More information

CITS5501 Software Testing and Quality Assurance Formal methods

CITS5501 Software Testing and Quality Assurance Formal methods CITS5501 Software Testing and Quality Assurance Formal methods Unit coordinator: Arran Stewart May 1, 2018 1 / 49 Sources Pressman, R., Software Engineering: A Practitioner s Approach, McGraw-Hill, 2005

More information

DS 2009: middleware. David Evans

DS 2009: middleware. David Evans DS 2009: middleware David Evans de239@cl.cam.ac.uk What is middleware? distributed applications middleware remote calls, method invocations, messages,... OS comms. interface sockets, IP,... layer between

More information

Alternatives to programming

Alternatives to programming Alternatives to programming Wednesday, December 05, 2012 11:06 AM Alternatives to programming Force provides a radically different model of "programming" Web forms. Privilege-based access. Event-Condition-Action

More information

Concepts of Programming Languages

Concepts of Programming Languages Concepts of Programming Languages Lecture 1 - Introduction Patrick Donnelly Montana State University Spring 2014 Patrick Donnelly (Montana State University) Concepts of Programming Languages Spring 2014

More information

Oracle SOA Suite 11g: Build Composite Applications

Oracle SOA Suite 11g: Build Composite Applications Oracle University Contact Us: 1.800.529.0165 Oracle SOA Suite 11g: Build Composite Applications Duration: 5 Days What you will learn This course covers designing and developing SOA composite applications

More information

Formal Model of Web Service Composition: An Actor-Based Approach to Unifying Orchestration and Choreography

Formal Model of Web Service Composition: An Actor-Based Approach to Unifying Orchestration and Choreography An English Draft of Dr. Yong Wang arxiv:1312.0677v1 [cs.se] 3 Dec 2013 Formal Model of Web Service Composition: An Actor-Based Approach to Unifying Orchestration and Choreography Yong Wang College of Computer

More information

Network Programmability with Cisco Application Centric Infrastructure

Network Programmability with Cisco Application Centric Infrastructure White Paper Network Programmability with Cisco Application Centric Infrastructure What You Will Learn This document examines the programmability support on Cisco Application Centric Infrastructure (ACI).

More information

Balance between Formal and Informal Methods, Engineering and Artistry, Evolution and Rebuild

Balance between Formal and Informal Methods, Engineering and Artistry, Evolution and Rebuild Balance between Formal and Informal Methods, Engineering and Artistry, Evolution and Rebuild Edward A. Lee, Professor, UC Berkeley, eal@eecs.berkeley.edu Technical Memorandum UCB/ERL M04/19 July 4, 2004

More information

Decentralization of BPEL Using Various Processes.

Decentralization of BPEL Using Various Processes. Decentralization of BPEL Using Various Processes. A.V.A Sushama Sarvani M.Tech Student, Department of CSE Vignan'sNirula Institute of Technology and Science for Women, Pedapalakaluru, Guntur-522 005 ABSTRACT:

More information

Chapter 4: Threads. Chapter 4: Threads. Overview Multicore Programming Multithreading Models Thread Libraries Implicit Threading Threading Issues

Chapter 4: Threads. Chapter 4: Threads. Overview Multicore Programming Multithreading Models Thread Libraries Implicit Threading Threading Issues Chapter 4: Threads Silberschatz, Galvin and Gagne 2013 Chapter 4: Threads Overview Multicore Programming Multithreading Models Thread Libraries Implicit Threading Threading Issues 4.2 Silberschatz, Galvin

More information

Today: Distributed Middleware. Middleware

Today: Distributed Middleware. Middleware Today: Distributed Middleware Middleware concepts Case study: CORBA Lecture 24, page 1 Middleware Software layer between application and the OS Provides useful services to the application Abstracts out

More information

Hippo Software BPMN and UML Training

Hippo Software BPMN and UML Training Hippo Software BPMN and UML Training Icon Key: www.hippo-software.co.uk Teaches theory concepts and notation Teaches practical use of Enterprise Architect Covers BPMN, UML, SysML, ArchiMate Includes paper

More information

A Language-based Approach to Interoperability of IoT Platforms

A Language-based Approach to Interoperability of IoT Platforms COLLECTOR CoAP TEMPERATURE SENSOR HTTP/FTP/SMTP UDP Set Temperature 70 ºF Get Temperature 68 ºF END TO END PATTERN PUBLISH/SUBSCRIBE PATTERN HVAC COLLECTOR TEMPERATURE SENSOR HVAC TCP/UDP TEMPERATURE SENSOR

More information

An Overview on Protocol Adaptors for Service Component Integration

An Overview on Protocol Adaptors for Service Component Integration An Overview on Protocol Adaptors for Service Component Integration R. Seguel 1, R. Eshuis, P. Grefen Information Systems Group, School of Industrial Engineering, Eindhoven University of Technology, The

More information